Partial auto y range : adding support of null and undefined in addition to NaN
authormanufitoussi <manu.fitoussi@gmail.com>
Fri, 25 Jan 2013 17:31:44 +0000 (18:31 +0100)
committermanufitoussi <manu.fitoussi@gmail.com>
Fri, 25 Jan 2013 17:35:47 +0000 (18:35 +0100)
auto_tests/tests/range_tests.js
dygraph.js

index 96e5eb7..83a2505 100644 (file)
@@ -78,6 +78,22 @@ RangeTestCase.prototype.testRangeSetOperations = function() {
   assertEquals([12, 18], g.xAxisRange());
   assertEquals([10, 40], g.yAxisRange(0));
 
+  g.updateOptions({ valueRange: [10, null] });
+  assertEquals([12, 18], g.xAxisRange());
+  assertEquals([10, 44.2], g.yAxisRange(0));
+
+  g.updateOptions({ valueRange: [10, 40] });
+  assertEquals([12, 18], g.xAxisRange());
+  assertEquals([10, 40], g.yAxisRange(0));
+
+  g.updateOptions({ valueRange: [10, undefined] });
+  assertEquals([12, 18], g.xAxisRange());
+  assertEquals([10, 44.2], g.yAxisRange(0));
+
+  g.updateOptions({ valueRange: [10, 40] });
+  assertEquals([12, 18], g.xAxisRange());
+  assertEquals([10, 40], g.yAxisRange(0));
+
   g.updateOptions({  });
   assertEquals([12, 18], g.xAxisRange());
   assertEquals([10, 40], g.yAxisRange(0));
index b516f5e..71bacbf 100644 (file)
@@ -2571,8 +2571,8 @@ Dygraph.prototype.computeYAxisRanges_ = function(extremes) {
     } else if (axis.valueRange) {
       // This is a user-set value range for this axis.
       axis.computedValueRange = [
-         !isNaN(axis.valueRange[0]) ? axis.valueRange[0] : axis.extremeRange[0],
-         !isNaN(axis.valueRange[1]) ? axis.valueRange[1] : axis.extremeRange[1]
+         !isNaN(axis.valueRange[0]) && axis.valueRange[0] !== null && axis.valueRange[0] !== undefined ? axis.valueRange[0] : axis.extremeRange[0],
+         !isNaN(axis.valueRange[1]) && axis.valueRange[1] !== null && axis.valueRange[1] !== undefined ? axis.valueRange[1] : axis.extremeRange[1]
       ];
     } else {
       axis.computedValueRange = axis.extremeRange;