Remove dead code (#818)
[dygraphs.git] / auto_tests / tests / DygraphOps.js
index ad67b2a..460547b 100644 (file)
@@ -18,6 +18,7 @@
 // OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
 // THE SOFTWARE.
 
+import * as utils from '../../src/dygraph-utils';
 
 /** 
  * @fileoverview Utility functions for Dygraphs.
@@ -44,7 +45,14 @@ DygraphOps.defaultEvent_ = {
   relatedTarget : null
 };
 
-DygraphOps.createEvent_ = function(command, custom) {
+/**
+ * Create an event. Sets default event values except for special ones
+ * overridden by the 'custom' parameter.
+ *
+ * @param command the command to create.
+ * @param custom an associative array of event attributes and their new values.
+ */
+DygraphOps.createEvent = function(command, custom) {
 
   var copy = function(from, to) {
     if (from != null) {
@@ -79,66 +87,77 @@ DygraphOps.createEvent_ = function(command, custom) {
     e.button,
     e.relatedTarget);
   return event;
-}
+};
+
+/**
+ * Dispatch an event onto the graph's canvas.
+ */
+DygraphOps.dispatchCanvasEvent = function(g, event) {
+  g.canvas_.dispatchEvent(event);
+};
 
 DygraphOps.dispatchDoubleClick = function(g, custom) {
   var opts = {
     type : 'dblclick',
     detail : 2
   };
-  var event = DygraphOps.createEvent_(opts, custom);
-  g.canvas_.dispatchEvent(event);
+  var event = DygraphOps.createEvent(opts, custom);
+  DygraphOps.dispatchCanvasEvent(g, event);
 };
 
-DygraphOps.dispatchMouseDown_Point = function(g, x, y, custom) {
-  var pageX = Dygraph.findPosX(g.canvas_) + x;
-  var pageY = Dygraph.findPosY(g.canvas_) + y;
+/*
+ * Create an 'opts' argument which can be passed to createEvent that contains
+ * type, screenX, screenY, clientX, clientY.
+ */
+DygraphOps.createOptsForPoint_ = function(g, type, x, y) {
+  var pos = utils.findPos(g.canvas_);
+  var pageX = pos.x + x;
+  var pageY = pos.y + y;
 
-  var opts = {
-    type : 'mousedown',
-    detail : 1,
+  return {
+    type : type,
     screenX : pageX,
     screenY : pageY,
     clientX : pageX,
     clientY : pageY,
   };
+};
 
-  var event = DygraphOps.createEvent_(opts, custom);
-  g.canvas_.dispatchEvent(event);
-}
+DygraphOps.dispatchMouseDown_Point = function(g, x, y, custom) {
+  var opts = DygraphOps.createOptsForPoint_(g, 'mousedown', x, y);
+  opts.detail = 1;
+  var event = DygraphOps.createEvent(opts, custom);
+  DygraphOps.dispatchCanvasEvent(g, event);
+};
 
 DygraphOps.dispatchMouseMove_Point = function(g, x, y, custom) {
-  var pageX = Dygraph.findPosX(g.canvas_) + x;
-  var pageY = Dygraph.findPosY(g.canvas_) + y;
-
-  var opts = {
-    type : 'mousemove',
-    screenX : pageX,
-    screenY : pageY,
-    clientX : pageX,
-    clientY : pageY,
-  };
-
-  var event = DygraphOps.createEvent_(opts, custom);
-  g.canvas_.dispatchEvent(event);
+  var opts = DygraphOps.createOptsForPoint_(g, 'mousemove', x, y);
+  var event = DygraphOps.createEvent(opts, custom);
+  DygraphOps.dispatchCanvasEvent(g, event);
 };
 
 DygraphOps.dispatchMouseUp_Point = function(g, x, y, custom) {
-  var pageX = Dygraph.findPosX(g.canvas_) + x;
-  var pageY = Dygraph.findPosY(g.canvas_) + y;
+  var opts = DygraphOps.createOptsForPoint_(g, 'mouseup', x, y);
+  var event = DygraphOps.createEvent(opts, custom);
+  DygraphOps.dispatchCanvasEvent(g, event);
+};
 
-  var opts = {
-    type : 'mouseup',
-    screenX : pageX,
-    screenY : pageY,
-    clientX : pageX,
-    clientY : pageY,
-  };
+DygraphOps.dispatchMouseOver_Point = function(g, x, y, custom) {
+  var opts = DygraphOps.createOptsForPoint_(g, 'mouseover', x, y);
+  var event = DygraphOps.createEvent(opts, custom);
+  DygraphOps.dispatchCanvasEvent(g, event);
+};
 
-  var event = DygraphOps.createEvent_(opts, custom);
-  g.canvas_.dispatchEvent(event);
+DygraphOps.dispatchMouseOut_Point = function(g, x, y, custom) {
+  var opts = DygraphOps.createOptsForPoint_(g, 'mouseout', x, y);
+  var event = DygraphOps.createEvent(opts, custom);
+  DygraphOps.dispatchCanvasEvent(g, event);
 };
 
+/**
+ * Dispatches a mouse down using the graph's data coordinate system.
+ * (The y value mapped to the first axis.)
+ */
 DygraphOps.dispatchMouseDown = function(g, x, y, custom) {
   DygraphOps.dispatchMouseDown_Point(
       g,
@@ -147,6 +166,10 @@ DygraphOps.dispatchMouseDown = function(g, x, y, custom) {
       custom);
 };
 
+/**
+ * Dispatches a mouse move using the graph's data coordinate system.
+ * (The y value mapped to the first axis.)
+ */
 DygraphOps.dispatchMouseMove = function(g, x, y, custom) {
   DygraphOps.dispatchMouseMove_Point(
       g,
@@ -155,6 +178,10 @@ DygraphOps.dispatchMouseMove = function(g, x, y, custom) {
       custom);
 };
 
+/**
+ * Dispatches a mouse up using the graph's data coordinate system.
+ * (The y value mapped to the first axis.)
+ */
 DygraphOps.dispatchMouseUp = function(g, x, y, custom) {
   DygraphOps.dispatchMouseUp_Point(
       g,
@@ -163,3 +190,29 @@ DygraphOps.dispatchMouseUp = function(g, x, y, custom) {
       custom);
 };
 
+/**
+ * Dispatches a mouse over using the graph's data coordinate system.
+ * (The y value mapped to the first axis.)
+ */
+DygraphOps.dispatchMouseOver = function(g, x, y, custom) {
+  DygraphOps.dispatchMouseOver_Point(
+      g,
+      g.toDomXCoord(x),
+      g.toDomYCoord(y),
+      custom);
+};
+
+/**
+ * Dispatches a mouse out using the graph's data coordinate system.
+ * (The y value mapped to the first axis.)
+ */
+DygraphOps.dispatchMouseOut = function(g, x, y, custom) {
+  DygraphOps.dispatchMouseOut_Point(
+      g,
+      g.toDomXCoord(x),
+      g.toDomYCoord(y),
+      custom);
+};
+
+
+export default DygraphOps;