Merge branch 'master' of https://github.com/kberg/dygraphs
authorDan Vanderkam <danvk@google.com>
Mon, 22 Nov 2010 15:49:03 +0000 (10:49 -0500)
committerDan Vanderkam <danvk@google.com>
Mon, 22 Nov 2010 15:49:03 +0000 (10:49 -0500)
docs/index.html
dygraph.js
tests/callback.html
tests/zoom.html

index adc7c15..b9eff54 100644 (file)
@@ -625,9 +625,9 @@ perl -ne 'BEGIN{print "Month,Nominal,Real\n"} chomp; ($m,$cpi,$low,$close,$high)
         </tr>
         <tr>
           <td><strong>zoomCallback</strong></td>
-          <td><code>function(minDate,<br/>maxDate,<br/>minValue,<br/>maxValue){}</code></td>
+          <td><code>function(minDate,<br/>maxDate,<br/>yRanges){}</code></td>
           <td><code>null</code></td>
-          <td>A function to call when the zoom window is changed (either by zooming in or out). minDate and maxDate are milliseconds since epoch. minValue and maxValue are y-axis range values.
+          <td>A function to call when the zoom window is changed (either by zooming in or out). minDate and maxDate are milliseconds since epoch. yRanges is an array of [bottom, top] pairs, one for each y-axis.
           <div class="tests">Tests: <a href="tests/callback.html">callback</a> <a href="tests/zoom.html">zoom</a></div>
           </td>
         </tr>
index ca935a1..e28c273 100644 (file)
@@ -1086,8 +1086,7 @@ Dygraph.prototype.doZoomXDates_ = function(minDate, maxDate) {
   this.dateWindow_ = [minDate, maxDate];
   this.drawGraph_();
   if (this.attr_("zoomCallback")) {
-    var yRange = this.yAxisRange();
-    this.attr_("zoomCallback")(minDate, maxDate, yRange[0], yRange[1]);
+    this.attr_("zoomCallback")(minDate, maxDate, this.yAxisRanges());
   }
 };
 
index 04ed8ea..3a14ff3 100644 (file)
@@ -81,8 +81,8 @@
                 s.innerHTML += "<b>Point Click</b> " + p.name + ": " + p.x + "<br/>";
               },
 
-              zoomCallback: function(minX, maxX) {
-                s.innerHTML += "<b>Zoom</b> [" + minX + ", " + maxX + "]<br/>";
+              zoomCallback: function(minX, maxX, yRanges) {
+                s.innerHTML += "<b>Zoom</b> [" + minX + ", " + maxX + ", [" + yRanges + "]]<br/>";
               },
 
               drawCallback: function(g) {
index 121adee..10b0457 100644 (file)
@@ -40,7 +40,9 @@
             document.getElementById("div_g"),
             NoisyData, {
               errorBars: true,
-              zoomCallback : function(a,b,c,d) { showDimensions(a,b,c,d); }
+              zoomCallback : function(minDate, maxDate, yRange) {
+                showDimensions(minDate, maxDate, yRange);
+              }
             }
           );
 
       // Pull an initial value for logging.
       var minDate = g.xAxisRange()[0];
       var maxDate = g.xAxisRange()[1];
-      var minValue = g.yAxisRange()[0];
-      var maxValue = g.yAxisRange()[1];
-      showDimensions(minDate, maxDate, minValue, maxValue);
+      var minValue = g.yAxisRange();
+      showDimensions(minDate, maxDate, yAxisRange);
 
-      function showDimensions(minDate, maxDate, minValue, maxValue) {
-       showXDimensions(minDate, maxDate);
-       showYDimensions(minValue, maxValue);
+      function showDimensions(minDate, maxDate, yAxisRange) {
+        showXDimensions(minDate, maxDate);
+        showYDimensions(yAxisRange);
       }
 
       function showXDimensions(first, second) {
         elem.innerHTML = "dateWindow : [" + first + ", "+ second + "]";
       }
 
-      function showYDimensions(first, second) {
+      function showYDimensions(range) {
         var elem = document.getElementById("ydimensions");
-        elem.innerHTML = "valueRange : [" + first + ", "+ second + "]";
+        elem.innerHTML = "valueRange : [" + range + "]";
       }
 
       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(minValue, maxValue);
       }
 
       function unzoomGraph() {