projects
/
dygraphs.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
Update documentation to include step plots.
[dygraphs.git]
/
dygraph.js
diff --git
a/dygraph.js
b/dygraph.js
index
51578bb
..
ee5306c
100644
(file)
--- a/
dygraph.js
+++ b/
dygraph.js
@@
-123,7
+123,9
@@
Dygraph.DEFAULT_ATTRS = {
connectSeparatedPoints: false,
stackedGraph: false,
connectSeparatedPoints: false,
stackedGraph: false,
- hideOverlayOnMouseOut: true
+ hideOverlayOnMouseOut: true,
+
+ stepPlot: false
};
// Various logging levels.
};
// Various logging levels.
@@
-393,20
+395,24
@@
Dygraph.prototype.createInterface_ = function() {
this.canvas_.height = this.height_;
this.canvas_.style.width = this.width_ + "px"; // for IE
this.canvas_.style.height = this.height_ + "px"; // for IE
this.canvas_.height = this.height_;
this.canvas_.style.width = this.width_ + "px"; // for IE
this.canvas_.style.height = this.height_ + "px"; // for IE
- this.graphDiv.appendChild(this.canvas_);
// ... and for static parts of the chart.
this.hidden_ = this.createPlotKitCanvas_(this.canvas_);
// ... and for static parts of the chart.
this.hidden_ = this.createPlotKitCanvas_(this.canvas_);
+ // The interactive parts of the graph are drawn on top of the chart.
+ this.graphDiv.appendChild(this.hidden_);
+ this.graphDiv.appendChild(this.canvas_);
+ this.mouseEventElement_ = this.canvas_;
+
// Make sure we don't overdraw.
Dygraph.clipCanvas_(this.hidden_, this.clippingArea_);
Dygraph.clipCanvas_(this.canvas_, this.clippingArea_);
var dygraph = this;
// Make sure we don't overdraw.
Dygraph.clipCanvas_(this.hidden_, this.clippingArea_);
Dygraph.clipCanvas_(this.canvas_, this.clippingArea_);
var dygraph = this;
- Dygraph.addEvent(this.
hidden
_, 'mousemove', function(e) {
+ Dygraph.addEvent(this.
mouseEventElement
_, 'mousemove', function(e) {
dygraph.mouseMove_(e);
});
dygraph.mouseMove_(e);
});
- Dygraph.addEvent(this.
hidden
_, 'mouseout', function(e) {
+ Dygraph.addEvent(this.
mouseEventElement
_, 'mouseout', function(e) {
dygraph.mouseOut_(e);
});
dygraph.mouseOut_(e);
});
@@
-482,7
+488,6
@@
Dygraph.prototype.createPlotKitCanvas_ = function(canvas) {
h.height = this.height_;
h.style.width = this.width_ + "px"; // for IE
h.style.height = this.height_ + "px"; // for IE
h.height = this.height_;
h.style.width = this.width_ + "px"; // for IE
h.style.height = this.height_ + "px"; // for IE
- this.graphDiv.appendChild(h);
return h;
};
return h;
};
@@
-713,7
+718,7
@@
Dygraph.prototype.createDragInterface_ = function() {
var getY = function(e) { return Dygraph.pageX(e) - py };
// Draw zoom rectangles when the mouse is down and the user moves around
var getY = function(e) { return Dygraph.pageX(e) - py };
// Draw zoom rectangles when the mouse is down and the user moves around
- Dygraph.addEvent(this.
hidden
_, 'mousemove', function(event) {
+ Dygraph.addEvent(this.
mouseEventElement
_, 'mousemove', function(event) {
if (isZooming) {
dragEndX = getX(event);
dragEndY = getY(event);
if (isZooming) {
dragEndX = getX(event);
dragEndY = getY(event);
@@
-735,7
+740,7
@@
Dygraph.prototype.createDragInterface_ = function() {
});
// Track the beginning of drag events
});
// Track the beginning of drag events
- Dygraph.addEvent(this.
hidden
_, 'mousedown', function(event) {
+ Dygraph.addEvent(this.
mouseEventElement
_, 'mousedown', function(event) {
px = Dygraph.findPosX(self.canvas_);
py = Dygraph.findPosY(self.canvas_);
dragStartX = getX(event);
px = Dygraph.findPosX(self.canvas_);
py = Dygraph.findPosY(self.canvas_);
dragStartX = getX(event);
@@
-769,7
+774,7
@@
Dygraph.prototype.createDragInterface_ = function() {
});
// Temporarily cancel the dragging event when the mouse leaves the graph
});
// Temporarily cancel the dragging event when the mouse leaves the graph
- Dygraph.addEvent(this.
hidden
_, 'mouseout', function(event) {
+ Dygraph.addEvent(this.
mouseEventElement
_, 'mouseout', function(event) {
if (isZooming) {
dragEndX = null;
dragEndY = null;
if (isZooming) {
dragEndX = null;
dragEndY = null;
@@
-778,7
+783,7
@@
Dygraph.prototype.createDragInterface_ = function() {
// If the mouse is released on the canvas during a drag event, then it's a
// zoom. Only do the zoom if it's over a large enough area (>= 10 pixels)
// If the mouse is released on the canvas during a drag event, then it's a
// zoom. Only do the zoom if it's over a large enough area (>= 10 pixels)
- Dygraph.addEvent(this.
hidden
_, 'mouseup', function(event) {
+ Dygraph.addEvent(this.
mouseEventElement
_, 'mouseup', function(event) {
if (isZooming) {
isZooming = false;
dragEndX = getX(event);
if (isZooming) {
isZooming = false;
dragEndX = getX(event);
@@
-814,7
+819,7
@@
Dygraph.prototype.createDragInterface_ = function() {
});
// Double-clicking zooms back out
});
// Double-clicking zooms back out
- Dygraph.addEvent(this.
hidden
_, 'dblclick', function(event) {
+ Dygraph.addEvent(this.
mouseEventElement
_, 'dblclick', function(event) {
if (self.dateWindow_ == null) return;
self.dateWindow_ = null;
self.drawGraph_(self.rawData_);
if (self.dateWindow_ == null) return;
self.dateWindow_ = null;
self.drawGraph_(self.rawData_);
@@
-885,7
+890,7
@@
Dygraph.prototype.doZoom_ = function(lowX, highX) {
* @private
*/
Dygraph.prototype.mouseMove_ = function(event) {
* @private
*/
Dygraph.prototype.mouseMove_ = function(event) {
- var canvasx = Dygraph.pageX(event) - Dygraph.findPosX(this.
hidden
_);
+ var canvasx = Dygraph.pageX(event) - Dygraph.findPosX(this.
mouseEventElement
_);
var points = this.layout_.points;
var lastx = -1;
var points = this.layout_.points;
var lastx = -1;