InteractionModelTestCase.prototype.testIsZoomed_x = function() {
var g = new Dygraph(document.getElementById("graph"), data2, {});
- DygraphOps.dispatchMouseDown_Point(g, 10, 10);
- DygraphOps.dispatchMouseMove_Point(g, 30, 10);
- DygraphOps.dispatchMouseUp_Point(g, 30, 10);
+ DygraphOps.dispatchMouseDown_Point(g, 100, 100);
+ DygraphOps.dispatchMouseMove_Point(g, 130, 100);
+ DygraphOps.dispatchMouseUp_Point(g, 130, 100);
assertTrue(g.isZoomed());
assertTrue(g.isZoomed("x"));
var g = new Dygraph(document.getElementById("graph"), data2, {});
// Zoom x axis
- DygraphOps.dispatchMouseDown_Point(g, 10, 10);
- DygraphOps.dispatchMouseMove_Point(g, 30, 10);
- DygraphOps.dispatchMouseUp_Point(g, 30, 10);
+ DygraphOps.dispatchMouseDown_Point(g, 100, 100);
+ DygraphOps.dispatchMouseMove_Point(g, 130, 100);
+ DygraphOps.dispatchMouseUp_Point(g, 130, 100);
// Now zoom y axis
- DygraphOps.dispatchMouseDown_Point(g, 10, 10);
- DygraphOps.dispatchMouseMove_Point(g, 10, 30);
- DygraphOps.dispatchMouseUp_Point(g, 10, 30);
+ DygraphOps.dispatchMouseDown_Point(g, 100, 100);
+ DygraphOps.dispatchMouseMove_Point(g, 100, 130);
+ DygraphOps.dispatchMouseUp_Point(g, 100, 130);
assertTrue(g.isZoomed());
InteractionModelTestCase.prototype.testCorrectAxisValueRangeAfterUnzoom = function() {
- var g = new Dygraph(document.getElementById("graph"), data2, {valueRange:[1,50],dateRange:[1,9],animatedZooms:false});
+ var g = new Dygraph(document.getElementById("graph"),
+ data2, {
+ valueRange: [1, 50],
+ dateWindow: [1, 9],
+ animatedZooms:false
+ });
// Zoom x axis
- DygraphOps.dispatchMouseDown_Point(g, 10, 10);
- DygraphOps.dispatchMouseMove_Point(g, 30, 10);
- DygraphOps.dispatchMouseUp_Point(g, 30, 10);
+ DygraphOps.dispatchMouseDown_Point(g, 100, 100);
+ DygraphOps.dispatchMouseMove_Point(g, 130, 100);
+ DygraphOps.dispatchMouseUp_Point(g, 130, 100);
// Zoom y axis
- DygraphOps.dispatchMouseDown_Point(g, 10, 10);
- DygraphOps.dispatchMouseMove_Point(g, 10, 30);
- DygraphOps.dispatchMouseUp_Point(g, 10, 30);
+ DygraphOps.dispatchMouseDown_Point(g, 100, 100);
+ DygraphOps.dispatchMouseMove_Point(g, 100, 130);
+ DygraphOps.dispatchMouseUp_Point(g, 100, 130);
currentYAxisRange = g.yAxisRange();
currentXAxisRange = g.xAxisRange();
//check that the range for the axis has changed
- assertNotEquals(1,currentXAxisRange[0]);
- assertNotEquals(10,currentXAxisRange[1]);
- assertNotEquals(1,currentYAxisRange[0]);
- assertNotEquals(50,currentYAxisRange[1]);
+ assertNotEquals(1, currentXAxisRange[0]);
+ assertNotEquals(10, currentXAxisRange[1]);
+ assertNotEquals(1, currentYAxisRange[0]);
+ assertNotEquals(50, currentYAxisRange[1]);
// unzoom by doubleclick. This is really the order in which a browser
// generates events, and we depend on it.
// TODO check if range for x-axis is correct.
// Currently not possible because dateRange is set to null and extremes are returned
newYAxisRange = g.yAxisRange();
- assertEquals(1,newYAxisRange[0]);
- assertEquals(50,newYAxisRange[1]);
+ assertEquals(1, newYAxisRange[0]);
+ assertEquals(50, newYAxisRange[1]);
};
/**
if (regionWidth >= 10 && context.dragDirection == Dygraph.HORIZONTAL) {
var left = Math.min(context.dragStartX, context.dragEndX),
right = Math.max(context.dragStartX, context.dragEndX);
- g.doZoomX_(Math.max(left, plotArea.x),
- Math.min(right, plotArea.x + plotArea.w));
+ left = Math.max(left, plotArea.x);
+ right = Math.min(right, plotArea.x + plotArea.w);
+ if (left < right) {
+ g.doZoomX_(left, right);
+ }
context.cancelNextDblclick = true;
} else if (regionHeight >= 10 && context.dragDirection == Dygraph.VERTICAL) {
var top = Math.min(context.dragStartY, context.dragEndY),
bottom = Math.max(context.dragStartY, context.dragEndY);
- g.doZoomY_(Math.max(top, plotArea.y),
- Math.min(bottom, plotArea.y + plotArea.h));
+ top = Math.max(top, plotArea.y);
+ bottom = Math.min(bottom, plotArea.y + plotArea.h);
+ if (top < bottom) {
+ g.doZoomY_(top, bottom);
+ }
context.cancelNextDblclick = true;
} else {
if (context.zoomMoved) g.clearZoomRect_();