Merge pull request #257 from kberg/auto-tests
[dygraphs.git] / dygraph-layout.js
index 06106cd..54496aa 100644 (file)
@@ -56,14 +56,14 @@ DygraphLayout.prototype.addDataset = function(setname, set_xy) {
  * Returns the box which the chart should be drawn in. This is the canvas's
  * box, less space needed for the axis and chart labels.
  *
- * @return {{ x : numer, y : number, w : number, h : number }}
+ * @return {{x: number, y: number, w: number, h: number}}
  */
 DygraphLayout.prototype.getPlotArea = function() {
   return this.area_;
 };
 
 // Compute the box which the chart should be drawn in. This is the canvas's
-// box, less space needed for axis and chart labels.
+// box, less space needed for axis, chart labels, and other plug-ins.
 // NOTE: This should only be called by Dygraph.predraw_().
 DygraphLayout.prototype.computePlotArea = function() {
   var area = {
@@ -162,10 +162,6 @@ DygraphLayout.prototype.setYAxes = function (yAxes) {
   this.yAxes_ = yAxes;
 };
 
-DygraphLayout.prototype.setDateWindow = function(dateWindow) {
-  this.dateWindow_ = dateWindow;
-};
-
 DygraphLayout.prototype.evaluate = function() {
   this._evaluateLimits();
   this._evaluateLineCharts();
@@ -217,6 +213,7 @@ DygraphLayout.prototype._evaluateLineCharts = function() {
   // on chrome+linux, they are 6 times more expensive than iterating through the
   // points and drawing the lines. The brunt of the cost comes from allocating
   // the |point| structures.
+  var boundaryIdStart = this.dygraph_.getLeftBoundary_();
   for (var setIdx = 0; setIdx < this.datasets.length; setIdx++) {
     var dataset = this.datasets[setIdx];
     var setName = this.setNames[setIdx];
@@ -248,7 +245,8 @@ DygraphLayout.prototype._evaluateLineCharts = function() {
         y: yNormal,
         xval: xValue,
         yval: yValue,
-        name: setName  // TODO(danvk): is this really necessary?
+        name: setName,  // TODO(danvk): is this really necessary?
+        idx: j + boundaryIdStart
       };
     }