Merge branch 'master' into xlog
[dygraphs.git] / dygraph-gviz.js
index b87fe80..988e0ac 100644 (file)
 
 /**
  * A wrapper around Dygraph that implements the gviz API.
- * @param {Object} container The DOM object the visualization should live in.
+ * @param {!HTMLDivElement} container The DOM object the visualization should
+ *     live in.
+ * @constructor
  */
 Dygraph.GVizChart = function(container) {
   this.container = container;
 };
 
+/**
+ * @param {GVizDataTable} data
+ * @param {Object.<*>} options
+ */
 Dygraph.GVizChart.prototype.draw = function(data, options) {
   // Clear out any existing dygraph.
   // TODO(danvk): would it make more sense to simply redraw using the current
@@ -44,7 +50,7 @@ Dygraph.GVizChart.prototype.draw = function(data, options) {
 /**
  * Google charts compatible setSelection
  * Only row selection is supported, all points in the row will be highlighted
- * @param {Array} array of the selected cells
+ * @param {Array.<{row:number}>} selection_array array of the selected cells
  * @public
  */
 Dygraph.GVizChart.prototype.setSelection = function(selection_array) {
@@ -57,7 +63,7 @@ Dygraph.GVizChart.prototype.setSelection = function(selection_array) {
 
 /**
  * Google charts compatible getSelection implementation
- * @return {Array} array of the selected cells
+ * @return {Array.<{row:number,column:number}>} array of the selected cells
  * @public
  */
 Dygraph.GVizChart.prototype.getSelection = function() {
@@ -67,14 +73,10 @@ Dygraph.GVizChart.prototype.getSelection = function() {
 
   if (row < 0) return selection;
 
-  var col = 1;
-  var datasets = this.date_graph.layout_.datasets;
-  for (var k in datasets) {
-    if (!datasets.hasOwnProperty(k)) continue;
-    selection.push({row: row, column: col});
-    col++;
+  var points = this.date_graph.layout_.points;
+  for (var setIdx = 0; setIdx < points.length; ++setIdx) {
+    selection.push({row: row, column: setIdx + 1});
   }
 
   return selection;
 };
-