Merge branch 'master' of http://github.com/kberg/dygraphs
authorRobert Konigsberg <konigsberg@google.com>
Mon, 29 Nov 2010 22:16:30 +0000 (17:16 -0500)
committerRobert Konigsberg <konigsberg@google.com>
Mon, 29 Nov 2010 22:16:30 +0000 (17:16 -0500)
Conflicts:
dygraph.js
tests/zoom.html

1  2 
dygraph.js
tests/zoom.html

diff --combined dygraph.js
@@@ -1086,7 -1086,6 +1086,6 @@@ Dygraph.prototype.doZoomXDates_ = funct
    this.dateWindow_ = [minDate, maxDate];
    this.drawGraph_();
    if (this.attr_("zoomCallback")) {
-     var yRange = this.yAxisRange();
      this.attr_("zoomCallback")(minDate, maxDate, this.yAxisRanges());
    }
  };
@@@ -2413,8 -2412,7 +2412,8 @@@ Dygraph.prototype.parseCSV_ = function(
    // Parse the x as a float or return null if it's not a number.
    var parseFloatOrNull = function(x) {
      var val = parseFloat(x);
 -    return isNaN(val) ? null : val;
 +    // isFinite() returns false for NaN and +/-Infinity.
 +    return isFinite(val) ? val : null;
    };
  
    var xParser;
@@@ -2646,11 -2644,6 +2645,11 @@@ Dygraph.prototype.parseDataTable_ = fun
      if (ret.length > 0 && row[0] < ret[ret.length - 1][0]) {
        outOfOrder = true;
      }
 +
 +    // Strip out infinities, which give dygraphs problems later on.
 +    for (var j = 0; j < row.length; j++) {
 +      if (!isFinite(row[j])) row[j] = null;
 +    }
      ret.push(row);
    }
  
diff --combined tests/zoom.html
@@@ -40,8 -40,9 +40,9 @@@
              document.getElementById("div_g"),
              NoisyData, {
                errorBars: true,
 -              zoomCallback : function(minDate, maxDate, yRange) {
 -                showDimensions(minDate, maxDate, yRange);
 +            zoomCallback : function(minDate, maxDate, yRanges) {
 +                showDimensions(minDate, maxDate, yRanges); }
+               }
              }
            );
  
        // Pull an initial value for logging.
        var minDate = g.xAxisRange()[0];
        var maxDate = g.xAxisRange()[1];
 -      var minValue = g.yAxisRange();
 -      showDimensions(minDate, maxDate, yAxisRange);
 +      var minValue = g.yAxisRange()[0];
 +      var maxValue = g.yAxisRange()[1];
 +      showDimensions(minDate, maxDate, [minValue, maxValue]);
  
 -      function showDimensions(minDate, maxDate, yAxisRange) {
 -        showXDimensions(minDate, maxDate);
 -        showYDimensions(yAxisRange);
 +      function showDimensions(minDate, maxDate, yRanges) {
 +              showXDimensions(minDate, maxDate);
 +              showYDimensions(yRanges);
        }
  
        function showXDimensions(first, second) {
          elem.innerHTML = "dateWindow : [" + first + ", "+ second + "]";
        }
  
-       function showYDimensions(values) {
 -      function showYDimensions(range) {
++      function showYDimensions(ranges) {
          var elem = document.getElementById("ydimensions");
-         elem.innerHTML = "valueRange : [" + values + "]";
 -        elem.innerHTML = "valueRange : [" + range + "]";
++        elem.innerHTML = "valueRange : [" + ranges + "]";
        }
  
        function zoomGraphX(minDate, maxDate) {
          g.updateOptions({
            dateWindow: [minDate, maxDate]
          });
-           showXDimensions(minDate, maxDate);
+         showXDimensions(minDate, maxDate);
        }
  
        function zoomGraphY(minValue, maxValue) {
          g.updateOptions({
            valueRange: [minValue, maxValue]
          });
 -        showYDimensions(minValue, maxValue);
 +        showYDimensions(this.getYRanges());
        }
  
        function unzoomGraph() {