moving the lastTouch save into the "one touch" more efficient
[dygraphs.git] / src / dygraph-interaction-model.js
index 53e2f44..411aae4 100644 (file)
@@ -429,7 +429,9 @@ Dygraph.Interaction.startTouch = function(event, g, context) {
   context.initialTouches = touches;
 
   if (touches.length == 1) {
-    // This is just a swipe.
+    // This is possbily a touchOVER, save the last touch to check
+    context.lastTouch = event;
+    // or This is just a swipe. 
     context.initialPinchCenter = touches[0];
     context.touchDirections = { x: true, y: true };
   } else if (touches.length >= 2) {
@@ -474,6 +476,9 @@ Dygraph.Interaction.startTouch = function(event, g, context) {
 Dygraph.Interaction.moveTouch = function(event, g, context) {
   // If the tap moves, then it's definitely not part of a double-tap.
   context.startTimeForDoubleTapMs = null;
+ // clear the last touch if it's doing something else
+  context.lastTouch = null;
 
   var i, touches = [];
   for (i = 0; i < event.touches.length; i++) {
@@ -580,6 +585,13 @@ Dygraph.Interaction.endTouch = function(event, g, context) {
         context.doubleTapY && Math.abs(context.doubleTapY - t.screenY) < 50) {
       g.resetZoom();
     } else {
+      
+      if (context.lastTouch !== null){
+        // no double-tap, pan or pinch so it's a touchOVER
+        event.isTouchOver = true;
+        g.mouseMove(event);
+      }
+
       context.startTimeForDoubleTapMs = now;
       context.doubleTapX = t.screenX;
       context.doubleTapY = t.screenY;