From 41c067a2550cb576924f129002092ffc976bed61 Mon Sep 17 00:00:00 2001 From: Dmitry Date: Fri, 16 Feb 2018 13:32:59 -0500 Subject: [PATCH] Add line select baseline --- src/traces/scattergl/index.js | 19 ++++++++++++------- test/image/mocks/gl2d_line_select.json | 14 ++++++++++++++ 2 files changed, 26 insertions(+), 7 deletions(-) create mode 100644 test/image/mocks/gl2d_line_select.json diff --git a/src/traces/scattergl/index.js b/src/traces/scattergl/index.js index 71e36b627b2..faf4759b088 100644 --- a/src/traces/scattergl/index.js +++ b/src/traces/scattergl/index.js @@ -591,7 +591,7 @@ function sceneUpdate(container, subplot) { } // draw traces in selection mode - if(scene.select2d && scene.selectBatch) { + if(scene.scatter2d && scene.select2d && scene.selectBatch) { scene.select2d.draw(scene.selectBatch); scene.scatter2d.draw(scene.unselectBatch); } @@ -947,12 +947,17 @@ function plot(container, subplot, cdata) { scene.select2d = createScatter(layout._glcanvas.data()[1].regl, {clone: scene.scatter2d}); } - // update only traces with selection - scene.scatter2d.update(scene.unselectedOptions.map(function(opts, i) { - return scene.selectBatch[i] ? opts : null; - })); - scene.select2d.update(scene.markerOptions); - scene.select2d.update(scene.selectedOptions); + if(scene.scatter2d) { + // update only traces with selection + scene.scatter2d.update(scene.unselectedOptions.map(function(opts, i) { + return scene.selectBatch[i] ? opts : null; + })); + } + + if(scene.select2d) { + scene.select2d.update(scene.markerOptions); + scene.select2d.update(scene.selectedOptions); + } } // uploat viewport/range data to GPU diff --git a/test/image/mocks/gl2d_line_select.json b/test/image/mocks/gl2d_line_select.json new file mode 100644 index 00000000000..4ad466bf6a6 --- /dev/null +++ b/test/image/mocks/gl2d_line_select.json @@ -0,0 +1,14 @@ +{ + "data": [{ + "type": "scattergl", + "mode": "lines", + "x": [1, 2, 3], + "y": [1, 2, 1] + }], + "layout": { + "dragmode": "select", + "showlegend": false, + "width": 400, + "height": 400 + } +}