diff --git a/test/jasmine/tests/annotations_test.js b/test/jasmine/tests/annotations_test.js index 94b7c9f2fff..308efc2ffa3 100644 --- a/test/jasmine/tests/annotations_test.js +++ b/test/jasmine/tests/annotations_test.js @@ -1050,7 +1050,7 @@ describe('annotation effects', function() { afterEach(destroyGraphDiv); function dragAndReplot(node, dx, dy, edge) { - return drag(node, dx, dy, edge).then(function() { + return drag({node: node, dpos: [dx, dy], edge: edge}).then(function() { return Plots.previousPromises(gd); }); } diff --git a/test/jasmine/tests/cartesian_interact_test.js b/test/jasmine/tests/cartesian_interact_test.js index 20d1394452c..17b3b05ace7 100644 --- a/test/jasmine/tests/cartesian_interact_test.js +++ b/test/jasmine/tests/cartesian_interact_test.js @@ -329,7 +329,7 @@ describe('axis zoom/pan and main plot zoom', function() { function doDrag(subplot, directions, dx, dy, nsteps) { return function() { var dragger = getDragger(subplot, directions); - return drag(dragger, dx, dy, undefined, undefined, undefined, nsteps); + return drag({node: dragger, dpos: [dx, dy], nsteps: nsteps}); }; } @@ -359,7 +359,7 @@ describe('axis zoom/pan and main plot zoom', function() { function makeDragFns(subplot, directions, dx, dy, x0, y0) { var dragger = getDragger(subplot, directions); - return drag.makeFns(dragger, dx, dy, {x0: x0, y0: y0}); + return drag.makeFns({node: dragger, dpos: [dx, dy], pos0: [x0, y0]}); } describe('subplots with shared axes', function() { diff --git a/test/jasmine/tests/colorbar_test.js b/test/jasmine/tests/colorbar_test.js index 1314d3b6b7c..33091d779ee 100644 --- a/test/jasmine/tests/colorbar_test.js +++ b/test/jasmine/tests/colorbar_test.js @@ -406,7 +406,7 @@ describe('Test colorbar:', function() { expect(gd.data[0].colorbar).toBeUndefined(); expect(gd._fullData[0].colorbar.x).toBe(1.02); expect(gd._fullData[0].colorbar.y).toBe(0.5); - return drag(getCBNode(), -100, 100); + return drag({node: getCBNode(), dpos: [-100, 100]}); }) .then(function() { expect(gd.data[0].colorbar.x).toBeWithin(0.591, 0.01); @@ -426,7 +426,7 @@ describe('Test colorbar:', function() { expect(gd.data[0].marker.colorbar).toBeUndefined(); expect(gd._fullData[0].marker.colorbar.x).toBe(1.02); expect(gd._fullData[0].marker.colorbar.y).toBe(0.5); - return drag(getCBNode(), -100, 100); + return drag({node: getCBNode(), dpos: [-100, 100]}); }) .then(function() { expect(gd.data[0].marker.colorbar.x).toBeWithin(0.591, 0.01); @@ -446,7 +446,7 @@ describe('Test colorbar:', function() { expect(gd.layout.coloraxis.colorbar).toBeUndefined(); expect(gd._fullLayout.coloraxis.colorbar.x).toBe(1.02); expect(gd._fullLayout.coloraxis.colorbar.y).toBe(0.5); - return drag(getCBNode(), -100, 100); + return drag({node: getCBNode(), dpos: [-100, 100]}); }) .then(function() { expect(gd.layout.coloraxis.colorbar.x).toBeWithin(0.591, 0.01); diff --git a/test/jasmine/tests/gl2d_plot_interact_test.js b/test/jasmine/tests/gl2d_plot_interact_test.js index ad0ad94d800..60eca4fdfe4 100644 --- a/test/jasmine/tests/gl2d_plot_interact_test.js +++ b/test/jasmine/tests/gl2d_plot_interact_test.js @@ -403,7 +403,7 @@ describe('Test gl2d plot interactions:', function() { var node = d3.select('.nsewdrag[data-subplot="xy"]').node(); var dx = p1[0] - p0[0]; var dy = p1[1] - p0[1]; - return drag(node, dx, dy, null, p0[0], p0[1]); + return drag({node: node, dpos: [dx, dy], pos0: p0}); } it('@gl should respond to drag interactions', function(done) { diff --git a/test/jasmine/tests/plot_api_react_test.js b/test/jasmine/tests/plot_api_react_test.js index fceacad76c5..3943477fec7 100644 --- a/test/jasmine/tests/plot_api_react_test.js +++ b/test/jasmine/tests/plot_api_react_test.js @@ -1504,8 +1504,7 @@ describe('Plotly.react and uirevision attributes', function() { function editSelection() { // drag across the upper right quadrant, so we'll select // curve 0 point 1 and curve 1 point 2 - return drag(document.querySelector('.nsewdrag'), - 148, 100, '', 150, 102); + return drag({node: document.querySelector('.nsewdrag'), dpos: [148, 100], pos0: [150, 102]}); } var checkNoSelection = checkState([ @@ -1547,8 +1546,7 @@ describe('Plotly.react and uirevision attributes', function() { function editSelection() { // drag across the upper right quadrant, so we'll select // curve 0 point 1 and curve 1 point 2 - return drag(document.querySelector('.nsewdrag'), - 148, 148, '', 150, 102); + return drag({node: document.querySelector('.nsewdrag'), dpos: [148, 148], pos0: [150, 102]}); } var checkNoSelection = checkState([{selectedpoints: undefined}]); @@ -1800,19 +1798,18 @@ describe('Plotly.react and uirevision attributes', function() { } function editTrace() { - var _; return Registry.call('_guiRestyle', gd, {'line.colorbar.title.text': 'color', name: 'name'}, [0] ) .then(function() { - return drag(axisDragNode(0), 0, 50, _, _, _, _, true); + return drag({node: axisDragNode(0), dpos: [0, 50], noCover: true}); }) .then(function() { - return drag(axisDragNode(0), 0, -50, _, _, _, _, true); + return drag({node: axisDragNode(0), dpos: [0, -50], noCover: true}); }) .then(function() { - return drag(axisDragNode(1), 0, -50, _, _, _, _, true); + return drag({node: axisDragNode(1), dpos: [0, -50], noCover: true}); }); } diff --git a/test/jasmine/tests/polar_test.js b/test/jasmine/tests/polar_test.js index 131eb0414ce..e9ada238e78 100644 --- a/test/jasmine/tests/polar_test.js +++ b/test/jasmine/tests/polar_test.js @@ -874,7 +874,7 @@ describe('Test polar interactions:', function() { function _drag(p0, dp) { var node = d3.select('.polar > .draglayer > .maindrag').node(); - return drag(node, dp[0], dp[1], null, p0[0], p0[1]); + return drag({node: node, dpos: dp, pos0: p0}); } function _assertRange(rng, msg) { @@ -984,7 +984,7 @@ describe('Test polar interactions:', function() { // to activate the radial drag mode function _drag(p0, dp) { var node = d3.select('.polar > .draglayer > .radialdrag').node(); - return drag(node, dp[0], dp[1], null, p0[0], p0[1], 2); + return drag({node: node, dpos: dp, pos0: p0, nsteps: 2}); } function _assert(rng, angle, evtRng1, evtAngle, msg) { @@ -1066,7 +1066,7 @@ describe('Test polar interactions:', function() { // to activate the radial drag mode function _drag(p0, dp) { var node = d3.select('.polar > .draglayer > .radialdrag-inner').node(); - return drag(node, dp[0], dp[1], null, p0[0], p0[1], 2); + return drag({node: node, dpos: dp, pos0: p0, nsteps: 2}); } function _assert(rng, msg) { @@ -1105,7 +1105,7 @@ describe('Test polar interactions:', function() { function _drag(p0, dp) { var node = d3.select('.polar > .draglayer > .angulardrag').node(); - return drag(node, dp[0], dp[1], null, p0[0], p0[1]); + return drag({node: node, dpos: dp, pos0: p0}); } function _assert(rot, msg, noEvent) { @@ -1161,14 +1161,14 @@ describe('Test polar interactions:', function() { var node = d3.select('.polar > .draglayer > .radialdrag').node(); var p0 = [375, 200]; var dp = [-50, 0]; - return drag(node, dp[0], dp[1], null, p0[0], p0[1], 2); + return drag({node: node, dpos: dp, pos0: p0, nsteps: 2}); } function _dragAngular() { var node = d3.select('.polar > .draglayer > .angulardrag').node(); var p0 = [350, 150]; var dp = [-20, 20]; - return drag(node, dp[0], dp[1], null, p0[0], p0[1]); + return drag({node: node, dpos: dp, pos0: p0}); } // once on drag, once on mouseup relayout @@ -1266,7 +1266,7 @@ describe('Test polar interactions:', function() { function _drag(p0, dp, nsteps) { var node = d3.select('.polar > .draglayer > .radialdrag').node(); - return drag(node, dp[0], dp[1], null, p0[0], p0[1], nsteps); + return drag({node: node, dpos: dp, pos0: p0, nsteps: nsteps}); } var gd = createGraphDiv(); @@ -1300,7 +1300,7 @@ describe('Test polar interactions:', function() { function _drag(p0, dp, nsteps) { var node = d3.select('.polar > .draglayer > .maindrag').node(); - return drag(node, dp[0], dp[1], null, p0[0], p0[1], nsteps); + return drag({node: node, dpos: dp, pos0: p0, nsteps: nsteps}); } var gd = createGraphDiv(); @@ -1332,7 +1332,7 @@ describe('Test polar interactions:', function() { function _drag(p0, dp, nsteps) { var node = d3.select('.polar > .draglayer > .angulardrag').node(); - return drag(node, dp[0], dp[1], null, p0[0], p0[1], nsteps); + return drag({node: node, dpos: dp, pos0: p0, nsteps: nsteps}); } var dragPos0 = [360, 180]; @@ -1381,7 +1381,7 @@ describe('Test polar *gridshape linear* interactions', function() { // to activate the radial drag mode function _drag(p0, dp) { var node = d3.select('.polar > .draglayer > .radialdrag').node(); - return drag(node, dp[0], dp[1], null, p0[0], p0[1], 2); + return drag({node: node, dpos: dp, pos0: p0, nsteps: 2}); } function _assert(msg, angle) { @@ -1441,7 +1441,7 @@ describe('Test polar *gridshape linear* interactions', function() { function _run(msg, p0, dp, exp) { var node = d3.select('.polar > .draglayer > .angulardrag').node(); - var dragFns = drag.makeFns(node, dp[0], dp[1], {x0: p0[0], y0: p0[1]}); + var dragFns = drag.makeFns({node: node, dpos: dp, pos0: p0}); return dragFns.start().then(function() { layersRotateFromZero.forEach(function(q) { @@ -1517,7 +1517,7 @@ describe('Test polar *gridshape linear* interactions', function() { function _run(msg, p0, dp, exp) { var node = d3.select('.polar > .draglayer > .maindrag').node(); - var dragFns = drag.makeFns(node, dp[0], dp[1], {x0: p0[0], y0: p0[1]}); + var dragFns = drag.makeFns({node: node, dpos: dp, pos0: p0}); return dragFns.start().then(function() { var zl = d3.select(gd).select('g.zoomlayer'); diff --git a/test/jasmine/tests/sankey_test.js b/test/jasmine/tests/sankey_test.js index cc597b1f311..33815aa0501 100644 --- a/test/jasmine/tests/sankey_test.js +++ b/test/jasmine/tests/sankey_test.js @@ -1268,7 +1268,7 @@ describe('sankey tests', function() { node = nodes.item(nodeId); position = getNodeCoords(node); var timeDelay = (arrangement === 'snap') ? 2000 : 0; // Wait for force simulation to finish - return drag(node, move[0], move[1], false, false, false, 10, false, timeDelay); + return drag({node: node, dpos: move, nsteps: 10, timeDelay: timeDelay}); }) .then(function() { nodes = document.getElementsByClassName('sankey-node'); @@ -1319,7 +1319,7 @@ describe('sankey tests', function() { nodes = document.getElementsByClassName('sankey-node'); node = nodes.item(nodeId); - return drag(node, move[0], move[1]); + return drag({node: node, dpos: move}); }) .then(function() { x = gd._fullData[0].node.x.slice(); @@ -1329,7 +1329,7 @@ describe('sankey tests', function() { nodes = document.getElementsByClassName('sankey-node'); node = nodes.item(nodes.length - 1); // Dragged node is now the last one - return drag(node, move[0], move[1]); + return drag({node: node, dpos: move}); }) .then(function() { x1 = gd._fullData[0].node.x.slice(); @@ -1384,7 +1384,7 @@ describe('sankey tests', function() { positionBeforeDrag = getNodeCoords(node); positionBeforeDrag = [positionBeforeDrag.x, positionBeforeDrag.y]; positionAfterDrag = [positionBeforeDrag[0] + move[0], positionBeforeDrag[1] + move[1]]; - return drag(node, move[0], move[1], false, false, false, 10, false, 1000); + return drag({node: node, dpos: move, nsteps: 10, timeDelay: 1000}); }) .then(function() { // Check that the node was really moved diff --git a/test/jasmine/tests/shapes_test.js b/test/jasmine/tests/shapes_test.js index b65e28fa853..aff0407fe2b 100644 --- a/test/jasmine/tests/shapes_test.js +++ b/test/jasmine/tests/shapes_test.js @@ -834,7 +834,7 @@ describe('A fixed size path shape', function() { it('is draggable', function(done) { Plotly.plot(gd, data, layout, {editable: true}) .then(function() { - drag(getFirstShapeNode(), 50, 50).then(function() { + drag({node: getFirstShapeNode(), dpos: [50, 50]}).then(function() { assertShapeSize(getFirstShapeNode(), 30, 20); done(); }); @@ -852,7 +852,7 @@ describe('A fixed size path shape', function() { var shapeNodeBeforeDrag = getFirstShapeNode(); var widthBeforeDrag = shapeNodeBeforeDrag.getBoundingClientRect().width; - drag(shapeNodeBeforeDrag, 300, 50).then(function() { + drag({node: shapeNodeBeforeDrag, dpos: [300, 50]}).then(function() { var shapeNodeAfterDrag = getFirstShapeNode(); var bbox = shapeNodeAfterDrag.getBoundingClientRect(); expect(bbox.height).toBe(20); @@ -874,7 +874,7 @@ describe('A fixed size path shape', function() { var shapeNodeBeforeDrag = getFirstShapeNode(); var heightBeforeDrag = shapeNodeBeforeDrag.getBoundingClientRect().height; - drag(shapeNodeBeforeDrag, 50, 300).then(function() { + drag({node: shapeNodeBeforeDrag, dpos: [50, 300]}).then(function() { var shapeNodeAfterDrag = getFirstShapeNode(); var bbox = shapeNodeAfterDrag.getBoundingClientRect(); expect(bbox.width).toBe(30); @@ -1006,7 +1006,7 @@ describe('A fixed size shape', function() { it('is draggable', function(done) { Plotly.plot(gd, data, layout, {editable: true}) .then(function() { - drag(getFirstShapeNode(), 50, 50).then(function() { + drag({node: getFirstShapeNode(), dpos: [50, 50]}).then(function() { assertShapeSize(getFirstShapeNode(), 25, 25); done(); }); @@ -1025,7 +1025,7 @@ describe('A fixed size shape', function() { var shapeNodeBeforeDrag = getFirstShapeNode(); var widthBeforeDrag = shapeNodeBeforeDrag.getBoundingClientRect().width; - drag(shapeNodeBeforeDrag, 300, 50).then(function() { + drag({node: shapeNodeBeforeDrag, dpos: [300, 50]}).then(function() { var shapeNodeAfterDrag = getFirstShapeNode(); var bbox = shapeNodeAfterDrag.getBoundingClientRect(); expect(bbox.height).toBe(25); @@ -1048,7 +1048,7 @@ describe('A fixed size shape', function() { var shapeNodeBeforeDrag = getFirstShapeNode(); var heightBeforeDrag = shapeNodeBeforeDrag.getBoundingClientRect().height; - drag(shapeNodeBeforeDrag, 50, 300).then(function() { + drag({node: shapeNodeBeforeDrag, dpos: [50, 300]}).then(function() { var shapeNodeAfterDrag = getFirstShapeNode(); var bbox = shapeNodeAfterDrag.getBoundingClientRect(); expect(bbox.width).toBe(25); @@ -1088,7 +1088,7 @@ describe('A fixed size shape', function() { var dx = shallShrink ? dxToShrinkWidth[direction] : dxToEnlargeWidth[direction]; var dy = shallShrink ? dyToShrinkHeight[direction] : dyToEnlargeHeight[direction]; - drag(shapeNodeBeforeDrag, dx, dy, direction) + drag({node: shapeNodeBeforeDrag, dpos: [dx, dy], edge: direction}) .then(function() { var shapeNodeAfterDrag = getFirstShapeNode(); var bBoxAfterDrag = shapeNodeAfterDrag.getBoundingClientRect(); @@ -1117,7 +1117,7 @@ describe('A fixed size shape', function() { var bBoxBeforeDrag = shapeNodeBeforeDrag.getBoundingClientRect(); var dragSensitiveElement = getMoveLineDragElement(0); - drag(dragSensitiveElement, 10, -10) + drag({node: dragSensitiveElement, dpos: [10, -10]}) .then(function() { var shapeNodeAfterDrag = getFirstShapeNode(); var bBoxAfterDrag = shapeNodeAfterDrag.getBoundingClientRect(); @@ -1138,7 +1138,7 @@ describe('A fixed size shape', function() { var bBoxBeforeDrag = shapeNodeBeforeDrag.getBoundingClientRect(); var dragSensitiveElement = getResizeLineOverStartPointElement(); - drag(dragSensitiveElement, 50, -10) + drag({node: dragSensitiveElement, dpos: [50, -10]}) .then(function() { var shapeNodeAfterDrag = getFirstShapeNode(); var bBoxAfterDrag = shapeNodeAfterDrag.getBoundingClientRect(); @@ -1161,7 +1161,7 @@ describe('A fixed size shape', function() { var bBoxBeforeDrag = shapeNodeBeforeDrag.getBoundingClientRect(); var dragSensitiveElement = getResizeLineOverEndPointElement(); - drag(dragSensitiveElement, 50, -10) + drag({node: dragSensitiveElement, dpos: [50, -10]}) .then(function() { var shapeNodeAfterDrag = getFirstShapeNode(); var bBoxAfterDrag = shapeNodeAfterDrag.getBoundingClientRect(); @@ -1464,7 +1464,7 @@ describe('Test shapes', function() { var initialCoordinates = getShapeCoordinates(layoutShape, x2p, y2p); - return drag(node, dx, dy).then(function() { + return drag({node: node, dpos: [dx, dy]}).then(function() { var finalCoordinates = getShapeCoordinates(layoutShape, x2p, y2p); expect(finalCoordinates.x0 - initialCoordinates.x0).toBeCloseTo(dx); @@ -1494,7 +1494,7 @@ describe('Test shapes', function() { expect(initialCoordinates.length).toBe(6); - return drag(node, dx, dy).then(function() { + return drag({node: node, dpos: [dx, dy]}).then(function() { var finalPath = layoutShape.path; var finalCoordinates = getPathCoordinates(finalPath, x2p, y2p); @@ -1523,7 +1523,7 @@ describe('Test shapes', function() { var initialCoordinates = getShapeCoordinates(layoutShape, x2p, y2p); - return drag(node, dx, dy, direction).then(function() { + return drag({node: node, dpos: [dx, dy], edge: direction}).then(function() { var finalCoordinates = getShapeCoordinates(layoutShape, x2p, y2p); var keyN, keyS, keyW, keyE; @@ -1572,7 +1572,7 @@ describe('Test shapes', function() { getResizeLineOverEndPointElement(); var initialCoordinates = getShapeCoordinates(layoutShape, x2p, y2p); - return drag(dragHandle, 10, 10).then(function() { + return drag({node: dragHandle, dpos: [10, 10]}).then(function() { var finalCoordinates = getShapeCoordinates(layoutShape, x2p, y2p); if(pointToMove === 'start') { diff --git a/test/jasmine/tests/splom_test.js b/test/jasmine/tests/splom_test.js index 9352b6f6f9b..91933e57aa2 100644 --- a/test/jasmine/tests/splom_test.js +++ b/test/jasmine/tests/splom_test.js @@ -1501,7 +1501,7 @@ describe('Test splom drag:', function() { var node = d3.select('.nsewdrag[data-subplot="xy"]').node(); var dx = p1[0] - p0[0]; var dy = p1[1] - p0[1]; - return drag(node, dx, dy, null, p0[0], p0[1]); + return drag({node: node, dpos: [dx, dy], pos0: p0}); } it('@gl should update scattermatrix ranges on pan', function(done) { diff --git a/test/jasmine/tests/template_test.js b/test/jasmine/tests/template_test.js index 7379147b031..b99af7528d5 100644 --- a/test/jasmine/tests/template_test.js +++ b/test/jasmine/tests/template_test.js @@ -9,7 +9,6 @@ var drag = require('../assets/drag'); var scatterFillMock = require('@mocks/scatter_fill_self_next.json'); var templateMock = require('@mocks/template.json'); - describe('makeTemplate', function() { it('does not template arrays', function() { var template = Plotly.makeTemplate(Lib.extendDeep({}, scatterFillMock)); @@ -243,13 +242,13 @@ describe('template interactions', function() { var schoolDragger = checkAnnotations(5, 4, 5); - drag(schoolDragger, 0, -80) + drag({node: schoolDragger, dpos: [0, -80]}) .then(function() { // added an item to layout.annotations and put that before the // remaining default item in the DOM schoolDragger = checkAnnotations(6, 5, 4, 0.25); - return drag(schoolDragger, 0, -80); + return drag({node: schoolDragger, dpos: [0, -80]}); }) .then(function() { // item count and order are unchanged now, item just moves. @@ -281,12 +280,12 @@ describe('template interactions', function() { var rectDragger = checkShapes(1); - drag(rectDragger, 0, -80, 's') + drag({node: rectDragger, dpos: [0, -80], edge: 's'}) .then(function() { // added an item to layout.shapes rectDragger = checkShapes(2, 0.15); - return drag(rectDragger, 0, -80, 's'); + return drag({node: rectDragger, dpos: [0, -80], edge: 's'}); }) .then(function() { // item count and order are unchanged now, item just resizes.