Looking better -- handle the CSV/no label case.
authorRobert Konigsberg <konigsberg@google.com>
Sun, 18 Nov 2012 00:51:24 +0000 (18:51 -0600)
committerRobert Konigsberg <konigsberg@google.com>
Sun, 18 Nov 2012 00:51:24 +0000 (18:51 -0600)
dygraph-options.js
dygraph.js

index 562fa24..33150fe 100644 (file)
@@ -33,6 +33,16 @@ var DygraphOptions = function(dygraph) {
   this.global_user = this.dygraph_.user_attrs_ || {};
 
   // Get a list of series names.
+
+  var labels = this.find("labels");
+  if (!labels) {
+    return; // -- can't do more for now, will parse after getting the labels.
+  };
+
+  this.reparseForLabels();
+}
+
+DygraphOptions.prototype.reparseSeries = function() {
   this.labels = this.find("labels").slice(1);
 
   var axisId = 0; // 0-offset; there's always one.
@@ -75,7 +85,7 @@ var DygraphOptions = function(dygraph) {
     this.axes.push(axis_opts["y"] || {}); 
     this.axes.push(axis_opts["y2"] || {}); 
   } else {
-    this.axes.push(axis_opts["y"] || {});  // There has to be at least one axis.
+    this.axes.push({});  // There has to be at least one axis.
   }
 };
 
index 4189750..ae61842 100644 (file)
@@ -2971,6 +2971,7 @@ Dygraph.prototype.parseCSV_ = function(data) {
     // User hasn't explicitly set labels, so they're (presumably) in the CSV.
     start = 1;
     this.attrs_.labels = lines[0].split(delim);  // NOTE: _not_ user_attrs_.
+    this.attributes_.reparseSeries();
   }
   var line_no = 0;