Annotation date parser was failing, but not providing the correct
[dygraphs.git] / dygraph-canvas.js
index c5eb835..d6570d1 100644 (file)
@@ -70,7 +70,7 @@ DygraphLayout.prototype.setAnnotations = function(ann) {
       return;
     }
     Dygraph.update(a, ann[i]);
-    if (!a.xval) a.xval = parse(a.x);
+    if (!a.xval) a.xval = parse(a.x, this.dygraph_);
     this.annotations.push(a);
   }
 };
@@ -521,14 +521,18 @@ DygraphCanvasRenderer.prototype._renderAxis = function() {
     width: this.attr_('axisLabelWidth') + "px",
     overflow: "hidden"
   };
-  var makeDiv = function(txt) {
+  var makeDiv = function(txt, axis) {
     var div = document.createElement("div");
     for (var name in labelStyle) {
       if (labelStyle.hasOwnProperty(name)) {
         div.style[name] = labelStyle[name];
       }
     }
-    div.appendChild(document.createTextNode(txt));
+    var inner_div = document.createElement("div");
+    // TODO(danvk): separate class for secondary y-axis
+    inner_div.className = 'dygraph-axis-label dygraph-axis-label-' + axis;
+    inner_div.appendChild(document.createTextNode(txt));
+    div.appendChild(inner_div);
     return div;
   };
 
@@ -555,7 +559,7 @@ DygraphCanvasRenderer.prototype._renderAxis = function() {
         context.closePath();
         context.stroke();
 
-        var label = makeDiv(tick[2]);
+        var label = makeDiv(tick[2], 'y');
         var top = (y - this.attr_('axisLabelFontSize') / 2);
         if (top < 0) top = 0;
 
@@ -620,7 +624,7 @@ DygraphCanvasRenderer.prototype._renderAxis = function() {
         context.closePath();
         context.stroke();
 
-        var label = makeDiv(tick[1]);
+        var label = makeDiv(tick[1], 'x');
         label.style.textAlign = "center";
         label.style.top = (y + this.attr_('axisTickSize')) + 'px';
 
@@ -1035,7 +1039,7 @@ DygraphCanvasRenderer.prototype._renderLineChart = function() {
           var isIsolated = (!prevX && (j == points.length - 1 ||
                                        !Dygraph.isOK(points[j+1].canvasy)));
 
-          if (!prevX) {
+          if (prevX === null) {
             prevX = point.canvasx;
             prevY = point.canvasy;
           } else {