X-Git-Url: https://adrianiainlam.tk/git/?a=blobdiff_plain;f=tests%2Fzoom.html;h=afc39a3a0851f6e32bd0d8728cc9f8f5919081a6;hb=ce31caf22475e3e1fd6d9fea192d61ff4fcd7fac;hp=c59284a0dd1f098d763d176227f599c04bb315ed;hpb=a2db51b539e5a5db661501a10e8925249218cd15;p=dygraphs.git diff --git a/tests/zoom.html b/tests/zoom.html index c59284a..afc39a3 100644 --- a/tests/zoom.html +++ b/tests/zoom.html @@ -1,29 +1,47 @@ + - noise - - - - - + zoom + + + -

Click the buttons to change the zoom

+

Click the buttons to change the zoom level or just use the normal + click-and drag. While zoom typically works by click-and-drag, the + buttons are useful for testing.

Window coordinates (in dates and values):

-
+
+
+

Zoomed: False

+

Zoomed X: False

+

Zoomed Y: False

+

+

Zoom operations:

-   -   -   -   -   -   +   +   +   +   +   +

+   +   +   +   +

+   +

+   +   +  

@@ -31,7 +49,15 @@ g = new Dygraph( document.getElementById("div_g"), NoisyData, { - zoomCallback : function(a,b,c,d) { showDimensions(a,b,c,d); } + errorBars: true, + zoomCallback : function(minDate, maxDate, yRange) { + showDimensions(minDate, maxDate, yRange); + }, + drawCallback: function(me, initial) { + document.getElementById("zoomed").innerHTML = "" + me.isZoomed(); + document.getElementById("zoomedX").innerHTML = "" + me.isZoomed("x"); + document.getElementById("zoomedY").innerHTML = "" + me.isZoomed("y"); + } } ); @@ -43,31 +69,46 @@ var maxDate = g.xAxisRange()[1]; var minValue = g.yAxisRange()[0]; var maxValue = g.yAxisRange()[1]; + showDimensions(minDate, maxDate, [minValue, maxValue]); + + function showDimensions(minDate, maxDate, yRanges) { + showXDimensions(minDate, maxDate); + showYDimensions(yRanges); + } + + function showXDimensions(first, second) { + var elem = document.getElementById("xdimensions"); + elem.innerHTML = "dateWindow : [" + first + ", "+ second + "]"; + } - showDimensions(minDate, maxDate, minValue, maxValue); + function showYDimensions(ranges) { + var elem = document.getElementById("ydimensions"); + elem.innerHTML = "valueRange : [" + ranges + "]"; + } + + function zoomGraphX(minDate, maxDate) { + g.updateOptions({ + dateWindow: [minDate, maxDate] + }); + showXDimensions(minDate, maxDate); + } + + function zoomGraphY(minValue, maxValue) { + g.updateOptions({ + valueRange: [minValue, maxValue] + }); + showYDimensions(g.yAxisRanges()); + } - function showDimensions(minDate, maxDate, minValue, maxValue) { - var elem = document.getElementById("dimensions"); - elem.innerHTML = - "dateWindow : [" + minDate + " , "+ maxDate + "],
" + - "valueRange : [" + minValue + " , "+ maxValue + "],"; + function unzoomGraph() { + g.updateOptions({ + dateWindow: null, + valueRange: null + }); } - function sizeGraph(i) { - switch(i) { - case 0: g.doUnzoom_(); - break; - case 1: g.doZoomYValues_(5, 3); - break; - case 2: g.doZoomYValues_(4, 0); - break; - case 3: g.doZoomYValues_(4, 2); - break; - case 4: g.doZoomYValues_(2, 0); - break; - case 5: g.doZoomYValues_(1, 0); - break; - } + function panEdgeFraction(value) { + g.updateOptions({ panEdgeFraction : value }); }