Landing!
[dygraphs.git] / plugins / legend.js
index 6e2e555..721812c 100644 (file)
@@ -1,3 +1,9 @@
+/**
+ * @license
+ * Copyright 2012 Dan Vanderkam (danvdk@gmail.com)
+ * MIT-licensed (http://opensource.org/licenses/MIT)
+ */
+
 Dygraph.Plugins.Legend = (function() {
 
 /*
@@ -61,7 +67,7 @@ legend.prototype.activate = function(g) {
       "zIndex": 10,
       "width": divWidth + "px",
       "top": "0px",
-      "right": "2px",
+      "left": (g.size().width - divWidth - 2) + "px",
       "background": "white",
       "lineHeight": "normal",
       "textAlign": "left",
@@ -94,7 +100,7 @@ legend.prototype.activate = function(g) {
     deselect: this.deselect,
     // TODO(danvk): rethink the name "predraw" before we commit to it in any API.
     predraw: this.predraw,
-    drawChart: this.drawChart
+    didDrawChart: this.didDrawChart
   };
 };
 
@@ -126,7 +132,7 @@ legend.prototype.deselect = function(e) {
   this.legend_div_.innerHTML = html;
 };
 
-legend.prototype.drawChart = function(e) {
+legend.prototype.didDrawChart = function(e) {
   this.deselect(e);
 }
 
@@ -144,6 +150,7 @@ legend.prototype.predraw = function(e) {
   if (!this.is_generated_div_) return;
 
   // TODO(danvk): only use real APIs for this.
+  e.dygraph.graphDiv.appendChild(this.legend_div_);
   var area = e.dygraph.plotter_.area;
   this.legend_div_.style.left = area.x + area.w - e.dygraph.getOption("labelsDivWidth") - 1 + "px";
   this.legend_div_.style.top = area.y + "px";
@@ -202,7 +209,10 @@ var generateLegendHTML = function(g, x, sel_points, oneEmWidth) {
   // TODO(danvk): remove this use of a private API
   var xOptView = g.optionsViewForAxis_('x');
   var xvf = xOptView('valueFormatter');
-  html = xvf(x, xOptView, labels[0], g) + ":";
+  html = xvf(x, xOptView, labels[0], g);
+  if(html !== '') {
+       html += ':';
+  }
 
   var yOptViews = [];
   var num_axes = g.numAxes();