X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;f=gallery%2Finteraction-api.js;h=8f6d706dbdf49575e69fe43dea86f38242a95762;hb=623dd1d6e1562941750eb9f00ac28f2481b07f95;hp=08efc6fe98b2b914407cd7005023a21b9e7c5bd3;hpb=65728bc9155b54d20889d255f6d3d8766af8c144;p=dygraphs.git diff --git a/gallery/interaction-api.js b/gallery/interaction-api.js index 08efc6f..8f6d706 100644 --- a/gallery/interaction-api.js +++ b/gallery/interaction-api.js @@ -1,3 +1,4 @@ +/*global Dygraph */ // Code for a variety of interaction models. Used in interaction.html, but split out from // that file so they can be tested in isolation. // @@ -50,9 +51,9 @@ function offsetToPercentage(g, offsetX, offsetY) { var h = g.toDomCoords(null, yar0[0])[1] - yOffset; // Percentage from the left. - var xPct = w == 0 ? 0 : (x / w); + var xPct = w === 0 ? 0 : (x / w); // Percentage from the top. - var yPct = h == 0 ? 0 : (y / h); + var yPct = h === 0 ? 0 : (y / h); // The (1-) part below changes it from "% distance down from the top" // to "% distance up from the bottom". @@ -73,9 +74,9 @@ function dblClickV3(event, g, context) { var yPct = percentages[1]; if (event.ctrlKey) { - zoom(g, -.25, xPct, yPct); + zoom(g, -0.25, xPct, yPct); } else { - zoom(g, +.2, xPct, yPct); + zoom(g, +0.2, xPct, yPct); } } @@ -83,7 +84,7 @@ var lastClickedGraph = null; function clickV3(event, g, context) { lastClickedGraph = g; - Dygraph.cancelEvent(event); + event.preventDefault();; } function scrollV3(event, g, context) { @@ -105,7 +106,7 @@ function scrollV3(event, g, context) { var yPct = percentages[1]; zoom(g, percentage, xPct, yPct); - Dygraph.cancelEvent(event); + event.preventDefault(); } // Adjusts [x, y] toward each other by zoomInPercentage% @@ -149,8 +150,9 @@ function moveV4(event, g, context) { var RANGE = 7; if (v4Active) { - var canvasx = Dygraph.pageX(event) - Dygraph.findPosX(g.graphDiv); - var canvasy = Dygraph.pageY(event) - Dygraph.findPosY(g.graphDiv); + var graphPos = Dygraph.findPos(g.graphDiv); + var canvasx = Dygraph.pageX(event) - graphPos.x; + var canvasy = Dygraph.pageY(event) - graphPos.y; var rows = g.numRows(); // Row layout: @@ -163,7 +165,7 @@ function moveV4(event, g, context) { for (var col = 1; col < 3; col++) { // TODO(konigsberg): these will throw exceptions as data is removed. var vals = g.getValue(row, col); - if (vals == null) { continue; } + if (vals === null || vals === undefined) { continue; } var val = vals[0]; var y = g.toDomCoords(null, val)[1]; var diff2 = Math.abs(canvasy - y);