Merge pull request #465 from danvk/callback-this
[dygraphs.git] / dygraph-interaction-model.js
index c97b060..27c18b7 100644 (file)
@@ -39,7 +39,7 @@ Dygraph.Interaction.startPan = function(event, g, context) {
   context.isPanning = true;
   var xRange = g.xAxisRange();
 
-  if (g.getOptionForAxis("logscale", 'x')) {
+  if (g.getOptionForAxis("logscale", "x")) {
     context.initialLeftmostDate = Dygraph.log10(xRange[0]);
     context.dateRange = Dygraph.log10(xRange[1]) - Dygraph.log10(xRange[0]);
   } else {
@@ -138,7 +138,7 @@ Dygraph.Interaction.movePan = function(event, g, context) {
     }
   }
 
-  if (g.getOptionForAxis("logscale", 'x')) {
+  if (g.getOptionForAxis("logscale", "x")) {
     g.dateWindow_ = [ Math.pow(Dygraph.LOG_SCALE, minDate),
                       Math.pow(Dygraph.LOG_SCALE, maxDate) ];
   } else {
@@ -317,12 +317,12 @@ Dygraph.Interaction.treatMouseOpAsClick = function(g, event, context) {
   }
 
   if (selectedPoint) {
-    pointClickCallback(event, selectedPoint);
+    pointClickCallback.call(g, event, selectedPoint);
   }
 
   // TODO(danvk): pass along more info about the points, e.g. 'x'
   if (clickCallback) {
-    clickCallback(event, g.lastx_, g.selPoints_);
+    clickCallback.call(g, event, g.lastx_, g.selPoints_);
   }
 };
 
@@ -535,7 +535,7 @@ Dygraph.Interaction.moveTouch = function(event, g, context) {
   // We only call zoomCallback on zooms, not pans, to mirror desktop behavior.
   if (didZoom && touches.length > 1 && g.getFunctionOption('zoomCallback')) {
     var viewWindow = g.xAxisRange();
-    g.getFunctionOption("zoomCallback")(viewWindow[0], viewWindow[1], g.yAxisRanges());
+    g.getFunctionOption("zoomCallback").call(g, viewWindow[0], viewWindow[1], g.yAxisRanges());
   }
 };