2.0.0 release fixes (#815)
authorDan Vanderkam <danvdk@gmail.com>
Wed, 28 Dec 2016 21:37:08 +0000 (16:37 -0500)
committerGitHub <noreply@github.com>
Wed, 28 Dec 2016 21:37:08 +0000 (16:37 -0500)
* Documentation / test cleanup
* Remove deprecated avoidMinZero option
* remove all references to dygraph-combined
* Drop for..of and polyfill to save space
* Check for strings in native format
* Generate minified CSS
* Get npm distribution working
* Guard process access for rollup
* Add ES6 example to home page
* Update tests to source CSS from dist
* update some references
* Drop bower, bump version
* index.es5.js
* bump version

126 files changed:
.github/CONTRIBUTING.md
.github/ISSUE_TEMPLATE.md
.gitignore
README.md
auto_tests/tests/formats.js
auto_tests/tests/pathological_cases.js
auto_tests/tests/range_tests.js
bower.json [deleted file]
docs/header.html
docs/index.html
docs/tutorial.html
docs/versions.html
gallery/avoid-min-zero.js [deleted file]
gallery/edge-padding.js [deleted file]
gallery/gallery.js
gallery/index.html
gwt/org/danvk/Dygraphs.java
index.es5.js [new file with mode: 0644]
index.js [new file with mode: 0644]
package.json
releases.json
scripts/build.sh
scripts/generate-documentation.py
scripts/generate-download.py
scripts/generate-jsdoc.sh
scripts/push-to-web.sh
scripts/release.sh
scripts/weigh-in.sh
src/dygraph-default-attrs.js
src/dygraph-options-reference.js
src/dygraph-options.js
src/dygraph.js
src/plugins/axes.js
src/plugins/grid.js
tests/annotation-gviz.html
tests/annotation-native.html
tests/annotation.html
tests/avoidMinZero.html [deleted file]
tests/border.html
tests/callback.html
tests/century-scale.html
tests/charting-combinations.html
tests/color-cycle.html
tests/color-visibility.html
tests/connect-separated.html
tests/crosshair.html
tests/css-positioning.html
tests/custom-bars.html
tests/custom-circles.html
tests/customLabel.html
tests/customLabelCss3.html
tests/dateWindow.html
tests/daylight-savings.html
tests/demo.html
tests/dense-fill.html
tests/draw-points.html
tests/drawing.html
tests/dygraph-many-points-benchmark.html
tests/dygraph.html
tests/dynamic-update.html
tests/exported-symbols.html
tests/fillGraph-alpha.html
tests/fillGraph.html
tests/fractions.html
tests/grid_dot.html
tests/gviz-infinity.html
tests/gviz-selection.html
tests/gviz.html
tests/hairlines.html
tests/highlighted-region.html
tests/hourly.html
tests/iframe.html
tests/independent-series.html
tests/interaction.html
tests/is-zoomed.html
tests/isolated-points.html
tests/label-div.html
tests/labelsDateMilliseconds.html
tests/labelsDateUTC.html
tests/labelsKMB.html
tests/layout-options.html
tests/legend-formatter.html
tests/legend-values.html
tests/linear-regression-addseries.html
tests/linear-regression-fractions.html
tests/linear-regression.html
tests/link-interaction.html
tests/logscale.html
tests/missing-data.html
tests/multi-scale.html
tests/native-format.html
tests/negative.html
tests/no-range.html
tests/no-visibility.html
tests/number-format.html
tests/numeric-axis.html
tests/numeric-gviz.html
tests/out-of-order.html
tests/per-series.html
tests/perf.html
tests/plotter.html
tests/plotters.html
tests/plugins.html
tests/range-selector.html
tests/resize.html
tests/reverse-y-axis.html
tests/series-highlight.html
tests/small-range-zero.html
tests/smooth-plots.html
tests/spacing.html
tests/stacked.html
tests/steps.html
tests/stock.html
tests/straw-broom.html
tests/styled-chart-labels.html
tests/synchronize.html
tests/temperature-sf-ny.html
tests/two-axes-vr.html
tests/two-axes.html
tests/unboxed-spark.html
tests/underlay-callback.html
tests/value-axis-formatters.html
tests/visibility.html
tests/x-axis-formatter.html
tests/zero-series.html
tests/zoom.html

index ee72da0..80d7cf2 100644 (file)
@@ -7,13 +7,13 @@ It also helps if you include the non-compacted version of the JS on your
 page. For instance, instead of doing this:
 
 ```html
-<script type="text/javascript" src="dygraph-combined.js"></script>
+<script type="text/javascript" src="dygraph.min.js"></script>
 ```
 
 do this:
 
 ```html
-<script type="text/javascript" src="dygraph-combined.dev.js"></script>
+<script type="text/javascript" src="dygraph.js"></script>
 ```
 
 This makes error messages and debugging simpler. The jsfiddle does this automatically.
index 75d0c7a..3bbac04 100644 (file)
@@ -8,13 +8,13 @@ It also helps if you include the non-compacted version of the JS on your
 page. For instance, instead of doing this:
 
 ```html
-<script type="text/javascript" src="dygraph-combined.js"></script>
+<script type="text/javascript" src="dygraph.min.js"></script>
 ```
 
 do this:
 
 ```html
-<script type="text/javascript" src="dygraph-combined.dev.js"></script>
+<script type="text/javascript" src="dygraph.js"></script>
 ```
 
 This makes error messages and debugging simpler. The jsfiddle does this automatically.
index 121cd66..e97dd19 100644 (file)
@@ -5,3 +5,4 @@ env
 dist
 coverage
 *.log
+*.pyc
index 9abb9a1..8e639e5 100644 (file)
--- a/README.md
+++ b/README.md
@@ -24,7 +24,8 @@ Get help with dygraphs on
 ```html
 <html>
 <head>
-<script type="text/javascript" src="dygraph-combined.js"></script>
+<script type="text/javascript" src="dygraph.js"></script>
+<link rel="stylesheet" href="dygraph.css" />
 </head>
 <body>
 <div id="graphdiv"></div>
index f16cc6d..2548d99 100644 (file)
@@ -77,6 +77,16 @@ it('testXValueParser', function() {
   assert.equal(6, g.getValue(3, 0));
 });
 
+it('should throw on strings in native format', () => {
+  assert.throws(() => {
+    new Dygraph('graph', [['1', '10'], ['2', '20']])
+  }, /expected number or date/i);
+
+  assert.throws(() => {
+    new Dygraph('graph', [[new Date(), '10'], [new Date(), '20']])
+  }, /expected number or array/i);
+});
+
 var assertData = function(g) {
   var expected = dataArray;
 
index 0fab200..326fefb 100644 (file)
@@ -70,10 +70,6 @@ it('testCombinations', function() {
 
   var variantOpts = {
     none: {},
-    avoidMinZero: {
-      avoidMinZero: true,
-      includeZero: true
-    },
     padded: {
       includeZero: true,
       drawAxesAtZero: true,
index 19d4294..f14d30f 100644 (file)
@@ -19,7 +19,7 @@
 // THE SOFTWARE.
 
 
-/** 
+/**
  * @fileoverview Test valueRange and dateWindow changes.
  *
  * @author konigsberg@google.com (Robert Konigsberg)
@@ -43,7 +43,7 @@ var ZERO_TO_FIFTY_STEPS = (function() {
 }());
 
 var FIVE_TO_ONE_THOUSAND = [
-    [ 1, 10 ], [ 2, 20 ], [ 3, 30 ], [ 4, 40 ] , [ 5, 50 ], 
+    [ 1, 10 ], [ 2, 20 ], [ 3, 30 ], [ 4, 40 ] , [ 5, 50 ],
     [ 6, 60 ], [ 7, 70 ], [ 8, 80 ], [ 9, 90 ] , [ 10, 1000 ]];
 
 describe("range-tests", function() {
@@ -106,7 +106,7 @@ it('testRangeSetOperations', function() {
   g.updateOptions({  });
   assert.deepEqual([12, 18], g.xAxisRange());
   assert.deepEqual([10, 40], g.yAxisRange(0));
-  
+
   g.updateOptions({valueRange : null, axes: {y:{valueRange : [15, 20]}}});
   assert.deepEqual([12, 18], g.xAxisRange());
   assert.deepEqual([15, 20], g.yAxisRange(0));
@@ -182,7 +182,7 @@ it('testLogScaleExcludesZero', function() {
     labels: ['X', 'Y']
   });
   assert.deepEqual([10, 1099], g.yAxisRange(0));
+
   g.updateOptions({ logscale : false });
   assert.deepEqual([0, 1099], g.yAxisRange(0));
 });
@@ -196,7 +196,7 @@ it('testIncludeZeroIncludesZero', function() {
     labels: ['X', 'Y']
   });
   assert.deepEqual([0, 1100], g.yAxisRange(0));
+
   g.updateOptions({ includeZero : false });
   assert.deepEqual([450, 1050], g.yAxisRange(0));
 });
@@ -206,14 +206,14 @@ it('testIncludeZeroIncludesZero', function() {
  * Verify that includeZero range is properly specified per axis.
  */
 it('testIncludeZeroPerAxis', function() {
-  var g = new Dygraph("graph", 
+  var g = new Dygraph("graph",
     'X,A,B\n'+
     '0,50,50\n'+
     '50,110,110\n',
     {
       drawPoints: true,
       pointSize:5,
-      series:{ 
+      series:{
         A: {
           axis: 'y',
           pointSize: 10
@@ -221,7 +221,7 @@ it('testIncludeZeroPerAxis', function() {
         B: {
           axis: 'y2'
         }
-      },  
+      },
       axes: {
         'y2': { includeZero: true }
       }
@@ -242,7 +242,7 @@ it('testIncludeZeroPerAxis', function() {
 
 /**
  * Verify that very large Y ranges don't break things.
- */ 
+ */
 it('testHugeRange', function() {
   var g = new Dygraph("graph", [[0, -1e120], [1, 1e230]], {
     includeZero: true,
@@ -253,15 +253,6 @@ it('testHugeRange', function() {
 });
 
 /**
- * Verify old-style avoidMinZero option.
- */
-it('testAvoidMinZero', function() {
-  var g = createGraph({
-      avoidMinZero: true,
-    }, ZERO_TO_FIFTY_STEPS, [10, 20], [-5, 55]);
-});
-
-/**
  * Verify ranges with user-specified padding, implicit avoidMinZero.
  */
 it('testPaddingAuto', function() {
@@ -346,23 +337,6 @@ it('testLogscalePad', function() {
 });
 
 /**
- * Verify scrolling all-zero region, traditional.
- */
-it('testZeroScroll', function() {
-  var g = new Dygraph(
-      document.getElementById("graph"),
-      "X,Y\n" +
-      "1,0\n" +
-      "8,0\n" +
-      "9,0.1\n",
-      {
-        drawAxesAtZero: true,
-        animatedZooms: true,
-        avoidMinZero: true
-      });
-});
-
-/**
  * Verify scrolling all-zero region, new-style.
  */
 it('testZeroScroll2', function() {
diff --git a/bower.json b/bower.json
deleted file mode 100644 (file)
index 6ebcc5c..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-{
-  "name": "dygraphs",
-  "main": "dist/dygraph.js",
-  "ignore": [
-    "Makefile",
-    "NOTES",
-    "auto_tests",
-    "common",
-    "data.js",
-    "docs",
-    "experimental",
-    "file-size-stats.sh",
-    "gadget.xml",
-    "gallery",
-    "generate-combined.sh",
-    "generate-documentation.py",
-    "generate-download.py",
-    "generate-jar.sh",
-    "generate-jsdoc.sh",
-    "gwt",
-    "jsTestDriver.conf",
-    "jsdoc-toolkit",
-    "lint.sh",
-    "node_modules",
-    "package.json",
-    "phantom-driver.js",
-    "phantom-perf.js",
-    "push-to-web.sh",
-    "release.sh",
-    "releases.json",
-    "screenshot.png",
-    "scripts",
-    "test.sh",
-    "tests",
-    "thumbnail.png"
-  ]
-}
index 870c84c..cc5881c 100644 (file)
@@ -6,9 +6,10 @@
     <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"></script>
     <link rel="stylesheet" href="bootstrap.min.css">
     <link rel="stylesheet" href="site.css">
+    <link rel="stylesheet" href="dygraph.css">
 
     <script src="bootstrap.min.js"></script>
-    <script type="text/javascript" src="dygraph-combined.js"></script> 
+    <script type="text/javascript" src="dygraph.min.js"></script>
   </head>
   <body>
     <!--
@@ -28,7 +29,7 @@
 
       <h1 class="navbar-brand"><a href="/">dygraphs</a></h1>
 
-      
+
       <!-- Place everything within .navbar-collapse to hide it until above 768px -->
       <div class="nav-collapse collapse navbar-responsive-collapse">
 
index 21b22f4..f969672 100644 (file)
@@ -26,7 +26,7 @@ pre.prettyprint {
       <div id="demodiv"></div>
     </div>
   </div>
-  
+
 
   <script type="text/javascript">
     g = new Dygraph(
@@ -61,6 +61,18 @@ pre.prettyprint {
       <p>Start by <a href="download.html">downloading dygraphs</a>. Then read the <a href="tutorial.html">Tutorial</a> to learn how to use it, or just <a href="http://dygraphs.com/fiddle">play with dygraphs</a> on jsFiddle.</p>
 
       <p>Once you've got your feet wet, look for inspiration in the <a href="gallery/">demo gallery</a> or check out our <a href="users.html">list of users</a>.</p>
+
+      <p>If you're using npm and a bundler like webpack, browserify or rollup, you can install dygraphs via:</p>
+
+      <pre>npm install --save dygraphs</pre>
+
+      and use it via:
+
+      <pre class="prettyprint">import Dygraph from 'dygraphs';
+// or: const Dygraph = require('dygraphs');
+const g = new Dygraph(div, data, {});</pre>
+
+      <p>Check out the <a href="https://github.com/danvk/dygraphs-es6">dygraphs ES6 sample project</a> for more details on this approach.</p>
     </div>
 
     <div class="col-lg-4">
@@ -79,5 +91,5 @@ pre.prettyprint {
     </div>
 
   </div>
-  
+
 <!--#include virtual="footer.html" -->
index 7a00593..3e9f293 100644 (file)
@@ -6,7 +6,8 @@
   }
 </style>
 
-<p>To use dygraphs, include the <code><a href="download.html">dygraph-combined-dev.js</a></code> JavaScript file and instantiate a <code>Dygraph</code> object.</p>
+<p>To use dygraphs, include the <code><a href="download.html">dygraph.js</a></code> JavaScript file
+and <code>dygraph.css</code> CSS file. Then instantiate a <code>Dygraph</code> object.</p>
 
 <p>Here's a basic example to get things started:</p>
 
@@ -17,7 +18,8 @@
 &lt;html&gt;
 &lt;head&gt;
 &lt;script type=&quot;text/javascript&quot;
-  src=&quot;dygraph-combined-dev.js&quot;&gt;&lt;/script&gt;
+  src=&quot;dygraph.js&quot;&gt;&lt;/script&gt;
+&lt;link rel=&quot;stylesheet&quot; src=&quot;dygraph.css&quot; /&gt;
 &lt;/head&gt;
 &lt;body&gt;
 &lt;div id=&quot;graphdiv&quot;&gt;&lt;/div&gt;
@@ -69,7 +71,8 @@
 &lt;html&gt;
 &lt;head&gt;
 &lt;script type=&quot;text/javascript&quot;
-  src=&quot;dygraph-combined-dev.js&quot;&gt;&lt;/script&gt;
+  src=&quot;dygraph.js&quot;&gt;&lt;/script&gt;
+&lt;link rel=&quot;stylesheet&quot; src=&quot;dygraph.css&quot; /&gt;
 &lt;/head&gt;
 &lt;body&gt;
 &lt;div id=&quot;graphdiv2&quot;
 &lt;html&gt;
 &lt;head&gt;
 &lt;script type=&quot;text/javascript&quot;
-  src=&quot;dygraph-combined-dev.js&quot;&gt;&lt;/script&gt;
+  src=&quot;dygraph.js&quot;&gt;&lt;/script&gt;
+&lt;link rel=&quot;stylesheet&quot; src=&quot;dygraph.css&quot; /&gt;
 &lt;/head&gt;
 &lt;body&gt;
 &lt;div id=&quot;graphdiv3&quot;
 &lt;html&gt;
 &lt;head&gt;
 &lt;script type=&quot;text/javascript&quot;
-  src=&quot;combined.js&quot;&gt;&lt;/script&gt;
+  src=&quot;dygraph.js&quot;&gt;&lt;/script&gt;
+&lt;link rel=&quot;stylesheet&quot; src=&quot;dygraph.css&quot; /&gt;
 &lt;/head&gt;
 &lt;body&gt;
 &lt;div id=&quot;graphdiv4&quot;
index e336eea..a5974b5 100644 (file)
 
 <table class="versions">
   <tr>
+    <td>1.1.1<p class="date">2015-06-01</p></td>
+    <td class="notes">
+      <ul>
+        <li>Set <code>this</code> to the dygraph in all callbacks.</li>
+        <li>Minor bug fixes.</li>
+      </ul>
+    </td>
+
     <td>1.1.0<p class="date">2014-12-03</p></td>
     <td class="notes">
       Highlights include:
@@ -42,7 +50,7 @@
         <li>"this" is set to the dygraph in all callbacks.
         <li>dygraphs has shrunk, because we moved some stuff into "extras" (133kb→122kb)
       </ul>
-            
+
       This will be the last major release to support browsers without a native &lt;canvas&gt; implementation. See <a href="http://blog.dygraphs.com/2014/12/dygraphs-110.html">blog post</a> for more details.
     </td>
   </tr>
diff --git a/gallery/avoid-min-zero.js b/gallery/avoid-min-zero.js
deleted file mode 100644 (file)
index e74345f..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-/*global Gallery,Dygraph,data */
-Gallery.register(
-  'avoid-min-zero',
-  {
-    name: "Avoid Min Zero",
-    setup: function(parent) {
-      parent.innerHTML =
-          "<p>1: Line chart with axis at zero problem:</p><div id='graph1'></div> " +
-          "<p>2: Step chart with axis at zero problem:</p><div id='graphd2'></div> " +
-          "<p>3: Line chart with <code>avoidMinZero</code> option:</p><div id='graph3'></div> " +
-          "<p>4: Step chart with <code>avoidMinZero</code> option:</p><div id='graphd4'></div> ";
-    },
-    run: function() {
-    new Dygraph(document.getElementById("graph1"),
-        "Date,Temperature\n" +
-        "2008-05-07,0\n" +
-        "2008-05-08,1\n" +
-        "2008-05-09,0\n" +
-        "2008-05-10,0\n" +
-        "2008-05-11,3\n" +
-        "2008-05-12,4\n"
-    );
-    new Dygraph(document.getElementById("graphd2"),
-        "Date,Temperature\n" +
-        "2008-05-07,0\n" +
-        "2008-05-08,1\n" +
-        "2008-05-09,0\n" +
-        "2008-05-10,0\n" +
-        "2008-05-11,3\n" +
-        "2008-05-12,4\n",
-        {
-           stepPlot: true
-        }
-    );
-    new Dygraph(document.getElementById("graph3"),
-        "Date,Temperature\n" +
-        "2008-05-07,0\n" +
-        "2008-05-08,1\n" +
-        "2008-05-09,0\n" +
-        "2008-05-10,0\n" +
-        "2008-05-11,3\n" +
-        "2008-05-12,4\n",
-        {
-            avoidMinZero: true
-        }
-    );
-    new Dygraph(document.getElementById("graphd4"),
-        "Date,Temperature\n" +
-        "2008-05-07,0\n" +
-        "2008-05-08,1\n" +
-        "2008-05-09,0\n" +
-        "2008-05-10,0\n" +
-        "2008-05-11,3\n" +
-        "2008-05-12,4\n",
-        {
-           stepPlot: true,
-           avoidMinZero: true
-        }
-    );
-  }
-});
diff --git a/gallery/edge-padding.js b/gallery/edge-padding.js
deleted file mode 100644 (file)
index 5956d4a..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-/*global Gallery,Dygraph,data */
-Gallery.register(
-  'edge-padding',
-  {
-    name: 'Edge Padding',
-    title: 'Graph edge padding and axis position',
-    setup: function(parent) {
-      parent.innerHTML = (
-          "<style>.dygraph-legend { width: 100px; }</style>" +
-          "<p>" +
-          "  <b>Mode:</b>" +
-          "    <input type='radio' name='mode'>use {x,y}RangePad</input>" +
-          "    <input type='radio' name='mode'>original</input>" +
-          " <br /><b>Settings:</b>" +
-          "    <input type='checkbox' id='yrange'>valueRange=[-2,2]</input>" +
-          "</p>" +
-          "<div id='demodiv'></div>"
-          );
-    },
-    run: function() {
-      var parent = document.getElementById("demodiv");
-
-      var graphs = [];
-      var nrows = 50;
-
-      for (var oy = -2; oy <= 2; ++oy) {
-        for (var ox = -1; ox <= 1; ++ox) {
-          var gdiv = document.createElement('div');
-          gdiv.style.display = 'inline-block';
-          gdiv.style.margin = '2px';
-          parent.appendChild(gdiv);
-
-          var data = [];
-          for (var row = 0; row < nrows; ++row) {
-            var x = row * 5 / (nrows - 1);
-            data.push([ox * 2.5 + x - 2.5,
-                    oy + Math.sin(x),
-                    oy + Math.round(Math.cos(x))]);
-          }
-
-          var g = new Dygraph(gdiv, data, {
-              labels: ['x', 'A', 'B'],
-              gridLineColor: '#ccc',
-              includeZero: true,
-              width: 250,
-              height: 130
-          });
-          graphs.push(g);
-        }
-        parent.appendChild(document.createElement('br'));
-      }
-
-      var updateGraphOpts = function(opts) {
-        for (var i = 0; i < graphs.length; ++i) {
-          graphs[i].updateOptions(opts);
-        }
-      };
-
-      var mode = document.getElementsByName('mode');
-      mode[0].onchange = function() {
-        updateGraphOpts({
-          avoidMinZero: false,
-          xRangePad: 3,
-          yRangePad: 10,
-          drawAxesAtZero: true});
-      };
-      mode[1].onchange = function() {
-        updateGraphOpts({
-          avoidMinZero: true,
-          xRangePad: 0,
-          yRangePad: null,
-          drawAxesAtZero: false});
-      };
-      mode[0].checked = true;
-      mode[0].onchange();
-
-      var yrange = document.getElementById('yrange');
-      yrange.onchange = function(ev) {
-        updateGraphOpts({
-          valueRange: ev.target.checked ? [-2, 2] : null});
-      };
-
-    }
-  });
index f8b4cee..9f7e79b 100644 (file)
@@ -89,7 +89,7 @@ Gallery.start = function() {
 
       jsfs.html("<input type='submit' value='Edit in jsFiddle'/>\n" +
       "<span style='display:none'>\n" +
-      "<textarea name='resources'>http://dygraphs.com/dygraph-combined.js</textarea>\n" +
+      "<textarea name='resources'>http://dygraphs.com/dygraph.js</textarea>\n" +
       "<input type='text' name='dtd' value='html 5'/></span>\n");
 
       var javascript = demo.run.toString();
index a749cf0..6d546b0 100644 (file)
@@ -2,7 +2,7 @@
 <html>
   <head>
     <title>Dygraphs Gallery</title>
-    <link rel="stylesheet" href="../css/dygraph.css" />
+    <link rel="stylesheet" href="../dist/dygraph.css" />
 
     <script src="../dist/dygraph.js"></script>
     <script src="../src/extras/synchronizer.js"></script>
     <script src="temperature-sf-ny.js"></script>
     <script src="interaction.js"></script>
     <script src="linear-regression.js"></script>
-    <script src="edge-padding.js"></script>
 
     <!-- These might not remain in the gallery
     <script src="dygraph-simple.js"></script>
     <script src="demo.js"></script>
     <script src="border.js"></script>
     <script src="callbacks.js"></script>
-    <script src="avoid-min-zero.js"></script>
     <script src="color-cycle.js"></script>
     <script src="color-visibility.js"></script>
     <script src="two-axes.js"></script>
index f581577..b603a72 100644 (file)
@@ -15,7 +15,7 @@ public class Dygraphs {
 
   // Protected because the GWT compiler has to generate a subclass.
   protected interface Resources extends ClientBundle {
-    @Source("org/danvk/dygraph-combined.js")
+    @Source("org/danvk/dygraph.min.js")
     TextResource dygraphs();
   }
 
diff --git a/index.es5.js b/index.es5.js
new file mode 100644 (file)
index 0000000..36574ad
--- /dev/null
@@ -0,0 +1,2 @@
+module.exports = require('./src-es5/dygraph');
+
diff --git a/index.js b/index.js
new file mode 100644 (file)
index 0000000..09aed2e
--- /dev/null
+++ b/index.js
@@ -0,0 +1 @@
+export { default } from './src/dygraph';
index c5a8d0b..ededf3f 100644 (file)
@@ -1,12 +1,18 @@
 {
   "name": "dygraphs",
-  "version": "1.1.0",
+  "version": "2.0.0-rc2",
   "description": "dygraphs is a fast, flexible open source JavaScript charting library.",
-  "main": "dist/src/dygraph.js",
-  "directories": {
-    "doc": "docs",
-    "test": "tests"
-  },
+  "main": "index.es5",
+  "module": "index",
+  "jsnext:main": "index",
+  "files": [
+    "index.js",
+    "index.es5.js",
+    "docs",
+    "dist",
+    "src",
+    "src-es5"
+  ],
   "repository": {
     "type": "git",
     "url": "git://github.com/danvk/dygraphs.git"
@@ -32,6 +38,8 @@
     "browserify": "^11.2.0",
     "browserify-header": "^0.9.2",
     "chai": "^3.3.0",
+    "clean-css": "^3.4.23",
+    "core-js": "^2.4.1",
     "coveralls": "^2.11.2",
     "envify": "^3.4.0",
     "exorcist": "^0.4.0",
@@ -42,7 +50,6 @@
     "mocha": "^2.1.0",
     "mocha-phantomjs": "3.5.3",
     "mocha-phantomjs-istanbul": "0.0.2",
-    "obvious-closure-library": "^20140401.0.2",
     "parse-data-uri": "^0.2.0",
     "phantomjs": "^1.9.7-8",
     "pre-commit": "^1.0.6",
@@ -60,8 +67,5 @@
   },
   "pre-commit": [
     "tests-ok"
-  ],
-  "dependencies": {
-    "core-js": "^2.4.1"
-  }
+  ]
 }
index 76b58b7..24496bf 100644 (file)
@@ -1,5 +1,20 @@
 [
   {
+    "version": "2.0.0",
+    "files": [
+      "dygraph.min.js",
+      "dygraph.js",
+      "dygraph.css"
+    ]
+  },
+  {
+    "version": "1.1.1",
+    "files": [
+      "dygraph-combined.js",
+      "dygraph-combined-dev.js"
+    ]
+  },
+  {
     "version": "1.1.0",
     "files": [
       "dygraph-combined.js",
index 35159e4..ebdd1d4 100755 (executable)
@@ -1,9 +1,6 @@
 #!/bin/bash
-# This generates:
-# - dist/dygraph.js
-# - dist/dygraph.js.map
-# - dist/dygraph.min.js
-# - dist/dygraph.min.js.map
+# This generates everything under dist:
+# bundled JS, minified JS, minified CSS and source maps.
 set -o errexit
 
 mkdir -p dist
@@ -45,12 +42,16 @@ uglifyjs --compress --mangle \
   -o dist/dygraph.min.js \
   dist/dygraph.tmp.js
 
-# Copy to the old location
-cp dist/dygraph.min.js dist/dygraph-combined.js
-
 # Build GWT JAR
 jar -cf dist/dygraph-gwt.jar -C gwt org
 
+# Minify CSS
+cp css/dygraph.css dist/
+cleancss css/dygraph.css -o dist/dygraph.min.css --source-map --source-map-inline-sources
+
+# Build ES5-compatible distribution
+babel src -d src-es5 --compact false
+
 # Remove temp files.
 rm dist/dygraph.tmp.js
 rm dist/dygraph.tmp.js.map
index 31781b9..2b1874d 100755 (executable)
@@ -16,7 +16,7 @@ debug_tests = []  # [ 'tests/zoom.html' ]
 # Pull options reference JSON out of dygraph.js
 js = ''
 in_json = False
-for line in file('dygraph-options-reference.js'):
+for line in file('src/dygraph-options-reference.js'):
   if '<JSON>' in line:
     in_json = True
   elif '</JSON>' in line:
index 2d2dd48..3c51e52 100755 (executable)
@@ -51,27 +51,24 @@ print '''
 
 <p>There's a hosted version of dygraphs on <a href="https://cdnjs.com/libraries/dygraph">cdnjs.com</a>:</p>
 
-<pre>&lt;script src="//cdnjs.cloudflare.com/ajax/libs/dygraph/%(version)s/dygraph-combined.js"&gt;&lt;/script&gt;</pre>
+<pre>&lt;script src="//cdnjs.cloudflare.com/ajax/libs/dygraph/%(version)s/dygraph.min.js"&gt;&lt;/script&gt;
+&lt;link rel=&quot;stylesheet&quot; src=&quot;//cdnjs.cloudflare.com/ajax/libs/dygraph/%(version)s/dygraph.min.css&quot; /&gt;
+</pre>
 
-<p>You can install dygraphs using <a href="https://www.npmjs.org/package/dygraphs">NPM</a> or <a href="http://bower.io/search/?q=dygraphs">Bower</a>.</p>
+<p>You can also install dygraphs using <a href="https://www.npmjs.org/package/dygraphs">NPM</a>:</p>
 
-<p>To install using NPM:</p>
 <pre>$ npm install dygraphs
-# dygraphs is now in node_modules/dygraphs/dygraph-combined.js</pre>
-
-<p>To install using bower:</p>
-<pre>$ bower install dygraphs
-# dygraphs is now in bower_components/dygraphs/dygraph-combined.js</pre>
+# dygraphs is now in node_modules/dygraphs/dygraph.js</pre>
 
-<p>Most distributions include a source map. For non-concatenated JS, see <a href="https://github.com/danvk/dygraphs/blob/master/dygraph-dev.js">dygraph-dev.js</a> on <a href="https://github.com/danvk/dygraphs/">github</a>.</a>
+<p>Most distributions include a source map to facilitate debugging.</p>
 
 <p>To generate your own minified JS, run:</p>
 
 <pre>git clone https://github.com/danvk/dygraphs.git
-./generate-combined.sh
+npm run build
 </pre>
 
-<p>This will create a dygraph.min.js file in the dygraphs directory.</p>
+<p>This will create a dygraph.min.js file in the <code>dist</code> directory.</p>
 
 <p>You may also download files for previously-released versions:</p>
 
index 6512fb0..fb633ca 100755 (executable)
@@ -7,7 +7,7 @@ echo Generating JSDoc...
 java -jar jsdoc-toolkit/jsrun.jar \
   jsdoc-toolkit/app/run.js \
   -d=jsdoc -t=jsdoc-toolkit/templates/jsdoc \
-  dygraph.js \
+  src/dygraph.js \
 | tee /tmp/dygraphs-jsdocerrors.txt
 
 if [ -s /tmp/dygraphs-jsdocerrors.txt ]; then
index 0ea59ac..a735b97 100755 (executable)
@@ -1,6 +1,5 @@
 #!/bin/bash
-# This script generates the combined JS file, pushes all content to a web site
-# and then reverts the combined file.
+# This script generates the bundled JS files and pushes all content to a web site using rsync.
 
 if [ "$1" == "" ] ; then
   echo "usage: $0 destination"
@@ -8,18 +7,18 @@ if [ "$1" == "" ] ; then
 fi
 
 set -x
+set -o errexit
 site=$1
 
-# Produce dygraph-combined.js and dygraph-combined-dev.js
-./generate-combined.sh
-./generate-combined.sh cat-dev > dygraph-combined-dev.js
+# Produce dist/*.js
+npm run build
 
 # Generate documentation.
-./generate-documentation.py > docs/options.html
+./scripts/generate-documentation.py > docs/options.html
 chmod a+r docs/options.html
 if [ -s docs/options.html ] ; then
-  ./generate-jsdoc.sh
-  ./generate-download.py > docs/download.html
+  ./scripts/generate-jsdoc.sh
+  ./scripts/generate-download.py > docs/download.html
 
   temp_dir=$(mktemp -d /tmp/dygraphs-docs.XXXX)
   cd docs
@@ -27,20 +26,18 @@ if [ -s docs/options.html ] ; then
   cd ..
 
   # Make sure everything will be readable on the web.
-  # This is like "chmod -R a+rX", but excludes the .git directory.
-  find . -path ./.git -prune -o -print | xargs chmod a+rX
+  # This is like "chmod -R a+rX", but excludes the .git and node_modules directories.
+  find . -print | egrep -v '\.git|node_modules' | xargs chmod a+rX
 
   # Copy everything to the site.
-  rsync -avzr gallery common tests jsdoc experimental plugins datahandler polyfills extras $site \
+  rsync -avzr src src/extras gallery common tests jsdoc dist $site \
   && \
-  rsync -avzr --copy-links dashed-canvas.js dygraph*.js gadget.xml thumbnail.png screenshot.png $temp_dir/* $site/
+  rsync -avzr --copy-links dist/* thumbnail.png screenshot.png $temp_dir/* $site/
 else
   echo "generate-documentation.py failed"
 fi
 
-# Revert changes to dygraph-combined.js and docs.
-make clean-combined-test
-rm dygraph-combined-dev.js
+# Revert changes to docs.
 git checkout docs/download.html
 rm docs/options.html
 rm -rf $temp_dir
index 21c0c34..34a0fd1 100755 (executable)
@@ -32,25 +32,16 @@ if [ $? -ne 0 ]; then
   exit 1
 fi
 
-grep "v$VERSION" bower.json
-if [ $? -ne 0 ]; then
-  echo "Version in bower.json doesn't match command line argument." >&2
-  exit 1
-fi
-
 grep "$VERSION" releases.json
 if [ $? -ne 0 ]; then
   echo "Version $VERSION does not appear in releases.json." >&2
   exit 1
 fi
 
-rm dygraph-combined.js  # changes to this will make the tests fail.
-make lint test test-combined
-if [ $? -ne 0 ]; then
-  echo "Tests failed. Won't release!" >&2
-  exit 1
-fi
-git reset --hard  # make test-combined deletes the source map
+set -o errexit
+npm run build
+npm run test
+set +o errexit
 
 # Push a permanent copy of documentation & generated files to a versioned copy
 # of the site. This is where the downloadable files are generated.
@@ -62,11 +53,7 @@ if [ $? -ne 0 ]; then
   exit 1
 fi
 
-# Everything is good.
-# Switch to the "releases" branch, merge this change and tag it.
-echo "Switching branches to do the release."
-git checkout releases
-git merge --no-ff $branch
+set -o errexit
 
 COMMIT=$(git rev-parse HEAD)
 echo "Tagging commit $COMMIT as version $VERSION"
@@ -78,8 +65,6 @@ echo "Pushing the new version to dygraphs.com..."
 ./push-to-web.sh dygraphs.com:dygraphs.com
 
 echo "Success!\n"
-echo "Don't forget to merge changes on this branch back into master:"
-echo "git merge --no-ff $branch"
 
 # Discourage users from working on the "releases" branch.
 git checkout master
index b46f8c8..e3d0b99 100755 (executable)
@@ -10,7 +10,7 @@ if [ -z "$GITHUB_TOKEN" ]; then
 else
 
   curl -O https://raw.githubusercontent.com/danvk/travis-weigh-in/master/weigh_in.py
-  python weigh_in.py dist/dygraph-combined.js
+  python weigh_in.py dist/dygraph.min.js
   gzip -c dist/dygraph.min.js > dist/dygraph.min.js.gz
   python weigh_in.py dist/dygraph.min.js.gz
 
index 36cbd3e..1b3208c 100644 (file)
@@ -50,7 +50,6 @@ var DEFAULT_ATTRS = {
 
   legend: 'onmouseover',
   stepPlot: false,
-  avoidMinZero: false,
   xRangePad: 0,
   yRangePad: null,
   drawAxesAtZero: false,
index d136a93..4a066bb 100644 (file)
@@ -9,6 +9,7 @@
 var OPTIONS_REFERENCE = null;
 
 // For "production" code, this gets removed by uglifyjs.
+if (typeof(process) !== 'undefined') {
 if (process.env.NODE_ENV != 'production') {
 
 // NOTE: in addition to parsing as JS, this snippet is expected to be valid
@@ -490,12 +491,6 @@ OPTIONS_REFERENCE =  // <JSON>
     "type": "integer",
     "description": "Number of pixels to leave blank at the right edge of the Dygraph. This makes it easier to highlight the right-most data point."
   },
-  "avoidMinZero": {
-    "default": "false",
-    "labels": ["Deprecated"],
-    "type": "boolean",
-    "description": "Deprecated, please use yRangePad instead. When set, the heuristic that fixes the Y axis at zero for a data set with the minimum Y value of zero is disabled. \nThis is particularly useful for data sets that contain many zero values, especially for step plots which may otherwise have lines not visible running along the bottom axis."
-  },
   "drawAxesAtZero": {
     "default": "false",
     "labels": ["Axis display"],
@@ -709,7 +704,7 @@ OPTIONS_REFERENCE =  // <JSON>
   },
   "timingName": {
     "default": "null",
-    "labels": [ "Debugging" ],
+    "labels": [ "Debugging", "Deprecated" ],
     "type": "string",
     "description": "Set this option to log timing information. The value of the option will be logged along with the timimg, so that you can distinguish multiple dygraphs on the same page."
   },
@@ -882,5 +877,6 @@ for (var k in OPTIONS_REFERENCE) {
 }
 
 }
+}
 
 export default OPTIONS_REFERENCE;
index c77e498..7c7f745 100644 (file)
@@ -167,8 +167,10 @@ DygraphOptions.prototype.reparseSeries = function() {
   utils.update(this.xAxis_.options, axis_opts["x"] || {});
 
   // For "production" code, this gets removed by uglifyjs.
-  if (process.env.NODE_ENV != 'production') {
-    this.validateOptions_();
+  if (typeof(process) !== 'undefined') {
+    if (process.env.NODE_ENV != 'production') {
+      this.validateOptions_();
+    }
   }
 };
 
@@ -326,6 +328,7 @@ DygraphOptions.prototype.seriesNames = function() {
 };
 
 // For "production" code, this gets removed by uglifyjs.
+if (typeof(process) !== 'undefined') {
 if (process.env.NODE_ENV != 'production') {
 
 /**
@@ -395,5 +398,6 @@ DygraphOptions.resetWarnings_ = function() {
 };
 
 }
+}
 
 export default DygraphOptions;
index d1629db..8e6d6e0 100644 (file)
  And error bars will be calculated automatically using a binomial distribution.
 
  For further documentation and examples, see http://dygraphs.com/
-
  */
 
-// Polyfills
-import 'core-js/es6/symbol';
-import 'core-js/fn/symbol/iterator';
-
 import DygraphLayout from './dygraph-layout';
 import DygraphCanvasRenderer from './dygraph-canvas';
 import DygraphOptions from './dygraph-options';
@@ -94,7 +89,7 @@ var Dygraph = function(div, data, opts) {
 };
 
 Dygraph.NAME = "Dygraph";
-Dygraph.VERSION = "1.1.0";
+Dygraph.VERSION = "2.0.0";
 
 // Various default values
 Dygraph.DEFAULT_ROLL_PERIOD = 1;
@@ -371,14 +366,16 @@ Dygraph.prototype.toString = function() {
  */
 Dygraph.prototype.attr_ = function(name, seriesName) {
   // For "production" code, this gets removed by uglifyjs.
-  if (process.env.NODE_ENV != 'production') {
-    if (typeof(OPTIONS_REFERENCE) === 'undefined') {
-      console.error('Must include options reference JS for testing');
-    } else if (!OPTIONS_REFERENCE.hasOwnProperty(name)) {
-      console.error('Dygraphs is using property ' + name + ', which has no ' +
-                    'entry in the Dygraphs.OPTIONS_REFERENCE listing.');
-      // Only log this error once.
-      OPTIONS_REFERENCE[name] = true;
+  if (typeof(process) !== 'undefined') {
+    if (process.env.NODE_ENV != 'production') {
+      if (typeof(OPTIONS_REFERENCE) === 'undefined') {
+        console.error('Must include options reference JS for testing');
+      } else if (!OPTIONS_REFERENCE.hasOwnProperty(name)) {
+        console.error('Dygraphs is using property ' + name + ', which has no ' +
+                      'entry in the Dygraphs.OPTIONS_REFERENCE listing.');
+        // Only log this error once.
+        OPTIONS_REFERENCE[name] = true;
+      }
     }
   }
   return seriesName ? this.attributes_.getForSeries(name, seriesName) : this.attributes_.get(name);
@@ -1355,9 +1352,9 @@ Dygraph.prototype.resetZoom = function() {
   // TODO(danvk): merge this block w/ the code below.
   if (!animatedZooms) {
     this.dateWindow_ = null;
-    for (const axis of this.axes_) {
+    this.axes_.forEach(axis => {
       if (axis.valueRange) delete axis.valueRange;
-    }
+    });
 
     this.drawGraph_();
     if (zoomCallback) {
@@ -1380,9 +1377,9 @@ Dygraph.prototype.resetZoom = function() {
   this.doAnimatedZoom(oldWindow, newWindow, oldValueRanges, newValueRanges,
       () => {
         this.dateWindow_ = null;
-        for (const axis of this.axes_) {
+        this.axes_.forEach(axis => {
           if (axis.valueRange) delete axis.valueRange;
-        }
+        });
         if (zoomCallback) {
           zoomCallback.call(this, minDate, maxDate, this.yAxisRanges());
         }
@@ -2441,9 +2438,8 @@ Dygraph.prototype.computeYAxisRanges_ = function(extremes) {
     //
     // - backwards compatible (yRangePad not set):
     //   10% padding for automatic Y ranges, but not for user-supplied
-    //   ranges, and move a close-to-zero edge to zero except if
-    //   avoidMinZero is set, since drawing at the edge results in
-    //   invisible lines. Unfortunately lines drawn at the edge of a
+    //   ranges, and move a close-to-zero edge to zero, since drawing at the edge
+    //   results in invisible lines. Unfortunately lines drawn at the edge of a
     //   user-supplied range will still be invisible. If logscale is
     //   set, add a variable amount of padding at the top but
     //   none at the bottom.
@@ -2516,11 +2512,9 @@ Dygraph.prototype.computeYAxisRanges_ = function(extremes) {
           minAxisY = minY - ypad * span;
 
           // Backwards-compatible behavior: Move the span to start or end at zero if it's
-          // close to zero, but not if avoidMinZero is set.
-          if (!this.getBooleanOption("avoidMinZero")) {
-            if (minAxisY < 0 && minY >= 0) minAxisY = 0;
-            if (maxAxisY > 0 && maxY <= 0) maxAxisY = 0;
-          }
+          // close to zero.
+          if (minAxisY < 0 && minY >= 0) minAxisY = 0;
+          if (maxAxisY > 0 && maxY <= 0) maxAxisY = 0;
         }
       }
       axis.extremeRange = [minAxisY, maxAxisY];
@@ -2783,6 +2777,23 @@ Dygraph.prototype.parseCSV_ = function(data) {
   return ret;
 };
 
+// In native format, all values must be dates or numbers.
+// This check isn't perfect but will catch most mistaken uses of strings.
+function validateNativeFormat(data) {
+  const firstRow = data[0];
+  const firstX = firstRow[0];
+  if (typeof firstX !== 'number' && !utils.isDateLike(firstX)) {
+    throw new Error(`Expected number or date but got ${typeof firstX}: ${firstX}.`);
+  }
+  for (let i = 1; i < firstRow.length; i++) {
+    const val = firstRow[i];
+    if (val === null || val === undefined) continue;
+    if (typeof val === 'number') continue;
+    if (utils.isArrayLike(val)) continue;  // e.g. error bars or custom bars.
+    throw new Error(`Expected number or array but got ${typeof val}: ${val}.`);
+  }
+}
+
 /**
  * The user has provided their data as a pre-packaged JS array. If the x values
  * are numeric, this is the same as dygraphs' internal format. If the x values
@@ -2802,6 +2813,8 @@ Dygraph.prototype.parseArray_ = function(data) {
     return null;
   }
 
+  validateNativeFormat(data);
+
   var i;
   if (this.attr_("labels") === null) {
     console.warn("Using default labels. Set labels explicitly via 'labels' " +
index 2d9e31f..a0169bc 100644 (file)
@@ -164,8 +164,8 @@ axes.prototype.willDrawChart = function(e) {
     if (layout.yticks && layout.yticks.length > 0) {
       var num_axes = g.numAxes();
       var getOptions = [makeOptionGetter('y'), makeOptionGetter('y2')];
-      for (var tick of layout.yticks) {
-        if (tick.label === undefined) continue;  // this tick only has a grid line.
+      layout.yticks.forEach(tick => {
+        if (tick.label === undefined) return;  // this tick only has a grid line.
         x = area.x;
         var sgn = 1;
         var prec_axis = 'y1';
@@ -208,7 +208,7 @@ axes.prototype.willDrawChart = function(e) {
         label.style.width = getAxisOption('axisLabelWidth') + 'px';
         containerDiv.appendChild(label);
         this.ylabels_.push(label);
-      }
+      });
 
       // The lowest tick on the y-axis often overlaps with the leftmost
       // tick on the x-axis. Shift the bottom tick up a little bit to
@@ -257,8 +257,8 @@ axes.prototype.willDrawChart = function(e) {
   if (g.getOptionForAxis('drawAxis', 'x')) {
     if (layout.xticks) {
       var getAxisOption = makeOptionGetter('x');
-      for (var tick of layout.xticks) {
-        if (tick.label === undefined) continue;  // this tick only has a grid line.
+      layout.xticks.forEach(tick => {
+        if (tick.label === undefined) return;  // this tick only has a grid line.
         x = area.x + tick.pos * area.w;
         y = area.y + area.h;
 
@@ -288,7 +288,7 @@ axes.prototype.willDrawChart = function(e) {
         label.style.width = getAxisOption('axisLabelWidth') + 'px';
         containerDiv.appendChild(label);
         this.xlabels_.push(label);
-      }
+      });
     }
 
     context.strokeStyle = g.getOptionForAxis('axisLineColor', 'x');
index 25126db..626ed94 100644 (file)
@@ -15,7 +15,6 @@ Current bits of jankiness:
 
 "use strict";
 
-
 /**
  * Draws the gridlines, i.e. the gray horizontal & vertical lines running the
  * length of the chart.
@@ -62,8 +61,8 @@ grid.prototype.willDrawChart = function(e) {
     ticks = layout.yticks;
     ctx.save();
     // draw grids for the different y axes
-    for (var tick of ticks) {
-      if (!tick.has_tick) continue;
+    ticks.forEach(tick => {
+      if (!tick.has_tick) return;
       var axis = tick.axis;
       if (drawGrid[axis]) {
         ctx.save();
@@ -82,7 +81,7 @@ grid.prototype.willDrawChart = function(e) {
 
         ctx.restore();
       }
-    }
+    });
     ctx.restore();
   }
 
@@ -97,8 +96,8 @@ grid.prototype.willDrawChart = function(e) {
     }
     ctx.strokeStyle = g.getOptionForAxis('gridLineColor', 'x');
     ctx.lineWidth = g.getOptionForAxis('gridLineWidth', 'x');
-    for (var tick of ticks) {
-      if (!tick.has_tick) continue;
+    ticks.forEach(tick => {
+      if (!tick.has_tick) return;
       x = halfUp(area.x + tick.pos * area.w);
       y = halfDown(area.y + area.h);
       ctx.beginPath();
@@ -106,7 +105,7 @@ grid.prototype.willDrawChart = function(e) {
       ctx.lineTo(x, area.y);
       ctx.closePath();
       ctx.stroke();
-    }
+    });
     if (stroking) {
       if (ctx.setLineDash) ctx.setLineDash([]);
     }
index 749ac16..ac950f8 100644 (file)
@@ -1,10 +1,6 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type='text/javascript' src='http://www.google.com/jsapi'></script>
index 4e4538d..53ce249 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Native format annotations</title>
     <script type="text/javascript" src="../dist/dygraph.js"></script>
   </head>
index 002d4dd..c180070 100644 (file)
@@ -1,15 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>demo</title>
-    <!--
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <style type="text/css">
diff --git a/tests/avoidMinZero.html b/tests/avoidMinZero.html
deleted file mode 100644 (file)
index b89e52d..0000000
+++ /dev/null
@@ -1,81 +0,0 @@
-<!DOCTYPE html>
-<html>
-  <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
-    <title>dygraph</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
-    <script type="text/javascript" src="../dist/dygraph.js"></script>
-
-  </head>
-  <body>
-    <p>1: Line chart with axis at zero problem:</p>
-    <div id="graph1"></div>
-    <script type="text/javascript">
-        var g1 = new Dygraph(document.getElementById("graph1"),
-            "Date,Temperature\n" +
-            "2008-05-07,0\n" +
-            "2008-05-08,1\n" +
-            "2008-05-09,0\n" +
-            "2008-05-10,0\n" +
-            "2008-05-11,3\n" +
-            "2008-05-12,4\n"
-        )
-    </script>
-
-    <p>2: Step chart with axis at zero problem:</p>
-    <div id="graphd2"></div>
-    <script type="text/javascript">
-        var g2 = new Dygraph(document.getElementById("graphd2"),
-            "Date,Temperature\n" +
-            "2008-05-07,0\n" +
-            "2008-05-08,1\n" +
-            "2008-05-09,0\n" +
-            "2008-05-10,0\n" +
-            "2008-05-11,3\n" +
-            "2008-05-12,4\n",
-            {
-               stepPlot: true
-            }
-        )
-    </script>
-
-    <p>3: Line chart with <code>avoidMinZero</code> option:</p>
-    <div id="graph3"></div>
-    <script type="text/javascript">
-        var g3 = new Dygraph(document.getElementById("graph3"),
-            "Date,Temperature\n" +
-            "2008-05-07,0\n" +
-            "2008-05-08,1\n" +
-            "2008-05-09,0\n" +
-            "2008-05-10,0\n" +
-            "2008-05-11,3\n" +
-            "2008-05-12,4\n",
-            {
-                avoidMinZero: true
-            }
-        )
-    </script>
-
-    <p>4: Step chart with <code>avoidMinZero</code> option:</p>
-    <div id="graphd4"></div>
-    <script type="text/javascript">
-        var g4 = new Dygraph(document.getElementById("graphd4"),
-            "Date,Temperature\n" +
-            "2008-05-07,0\n" +
-            "2008-05-08,1\n" +
-            "2008-05-09,0\n" +
-            "2008-05-10,0\n" +
-            "2008-05-11,3\n" +
-            "2008-05-12,4\n",
-            {
-               stepPlot: true,
-               avoidMinZero: true
-            }
-        )
-    </script>
-
-  </body>
-</html>
index 03dc0a1..17ce989 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>gadget border</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type="text/javascript" src="data.js"></script>
index fc3450c..d19c40e 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>callbacks</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type="text/javascript" src="data.js"></script>
index 4dad758..b74bee8 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>demo</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
   </head>
index 18157a6..2722b87 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Charting combinations</title>
     <script type="text/javascript" src="../dist/dygraph.js"></script>
     <script type="text/javascript" src="data.js"></script>
index 9cbf071..1d8182f 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>color cycles</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
   </head>
index 73a3b6a..36a602b 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>color visibility</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
   </head>
index f0d8294..32de8b1 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>connect separated</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
   </head>
index dffdf03..3bac264 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>crosshairs</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type="text/javascript" src="../src/extras/crosshair.js"></script>
index 11238c5..add2393 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>demo</title>
     <script type="text/javascript" src="../dist/dygraph.js"></script>
     <style>
index a2f633e..583b597 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>custom bars</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type="text/javascript" src="data.js"></script>
index 5f988f2..8a25d4b 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Custom Circles</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
     <script type="text/javascript" src="../src/extras/shapes.js"></script>
 
index 74fc6d6..c6ffe96 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Label styles</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type="text/javascript" src="data.js"></script>
index ae08bf7..4270d93 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Label styles</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type="text/javascript" src="data.js"></script>
index 89c7969..7deb861 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>dateWindow</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
   </head>
index 2e250aa..0c3ab24 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Daylight Savings</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <style>
index af01cc5..845e7ee 100644 (file)
@@ -1,11 +1,9 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>demo</title>
-    <!--
-    <script type="text/javascript" src="../dist/dygraph.js"></script>
-    -->
+
     <script type="text/javascript" src="../dist/dygraph.js"></script>
   </head>
   <body>
index 033600b..79ee9ec 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>dense, filled plots</title>
     <script type="text/javascript" src="../dist/dygraph.js"></script>
     <style>
index 2a04a17..5e1ce27 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>individual points</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type="text/javascript" src="data.js"></script>
index 03a9b50..8d90e33 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Dygraphs Drawing Demo</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script>
index 5f98755..e276e06 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Benchmarking for Plots with Many Points</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
   </head>
index dd282d1..77d77f0 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>dygraph</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
   </head>
index 22f53be..26feaef 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Live random data</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
   </head>
index 698f2c0..ec38f94 100644 (file)
@@ -1,7 +1,7 @@
 <!doctype html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Exported Symbols test</title>
   </head>
   <body>
index 9a952d4..1579848 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>fillGraph with per series fillAlpha</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
   </head>
index 3e03cd2..4264068 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>fillGraph</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
   </head>
index 4e7ac3d..97a8a45 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Fractions</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
   </head>
index ec783ae..3a1c70f 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Custom grid and Dot</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type="text/javascript" src="data.js"></script>
index 8694172..a71ef54 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>gviz</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type="text/javascript" src="http://www.google.com/jsapi"></script>
index 39a90d6..9a32a5d 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>gviz selection</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type="text/javascript" src="http://www.google.com/jsapi"></script>
index e06fcf9..471add8 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>gviz</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type="text/javascript" src="http://www.google.com/jsapi"></script>
index 6f03b39..f61f639 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Hairlines demo</title>
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
index f932c86..d8b195e 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Highlighted Region</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type="text/javascript" src="data.js"></script>
index 9a526d6..d57b058 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>hourly</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
   </head>
index 93f40df..922aca9 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>demo</title>
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
index b9f07bf..e57c414 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Independent Series</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <style type="text/css">
index 6d35238..37e1846 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>interaction model</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type="text/javascript" src="data.js"></script>
index 28c52cf..8af04cc 100644 (file)
@@ -1,11 +1,7 @@
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>isZoomed method</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type="text/javascript" src="data.js"></script>
index 045fbad..0c53769 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>isolated points</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
   </head>
index b3cd9b6..9815911 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>label-div</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type="text/javascript" src="data.js"></script>
index 332e8c4..cd9a9b6 100644 (file)
@@ -2,10 +2,6 @@
 <html>
   <head>
     <title>Milliseconds date labels</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
   </head>
   <body>
index 27b7101..3eb2c10 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>UTC date labels</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
   </head>
   <body>
index fc125c8..f0ff349 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>labelsKMB</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
   </head>
index c4f7ce7..6855a1b 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Layout Options</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type="text/javascript" src="data.js"></script>
index b1c506a..d74397b 100644 (file)
@@ -1,5 +1,5 @@
 <!DOCTYPE html>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
 <title>legendFormatter</title>
 <style>
 #demodiv {
index da61c0a..f7a7499 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Label styles</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type="text/javascript" src="data.js"></script>
index 2efffb1..c77020d 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Linear Regression</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <style type="text/css">
index 54c299a..c5728a9 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Linear Regression</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <style type="text/css">
index 873e7ca..c38ed33 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Linear Regression</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <style type="text/css">
index c49ac42..d2192fc 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>noise</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
   </head>
index ca21b92..4a81a50 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>log scale</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
   </head>
index 3fd8d60..d48237c 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>missing data</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
   </head>
index d49fdad..45eb989 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>multi-scale</title>
     <script type="text/javascript" src="../dist/dygraph.js"></script>
     <style type="text/css">
index 2cf59cd..3ce1611 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Native Format</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
   </head>
     <script type="text/javascript">
       g2 = new Dygraph(document.getElementById("graphdiv2"),
                        [
-                         [1,10,100],
-                         [2,20,80],
-                         [3,50,60],
-                         [4,70,80]
+                         ['1', '10', '100'],
+                         ['2', '20', '80'],
+                         ['3', '50', '60'],
+                         ['4', '70', '80']
                        ],
                        {
                          labels: [ "x", "A", "B" ]
index e3baf20..68103b6 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>negatives</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
   </head>
index e05a40c..d5b98e6 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>no range</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
   </head>
index b253433..c516c69 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>no-visibility</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type="text/javascript" src="data.js"></script>
index 3f604d2..f85cf02 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Test of number formatting</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
   </head>
index a864f6b..89b5cd5 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>numeric axis</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type="text/javascript" src="http://www.google.com/jsapi"></script>
index fbffd50..f6a0dbe 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>numeric gviz</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
 
index c3e6741..c645aa8 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>out of order</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type="text/javascript" src="http://www.google.com/jsapi"></script>
index a35f767..69039da 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Per-Series Properties</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
   </head>
@@ -15,8 +11,6 @@
     <div id="demodiv"></div>
     <h2>Chart with per-series properties with legend.</h2>
     <div id="demodiv2"></div>
-    <h2>First graph, using old-style series specification.</h2>
-    <div id="demodiv3"></div>
     <script type="text/javascript">
       data = function() {
         var zp = function(x) { if (x < 10) return "0"+x; else return x; };
                 }
               }
           );
-      g3 = new Dygraph(
-              document.getElementById("demodiv3"),
-              data,
-              {
-                strokeWidth: 2,
-                series: {
-                  'parabola': {
-                    strokeWidth: 0.0,
-                    drawPoints: true,
-                    pointSize: 4,
-                    highlightCircleSize: 6
-                  },
-                  'line': {
-                    strokeWidth: 1.0,
-                    drawPoints: true,
-                    pointSize: 1.5
-                  },
-                  'sine wave': {
-                    strokeWidth: 3,
-                    highlightCircleSize: 10
-                  },
-                  'sine wave2': {
-                    strokePattern: [10, 2, 5, 2],
-                    strokeWidth: 2,
-                    highlightCircleSize: 3
-                  }
-                }
-              }
-          );
-
     </script>
 </body>
 </html>
index 739d224..01e102f 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>perf</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type="text/javascript" src="data.js"></script>
index e49032a..3942566 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>dygraphs Equation Plotter</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type="text/javascript">
index b56ca1f..b5e935f 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Plotters demo</title>
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
index f7610bd..9db22c7 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>plugins demo</title>
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
index ac8e752..9c2b140 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Temperatures with Range Selector</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type="text/javascript" src="data.js"></script>
index 343aa6b..8381bf7 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>resize the window</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type="text/javascript" src="data.js"></script>
index 99a7173..c64c3d5 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>reverse y-axis</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
   </head>
index 8dc8d0b..299e0e4 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Series highlighting</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <style type='text/css'>
index 4f8bf8c..cfe20e2 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>no range</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
   </head>
index e051574..134a846 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Plotters demo</title>
     <script type="text/javascript" src="../dist/dygraph.js"></script>
     <script type="text/javascript" src="../src/extras/smooth-plotter.js"></script>
index 8d9292b..b88311a 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>spacing</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type="text/javascript" src="data.js"></script>
index e6f6210..5fbd10f 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>stacked</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
   </head>
index e67f45d..4a1145c 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>dygraph</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
   </head>
index 4656dd5..22858a0 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Stock chart</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type="text/javascript" src="data.js"></script>
index 7628f49..10c88d7 100644 (file)
@@ -1,7 +1,7 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Straw broom charts demo</title>
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
index 35c0b5a..233c7f8 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>two series</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type="text/javascript" src="data.js"></script>
index 70c264b..b3fe628 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>synchronize</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
     <script type="text/javascript" src="../src/extras/synchronizer.js"></script>
 
index a778d77..45d1feb 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html> 
 <html> 
   <head> 
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Temperatures</title> 
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    --> 
     <script type="text/javascript" src="../dist/dygraph.js"></script> 
  
     <script type="text/javascript" src="data.js"></script> 
index c1ebfb2..7a32ad3 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Multiple y-axes with valueRange</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
   </head>
index fa187c6..fd3f9d8 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Multiple y-axes</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
   </head>
index 3dc8968..e6b1424 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>dygraphs unboxed</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type="text/javascript" src="data.js"></script>
index f552b11..10122ed 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>Custom underlay callback</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type="text/javascript" src="data.js"></script>
index caffab4..f69c99d 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>valueFormatter and axisLabelFormatter</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
   </head>
index 53c14fe..c6ef1e7 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>visibility</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type="text/javascript" src="data.js"></script>
index 63b9e05..3f8f01c 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>X Axis Label Formatting</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
   </head>
index 100bca1..cc8e8cd 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>zero series</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
   </head>
index cfb633a..f53eab0 100644 (file)
@@ -1,12 +1,8 @@
 <!DOCTYPE html>
 <html>
   <head>
-    <link rel="stylesheet" href="../css/dygraph.css">
+    <link rel="stylesheet" href="../dist/dygraph.css">
     <title>zoom</title>
-    <!--
-    For production (minified) code, use:
-    <script type="text/javascript" src="dygraph-combined.js"></script>
-    -->
     <script type="text/javascript" src="../dist/dygraph.js"></script>
 
     <script type="text/javascript" src="data.js"></script>