d3_rails 2.8.0 → 2.8.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (63) hide show
  1. data/.DS_Store +0 -0
  2. data/README.md +27 -5
  3. data/lib/d3_rails/version.rb +1 -1
  4. data/vendor/.DS_Store +0 -0
  5. data/vendor/assets/.DS_Store +0 -0
  6. data/vendor/assets/javascripts/.DS_Store +0 -0
  7. data/vendor/assets/javascripts/d3.v2.js +99 -80
  8. data/vendor/assets/javascripts/morris.js +1 -0
  9. data/vendor/assets/javascripts/morris/.DS_Store +0 -0
  10. data/vendor/assets/javascripts/morris/Makefile +10 -0
  11. data/vendor/assets/javascripts/morris/README.md +87 -0
  12. data/vendor/assets/javascripts/morris/examples/_template.html +18 -0
  13. data/vendor/assets/javascripts/morris/examples/days.html +36 -0
  14. data/vendor/assets/javascripts/morris/examples/decimal.html +31 -0
  15. data/vendor/assets/javascripts/morris/examples/lib/example.css +13 -0
  16. data/vendor/assets/javascripts/morris/examples/lib/example.js +4 -0
  17. data/vendor/assets/javascripts/morris/examples/lib/prettify.css +1 -0
  18. data/vendor/assets/javascripts/morris/examples/lib/prettify.js +28 -0
  19. data/vendor/assets/javascripts/morris/examples/months-no-smooth.html +37 -0
  20. data/vendor/assets/javascripts/morris/examples/negative.html +35 -0
  21. data/vendor/assets/javascripts/morris/examples/non-date.html +36 -0
  22. data/vendor/assets/javascripts/morris/examples/quarters.html +53 -0
  23. data/vendor/assets/javascripts/morris/examples/timestamps.html +37 -0
  24. data/vendor/assets/javascripts/morris/examples/weeks.html +52 -0
  25. data/vendor/assets/javascripts/morris/morris.coffee +444 -0
  26. data/vendor/assets/javascripts/morris/morris.js +493 -0
  27. data/vendor/assets/javascripts/morris/morris.min.js +1 -0
  28. data/vendor/assets/javascripts/tesseract.js +1 -0
  29. data/vendor/assets/javascripts/tesseract/.gitignore +2 -0
  30. data/vendor/assets/javascripts/tesseract/LICENSE +12 -0
  31. data/vendor/assets/javascripts/tesseract/Makefile +48 -0
  32. data/vendor/assets/javascripts/tesseract/README.md +11 -0
  33. data/vendor/assets/javascripts/tesseract/index.js +1 -0
  34. data/vendor/assets/javascripts/tesseract/lib/dart/AUTHORS +9 -0
  35. data/vendor/assets/javascripts/tesseract/lib/dart/LICENSE +25 -0
  36. data/vendor/assets/javascripts/tesseract/lib/dart/dual_pivot_quicksort.dart +342 -0
  37. data/vendor/assets/javascripts/tesseract/package.json +11 -0
  38. data/vendor/assets/javascripts/tesseract/src/array.js +32 -0
  39. data/vendor/assets/javascripts/tesseract/src/bisect.js +44 -0
  40. data/vendor/assets/javascripts/tesseract/src/filter.js +19 -0
  41. data/vendor/assets/javascripts/tesseract/src/heap.js +44 -0
  42. data/vendor/assets/javascripts/tesseract/src/heapselect.js +36 -0
  43. data/vendor/assets/javascripts/tesseract/src/identity.js +3 -0
  44. data/vendor/assets/javascripts/tesseract/src/insertionsort.js +18 -0
  45. data/vendor/assets/javascripts/tesseract/src/null.js +3 -0
  46. data/vendor/assets/javascripts/tesseract/src/package.js +14 -0
  47. data/vendor/assets/javascripts/tesseract/src/permute.js +8 -0
  48. data/vendor/assets/javascripts/tesseract/src/quicksort.js +282 -0
  49. data/vendor/assets/javascripts/tesseract/src/reduce.js +19 -0
  50. data/vendor/assets/javascripts/tesseract/src/tesseract.js +663 -0
  51. data/vendor/assets/javascripts/tesseract/src/version.js +1 -0
  52. data/vendor/assets/javascripts/tesseract/src/zero.js +3 -0
  53. data/vendor/assets/javascripts/tesseract/tesseract.js +1177 -0
  54. data/vendor/assets/javascripts/tesseract/tesseract.min.js +1 -0
  55. data/vendor/assets/javascripts/tesseract/test/benchmark.js +177 -0
  56. data/vendor/assets/javascripts/tesseract/test/bisect-test.js +206 -0
  57. data/vendor/assets/javascripts/tesseract/test/heap-test.js +44 -0
  58. data/vendor/assets/javascripts/tesseract/test/permute-test.js +51 -0
  59. data/vendor/assets/javascripts/tesseract/test/select-test.js +63 -0
  60. data/vendor/assets/javascripts/tesseract/test/sort-test.js +83 -0
  61. data/vendor/assets/javascripts/tesseract/test/tesseract-test.js +655 -0
  62. data/vendor/assets/javascripts/tesseract/test/version-test.js +16 -0
  63. metadata +63 -8
@@ -0,0 +1 @@
1
+ //= require morris/morris
@@ -0,0 +1,10 @@
1
+ all: morris.min.js
2
+
3
+ morris.js: morris.coffee
4
+ coffee -c morris.coffee
5
+
6
+ morris.min.js: morris.js
7
+ uglifyjs morris.js > morris.min.js
8
+
9
+ clean:
10
+ rm -f morris.js morris.min.js
@@ -0,0 +1,87 @@
1
+ # Morris.js - pretty time-series line graphs
2
+
3
+ Morris.js is the library that powers the graphs on http://howmanyleft.co.uk/.
4
+
5
+ This is an early release. It's a bit rough around the edges, but it's getting pretty usable now. Expect it to get even better soon.
6
+
7
+ Cheers!
8
+
9
+ \- Olly
10
+
11
+ ## Requirements
12
+
13
+ - [jQuery](http://jquery.com/) (>= 1.7 recommended, but it'll probably work with older versions)
14
+ - [Raphael.js](http://raphaeljs.com/) (>= 2.0)
15
+
16
+ ## Usage
17
+
18
+ See [the website](http://oesmith.github.com/morris.js/).
19
+
20
+ ## Development
21
+
22
+ Very daring.
23
+
24
+ Fork, hack, send a pull request :)
25
+
26
+ ## Changelog
27
+
28
+ ### 0.2.6 - 18th March 2012
29
+
30
+ - Partial series support (see `null` y-values in `examples/quarters.html`)
31
+ - `parseTime` option bugfix for non-time-series data
32
+
33
+ ### 0.2.5 - 15th March 2012
34
+
35
+ - Raw millisecond timestamp support (with `dateFormat` option)
36
+ - YYYY-MM-DD HH:MM[:SS[.SSS]] date support
37
+ - Decimal number labels
38
+
39
+ ### 0.2.4 - 8th March 2012
40
+
41
+ - Negative y-values support
42
+ - `ymin` option
43
+ - `units` options
44
+
45
+ ### 0.2.3 - 6th Mar 2012
46
+
47
+ - jQuery no-conflict compatibility
48
+ - Support ISO week-number dates
49
+ - Optionally hide hover on mouseout (`hideHover`)
50
+ - Optionally skip parsing dates, treating X values as an equally-spaced series (`parseTime`)
51
+
52
+ ### 0.2.2 - 29th Feb 2012
53
+
54
+ - Bugfix: mouseover error when options.data.length == 2
55
+ - Automatically sort options.data
56
+
57
+ ### 0.2.1 - 28th Feb 2012
58
+
59
+ - Accept a DOM element *or* an ID in `options.element`
60
+ - Add `smooth` option
61
+ - Bugfix: clone `@default`
62
+ - Add `ymax` option
63
+
64
+ ## License
65
+
66
+ Copyright (c) 2012, Olly Smith
67
+ All rights reserved.
68
+
69
+ Redistribution and use in source and binary forms, with or without
70
+ modification, are permitted provided that the following conditions are met:
71
+
72
+ 1. Redistributions of source code must retain the above copyright notice, this
73
+ list of conditions and the following disclaimer.
74
+ 2. Redistributions in binary form must reproduce the above copyright notice,
75
+ this list of conditions and the following disclaimer in the documentation
76
+ and/or other materials provided with the distribution.
77
+
78
+ THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
79
+ ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
80
+ WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
81
+ DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
82
+ ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
83
+ (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
84
+ LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
85
+ ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
86
+ (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
87
+ SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
@@ -0,0 +1,18 @@
1
+ <!doctype html>
2
+ <head>
3
+ <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
4
+ <script src="https://raw.github.com/DmitryBaranovskiy/raphael/300aa589f5a0ba7fce667cd62c7cdda0bd5ad904/raphael-min.js"></script>
5
+ <script src="../morris.js"></script>
6
+ <script src="lib/prettify.js"></script>
7
+ <script src="lib/example.js"></script>
8
+ <link rel="stylesheet" href="lib/example.css">
9
+ <link rel="stylesheet" href="lib/prettify.css">
10
+ </head>
11
+ <body>
12
+ <h1>Title</h1>
13
+ <div id="graph"></div>
14
+ <pre id="code" class="prettyprint linenums">
15
+ // Insert code here:
16
+ // it'll get eval()-ed and prettyprinted.
17
+ </pre>
18
+ </body>
@@ -0,0 +1,36 @@
1
+ <!doctype html>
2
+ <head>
3
+ <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
4
+ <script src="https://raw.github.com/DmitryBaranovskiy/raphael/300aa589f5a0ba7fce667cd62c7cdda0bd5ad904/raphael-min.js"></script>
5
+ <script src="../morris.js"></script>
6
+ <script src="lib/prettify.js"></script>
7
+ <script src="lib/example.js"></script>
8
+ <link rel="stylesheet" href="lib/example.css">
9
+ <link rel="stylesheet" href="lib/prettify.css">
10
+ </head>
11
+ <body>
12
+ <h1>Formatting Dates YYYY-MM-DD</h1>
13
+ <div id="graph"></div>
14
+ <pre id="code" class="prettyprint linenums">
15
+ // data stolen from http://howmanyleft.co.uk/vehicle/jaguar_'e'_type
16
+ var day_data = [
17
+ {"period": "2012-10-01", "licensed": 3407, "sorned": 660},
18
+ {"period": "2011-08-12", "licensed": 3351, "sorned": 629},
19
+ {"period": "2011-03-03", "licensed": 3269, "sorned": 618},
20
+ {"period": "2010-08-08", "licensed": 3246, "sorned": 661},
21
+ {"period": "2010-05-10", "licensed": 3257, "sorned": 667},
22
+ {"period": "2010-03-14", "licensed": 3248, "sorned": 627},
23
+ {"period": "2010-01-10", "licensed": 3171, "sorned": 660},
24
+ {"period": "2009-12-10", "licensed": 3171, "sorned": 676},
25
+ {"period": "2009-10-07", "licensed": 3201, "sorned": 656},
26
+ {"period": "2009-09-25", "licensed": 3215, "sorned": 622},
27
+ ];
28
+ Morris.Line({
29
+ element: 'graph',
30
+ data: day_data,
31
+ xkey: 'period',
32
+ ykeys: ['licensed', 'sorned'],
33
+ labels: ['Licensed', 'SORN']
34
+ });
35
+ </pre>
36
+ </body>
@@ -0,0 +1,31 @@
1
+ <!doctype html>
2
+ <head>
3
+ <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
4
+ <script src="https://raw.github.com/DmitryBaranovskiy/raphael/300aa589f5a0ba7fce667cd62c7cdda0bd5ad904/raphael-min.js"></script>
5
+ <script src="../morris.js"></script>
6
+ <script src="lib/prettify.js"></script>
7
+ <script src="lib/example.js"></script>
8
+ <link rel="stylesheet" href="lib/example.css">
9
+ <link rel="stylesheet" href="lib/prettify.css">
10
+ </head>
11
+ <body>
12
+ <h1>Decimal Data</h1>
13
+ <div id="graph"></div>
14
+ <pre id="code" class="prettyprint linenums">
15
+ var decimal_data = [];
16
+ for (var x = 0; x <= 360; x += 10) {
17
+ decimal_data.push({
18
+ x: x,
19
+ y: Math.sin(Math.PI * x / 180).toFixed(4)
20
+ });
21
+ }
22
+ window.m = Morris.Line({
23
+ element: 'graph',
24
+ data: decimal_data,
25
+ xkey: 'x',
26
+ ykeys: ['y'],
27
+ labels: ['sin(x)'],
28
+ parseTime: false
29
+ });
30
+ </pre>
31
+ </body>
@@ -0,0 +1,13 @@
1
+ body {
2
+ width: 800px;
3
+ margin: 0 auto;
4
+ }
5
+ #graph {
6
+ width: 800px;
7
+ height: 250px;
8
+ margin: 20px auto 0 auto;
9
+ }
10
+ pre {
11
+ height: 250px;
12
+ overflow: auto;
13
+ }
@@ -0,0 +1,4 @@
1
+ $(function () {
2
+ eval($('#code').text());
3
+ prettyPrint();
4
+ });
@@ -0,0 +1 @@
1
+ .pln{color:#000}@media screen{.str{color:#080}.kwd{color:#008}.com{color:#800}.typ{color:#606}.lit{color:#066}.pun,.opn,.clo{color:#660}.tag{color:#008}.atn{color:#606}.atv{color:#080}.dec,.var{color:#606}.fun{color:red}}@media print,projection{.str{color:#060}.kwd{color:#006;font-weight:bold}.com{color:#600;font-style:italic}.typ{color:#404;font-weight:bold}.lit{color:#044}.pun,.opn,.clo{color:#440}.tag{color:#006;font-weight:bold}.atn{color:#404}.atv{color:#060}}pre.prettyprint{padding:2px;border:1px solid #888}ol.linenums{margin-top:0;margin-bottom:0}li.L0,li.L1,li.L2,li.L3,li.L5,li.L6,li.L7,li.L8{list-style-type:none}li.L1,li.L3,li.L5,li.L7,li.L9{background:#eee}
@@ -0,0 +1,28 @@
1
+ var q=null;window.PR_SHOULD_USE_CONTINUATION=!0;
2
+ (function(){function L(a){function m(a){var f=a.charCodeAt(0);if(f!==92)return f;var b=a.charAt(1);return(f=r[b])?f:"0"<=b&&b<="7"?parseInt(a.substring(1),8):b==="u"||b==="x"?parseInt(a.substring(2),16):a.charCodeAt(1)}function e(a){if(a<32)return(a<16?"\\x0":"\\x")+a.toString(16);a=String.fromCharCode(a);if(a==="\\"||a==="-"||a==="["||a==="]")a="\\"+a;return a}function h(a){for(var f=a.substring(1,a.length-1).match(/\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\[0-3][0-7]{0,2}|\\[0-7]{1,2}|\\[\S\s]|[^\\]/g),a=
3
+ [],b=[],o=f[0]==="^",c=o?1:0,i=f.length;c<i;++c){var j=f[c];if(/\\[bdsw]/i.test(j))a.push(j);else{var j=m(j),d;c+2<i&&"-"===f[c+1]?(d=m(f[c+2]),c+=2):d=j;b.push([j,d]);d<65||j>122||(d<65||j>90||b.push([Math.max(65,j)|32,Math.min(d,90)|32]),d<97||j>122||b.push([Math.max(97,j)&-33,Math.min(d,122)&-33]))}}b.sort(function(a,f){return a[0]-f[0]||f[1]-a[1]});f=[];j=[NaN,NaN];for(c=0;c<b.length;++c)i=b[c],i[0]<=j[1]+1?j[1]=Math.max(j[1],i[1]):f.push(j=i);b=["["];o&&b.push("^");b.push.apply(b,a);for(c=0;c<
4
+ f.length;++c)i=f[c],b.push(e(i[0])),i[1]>i[0]&&(i[1]+1>i[0]&&b.push("-"),b.push(e(i[1])));b.push("]");return b.join("")}function y(a){for(var f=a.source.match(/\[(?:[^\\\]]|\\[\S\s])*]|\\u[\dA-Fa-f]{4}|\\x[\dA-Fa-f]{2}|\\\d+|\\[^\dux]|\(\?[!:=]|[()^]|[^()[\\^]+/g),b=f.length,d=[],c=0,i=0;c<b;++c){var j=f[c];j==="("?++i:"\\"===j.charAt(0)&&(j=+j.substring(1))&&j<=i&&(d[j]=-1)}for(c=1;c<d.length;++c)-1===d[c]&&(d[c]=++t);for(i=c=0;c<b;++c)j=f[c],j==="("?(++i,d[i]===void 0&&(f[c]="(?:")):"\\"===j.charAt(0)&&
5
+ (j=+j.substring(1))&&j<=i&&(f[c]="\\"+d[i]);for(i=c=0;c<b;++c)"^"===f[c]&&"^"!==f[c+1]&&(f[c]="");if(a.ignoreCase&&s)for(c=0;c<b;++c)j=f[c],a=j.charAt(0),j.length>=2&&a==="["?f[c]=h(j):a!=="\\"&&(f[c]=j.replace(/[A-Za-z]/g,function(a){a=a.charCodeAt(0);return"["+String.fromCharCode(a&-33,a|32)+"]"}));return f.join("")}for(var t=0,s=!1,l=!1,p=0,d=a.length;p<d;++p){var g=a[p];if(g.ignoreCase)l=!0;else if(/[a-z]/i.test(g.source.replace(/\\u[\da-f]{4}|\\x[\da-f]{2}|\\[^UXux]/gi,""))){s=!0;l=!1;break}}for(var r=
6
+ {b:8,t:9,n:10,v:11,f:12,r:13},n=[],p=0,d=a.length;p<d;++p){g=a[p];if(g.global||g.multiline)throw Error(""+g);n.push("(?:"+y(g)+")")}return RegExp(n.join("|"),l?"gi":"g")}function M(a){function m(a){switch(a.nodeType){case 1:if(e.test(a.className))break;for(var g=a.firstChild;g;g=g.nextSibling)m(g);g=a.nodeName;if("BR"===g||"LI"===g)h[s]="\n",t[s<<1]=y++,t[s++<<1|1]=a;break;case 3:case 4:g=a.nodeValue,g.length&&(g=p?g.replace(/\r\n?/g,"\n"):g.replace(/[\t\n\r ]+/g," "),h[s]=g,t[s<<1]=y,y+=g.length,
7
+ t[s++<<1|1]=a)}}var e=/(?:^|\s)nocode(?:\s|$)/,h=[],y=0,t=[],s=0,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=document.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);m(a);return{a:h.join("").replace(/\n$/,""),c:t}}function B(a,m,e,h){m&&(a={a:m,d:a},e(a),h.push.apply(h,a.e))}function x(a,m){function e(a){for(var l=a.d,p=[l,"pln"],d=0,g=a.a.match(y)||[],r={},n=0,z=g.length;n<z;++n){var f=g[n],b=r[f],o=void 0,c;if(typeof b===
8
+ "string")c=!1;else{var i=h[f.charAt(0)];if(i)o=f.match(i[1]),b=i[0];else{for(c=0;c<t;++c)if(i=m[c],o=f.match(i[1])){b=i[0];break}o||(b="pln")}if((c=b.length>=5&&"lang-"===b.substring(0,5))&&!(o&&typeof o[1]==="string"))c=!1,b="src";c||(r[f]=b)}i=d;d+=f.length;if(c){c=o[1];var j=f.indexOf(c),k=j+c.length;o[2]&&(k=f.length-o[2].length,j=k-c.length);b=b.substring(5);B(l+i,f.substring(0,j),e,p);B(l+i+j,c,C(b,c),p);B(l+i+k,f.substring(k),e,p)}else p.push(l+i,b)}a.e=p}var h={},y;(function(){for(var e=a.concat(m),
9
+ l=[],p={},d=0,g=e.length;d<g;++d){var r=e[d],n=r[3];if(n)for(var k=n.length;--k>=0;)h[n.charAt(k)]=r;r=r[1];n=""+r;p.hasOwnProperty(n)||(l.push(r),p[n]=q)}l.push(/[\S\s]/);y=L(l)})();var t=m.length;return e}function u(a){var m=[],e=[];a.tripleQuotedStrings?m.push(["str",/^(?:'''(?:[^'\\]|\\[\S\s]|''?(?=[^']))*(?:'''|$)|"""(?:[^"\\]|\\[\S\s]|""?(?=[^"]))*(?:"""|$)|'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$))/,q,"'\""]):a.multiLineStrings?m.push(["str",/^(?:'(?:[^'\\]|\\[\S\s])*(?:'|$)|"(?:[^"\\]|\\[\S\s])*(?:"|$)|`(?:[^\\`]|\\[\S\s])*(?:`|$))/,
10
+ q,"'\"`"]):m.push(["str",/^(?:'(?:[^\n\r'\\]|\\.)*(?:'|$)|"(?:[^\n\r"\\]|\\.)*(?:"|$))/,q,"\"'"]);a.verbatimStrings&&e.push(["str",/^@"(?:[^"]|"")*(?:"|$)/,q]);var h=a.hashComments;h&&(a.cStyleComments?(h>1?m.push(["com",/^#(?:##(?:[^#]|#(?!##))*(?:###|$)|.*)/,q,"#"]):m.push(["com",/^#(?:(?:define|elif|else|endif|error|ifdef|include|ifndef|line|pragma|undef|warning)\b|[^\n\r]*)/,q,"#"]),e.push(["str",/^<(?:(?:(?:\.\.\/)*|\/?)(?:[\w-]+(?:\/[\w-]+)+)?[\w-]+\.h|[a-z]\w*)>/,q])):m.push(["com",/^#[^\n\r]*/,
11
+ q,"#"]));a.cStyleComments&&(e.push(["com",/^\/\/[^\n\r]*/,q]),e.push(["com",/^\/\*[\S\s]*?(?:\*\/|$)/,q]));a.regexLiterals&&e.push(["lang-regex",/^(?:^^\.?|[!+-]|!=|!==|#|%|%=|&|&&|&&=|&=|\(|\*|\*=|\+=|,|-=|->|\/|\/=|:|::|;|<|<<|<<=|<=|=|==|===|>|>=|>>|>>=|>>>|>>>=|[?@[^]|\^=|\^\^|\^\^=|{|\||\|=|\|\||\|\|=|~|break|case|continue|delete|do|else|finally|instanceof|return|throw|try|typeof)\s*(\/(?=[^*/])(?:[^/[\\]|\\[\S\s]|\[(?:[^\\\]]|\\[\S\s])*(?:]|$))+\/)/]);(h=a.types)&&e.push(["typ",h]);a=(""+a.keywords).replace(/^ | $/g,
12
+ "");a.length&&e.push(["kwd",RegExp("^(?:"+a.replace(/[\s,]+/g,"|")+")\\b"),q]);m.push(["pln",/^\s+/,q," \r\n\t\xa0"]);e.push(["lit",/^@[$_a-z][\w$@]*/i,q],["typ",/^(?:[@_]?[A-Z]+[a-z][\w$@]*|\w+_t\b)/,q],["pln",/^[$_a-z][\w$@]*/i,q],["lit",/^(?:0x[\da-f]+|(?:\d(?:_\d+)*\d*(?:\.\d*)?|\.\d\+)(?:e[+-]?\d+)?)[a-z]*/i,q,"0123456789"],["pln",/^\\[\S\s]?/,q],["pun",/^.[^\s\w"-$'./@\\`]*/,q]);return x(m,e)}function D(a,m){function e(a){switch(a.nodeType){case 1:if(k.test(a.className))break;if("BR"===a.nodeName)h(a),
13
+ a.parentNode&&a.parentNode.removeChild(a);else for(a=a.firstChild;a;a=a.nextSibling)e(a);break;case 3:case 4:if(p){var b=a.nodeValue,d=b.match(t);if(d){var c=b.substring(0,d.index);a.nodeValue=c;(b=b.substring(d.index+d[0].length))&&a.parentNode.insertBefore(s.createTextNode(b),a.nextSibling);h(a);c||a.parentNode.removeChild(a)}}}}function h(a){function b(a,d){var e=d?a.cloneNode(!1):a,f=a.parentNode;if(f){var f=b(f,1),g=a.nextSibling;f.appendChild(e);for(var h=g;h;h=g)g=h.nextSibling,f.appendChild(h)}return e}
14
+ for(;!a.nextSibling;)if(a=a.parentNode,!a)return;for(var a=b(a.nextSibling,0),e;(e=a.parentNode)&&e.nodeType===1;)a=e;d.push(a)}var k=/(?:^|\s)nocode(?:\s|$)/,t=/\r\n?|\n/,s=a.ownerDocument,l;a.currentStyle?l=a.currentStyle.whiteSpace:window.getComputedStyle&&(l=s.defaultView.getComputedStyle(a,q).getPropertyValue("white-space"));var p=l&&"pre"===l.substring(0,3);for(l=s.createElement("LI");a.firstChild;)l.appendChild(a.firstChild);for(var d=[l],g=0;g<d.length;++g)e(d[g]);m===(m|0)&&d[0].setAttribute("value",
15
+ m);var r=s.createElement("OL");r.className="linenums";for(var n=Math.max(0,m-1|0)||0,g=0,z=d.length;g<z;++g)l=d[g],l.className="L"+(g+n)%10,l.firstChild||l.appendChild(s.createTextNode("\xa0")),r.appendChild(l);a.appendChild(r)}function k(a,m){for(var e=m.length;--e>=0;){var h=m[e];A.hasOwnProperty(h)?window.console&&console.warn("cannot override language handler %s",h):A[h]=a}}function C(a,m){if(!a||!A.hasOwnProperty(a))a=/^\s*</.test(m)?"default-markup":"default-code";return A[a]}function E(a){var m=
16
+ a.g;try{var e=M(a.h),h=e.a;a.a=h;a.c=e.c;a.d=0;C(m,h)(a);var k=/\bMSIE\b/.test(navigator.userAgent),m=/\n/g,t=a.a,s=t.length,e=0,l=a.c,p=l.length,h=0,d=a.e,g=d.length,a=0;d[g]=s;var r,n;for(n=r=0;n<g;)d[n]!==d[n+2]?(d[r++]=d[n++],d[r++]=d[n++]):n+=2;g=r;for(n=r=0;n<g;){for(var z=d[n],f=d[n+1],b=n+2;b+2<=g&&d[b+1]===f;)b+=2;d[r++]=z;d[r++]=f;n=b}for(d.length=r;h<p;){var o=l[h+2]||s,c=d[a+2]||s,b=Math.min(o,c),i=l[h+1],j;if(i.nodeType!==1&&(j=t.substring(e,b))){k&&(j=j.replace(m,"\r"));i.nodeValue=
17
+ j;var u=i.ownerDocument,v=u.createElement("SPAN");v.className=d[a+1];var x=i.parentNode;x.replaceChild(v,i);v.appendChild(i);e<o&&(l[h+1]=i=u.createTextNode(t.substring(b,o)),x.insertBefore(i,v.nextSibling))}e=b;e>=o&&(h+=2);e>=c&&(a+=2)}}catch(w){"console"in window&&console.log(w&&w.stack?w.stack:w)}}var v=["break,continue,do,else,for,if,return,while"],w=[[v,"auto,case,char,const,default,double,enum,extern,float,goto,int,long,register,short,signed,sizeof,static,struct,switch,typedef,union,unsigned,void,volatile"],
18
+ "catch,class,delete,false,import,new,operator,private,protected,public,this,throw,true,try,typeof"],F=[w,"alignof,align_union,asm,axiom,bool,concept,concept_map,const_cast,constexpr,decltype,dynamic_cast,explicit,export,friend,inline,late_check,mutable,namespace,nullptr,reinterpret_cast,static_assert,static_cast,template,typeid,typename,using,virtual,where"],G=[w,"abstract,boolean,byte,extends,final,finally,implements,import,instanceof,null,native,package,strictfp,super,synchronized,throws,transient"],
19
+ H=[G,"as,base,by,checked,decimal,delegate,descending,dynamic,event,fixed,foreach,from,group,implicit,in,interface,internal,into,is,lock,object,out,override,orderby,params,partial,readonly,ref,sbyte,sealed,stackalloc,string,select,uint,ulong,unchecked,unsafe,ushort,var"],w=[w,"debugger,eval,export,function,get,null,set,undefined,var,with,Infinity,NaN"],I=[v,"and,as,assert,class,def,del,elif,except,exec,finally,from,global,import,in,is,lambda,nonlocal,not,or,pass,print,raise,try,with,yield,False,True,None"],
20
+ J=[v,"alias,and,begin,case,class,def,defined,elsif,end,ensure,false,in,module,next,nil,not,or,redo,rescue,retry,self,super,then,true,undef,unless,until,when,yield,BEGIN,END"],v=[v,"case,done,elif,esac,eval,fi,function,in,local,set,then,until"],K=/^(DIR|FILE|vector|(de|priority_)?queue|list|stack|(const_)?iterator|(multi)?(set|map)|bitset|u?(int|float)\d*)/,N=/\S/,O=u({keywords:[F,H,w,"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END"+
21
+ I,J,v],hashComments:!0,cStyleComments:!0,multiLineStrings:!0,regexLiterals:!0}),A={};k(O,["default-code"]);k(x([],[["pln",/^[^<?]+/],["dec",/^<!\w[^>]*(?:>|$)/],["com",/^<\!--[\S\s]*?(?:--\>|$)/],["lang-",/^<\?([\S\s]+?)(?:\?>|$)/],["lang-",/^<%([\S\s]+?)(?:%>|$)/],["pun",/^(?:<[%?]|[%?]>)/],["lang-",/^<xmp\b[^>]*>([\S\s]+?)<\/xmp\b[^>]*>/i],["lang-js",/^<script\b[^>]*>([\S\s]*?)(<\/script\b[^>]*>)/i],["lang-css",/^<style\b[^>]*>([\S\s]*?)(<\/style\b[^>]*>)/i],["lang-in.tag",/^(<\/?[a-z][^<>]*>)/i]]),
22
+ ["default-markup","htm","html","mxml","xhtml","xml","xsl"]);k(x([["pln",/^\s+/,q," \t\r\n"],["atv",/^(?:"[^"]*"?|'[^']*'?)/,q,"\"'"]],[["tag",/^^<\/?[a-z](?:[\w-.:]*\w)?|\/?>$/i],["atn",/^(?!style[\s=]|on)[a-z](?:[\w:-]*\w)?/i],["lang-uq.val",/^=\s*([^\s"'>]*(?:[^\s"'/>]|\/(?=\s)))/],["pun",/^[/<->]+/],["lang-js",/^on\w+\s*=\s*"([^"]+)"/i],["lang-js",/^on\w+\s*=\s*'([^']+)'/i],["lang-js",/^on\w+\s*=\s*([^\s"'>]+)/i],["lang-css",/^style\s*=\s*"([^"]+)"/i],["lang-css",/^style\s*=\s*'([^']+)'/i],["lang-css",
23
+ /^style\s*=\s*([^\s"'>]+)/i]]),["in.tag"]);k(x([],[["atv",/^[\S\s]+/]]),["uq.val"]);k(u({keywords:F,hashComments:!0,cStyleComments:!0,types:K}),["c","cc","cpp","cxx","cyc","m"]);k(u({keywords:"null,true,false"}),["json"]);k(u({keywords:H,hashComments:!0,cStyleComments:!0,verbatimStrings:!0,types:K}),["cs"]);k(u({keywords:G,cStyleComments:!0}),["java"]);k(u({keywords:v,hashComments:!0,multiLineStrings:!0}),["bsh","csh","sh"]);k(u({keywords:I,hashComments:!0,multiLineStrings:!0,tripleQuotedStrings:!0}),
24
+ ["cv","py"]);k(u({keywords:"caller,delete,die,do,dump,elsif,eval,exit,foreach,for,goto,if,import,last,local,my,next,no,our,print,package,redo,require,sub,undef,unless,until,use,wantarray,while,BEGIN,END",hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["perl","pl","pm"]);k(u({keywords:J,hashComments:!0,multiLineStrings:!0,regexLiterals:!0}),["rb"]);k(u({keywords:w,cStyleComments:!0,regexLiterals:!0}),["js"]);k(u({keywords:"all,and,by,catch,class,else,extends,false,finally,for,if,in,is,isnt,loop,new,no,not,null,of,off,on,or,return,super,then,true,try,unless,until,when,while,yes",
25
+ hashComments:3,cStyleComments:!0,multilineStrings:!0,tripleQuotedStrings:!0,regexLiterals:!0}),["coffee"]);k(x([],[["str",/^[\S\s]+/]]),["regex"]);window.prettyPrintOne=function(a,m,e){var h=document.createElement("PRE");h.innerHTML=a;e&&D(h,e);E({g:m,i:e,h:h});return h.innerHTML};window.prettyPrint=function(a){function m(){for(var e=window.PR_SHOULD_USE_CONTINUATION?l.now()+250:Infinity;p<h.length&&l.now()<e;p++){var n=h[p],k=n.className;if(k.indexOf("prettyprint")>=0){var k=k.match(g),f,b;if(b=
26
+ !k){b=n;for(var o=void 0,c=b.firstChild;c;c=c.nextSibling)var i=c.nodeType,o=i===1?o?b:c:i===3?N.test(c.nodeValue)?b:o:o;b=(f=o===b?void 0:o)&&"CODE"===f.tagName}b&&(k=f.className.match(g));k&&(k=k[1]);b=!1;for(o=n.parentNode;o;o=o.parentNode)if((o.tagName==="pre"||o.tagName==="code"||o.tagName==="xmp")&&o.className&&o.className.indexOf("prettyprint")>=0){b=!0;break}b||((b=(b=n.className.match(/\blinenums\b(?::(\d+))?/))?b[1]&&b[1].length?+b[1]:!0:!1)&&D(n,b),d={g:k,h:n,i:b},E(d))}}p<h.length?setTimeout(m,
27
+ 250):a&&a()}for(var e=[document.getElementsByTagName("pre"),document.getElementsByTagName("code"),document.getElementsByTagName("xmp")],h=[],k=0;k<e.length;++k)for(var t=0,s=e[k].length;t<s;++t)h.push(e[k][t]);var e=q,l=Date;l.now||(l={now:function(){return+new Date}});var p=0,d,g=/\blang(?:uage)?-([\w.]+)(?!\S)/;m()};window.PR={createSimpleLexer:x,registerLangHandler:k,sourceDecorator:u,PR_ATTRIB_NAME:"atn",PR_ATTRIB_VALUE:"atv",PR_COMMENT:"com",PR_DECLARATION:"dec",PR_KEYWORD:"kwd",PR_LITERAL:"lit",
28
+ PR_NOCODE:"nocode",PR_PLAIN:"pln",PR_PUNCTUATION:"pun",PR_SOURCE:"src",PR_STRING:"str",PR_TAG:"tag",PR_TYPE:"typ"}})();
@@ -0,0 +1,37 @@
1
+ <!doctype html>
2
+ <head>
3
+ <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
4
+ <script src="https://raw.github.com/DmitryBaranovskiy/raphael/300aa589f5a0ba7fce667cd62c7cdda0bd5ad904/raphael-min.js"></script>
5
+ <script src="../morris.js"></script>
6
+ <script src="lib/prettify.js"></script>
7
+ <script src="lib/example.js"></script>
8
+ <link rel="stylesheet" href="lib/example.css">
9
+ <link rel="stylesheet" href="lib/prettify.css">
10
+ </head>
11
+ <body>
12
+ <h1>Formatting Dates with YYYY-MM</h1>
13
+ <div id="graph"></div>
14
+ <pre id="code" class="prettyprint linenums">
15
+ // data stolen from http://howmanyleft.co.uk/vehicle/jaguar_'e'_type
16
+ var month_data = [
17
+ {"period": "2012-10", "licensed": 3407, "sorned": 660},
18
+ {"period": "2011-08", "licensed": 3351, "sorned": 629},
19
+ {"period": "2011-03", "licensed": 3269, "sorned": 618},
20
+ {"period": "2010-08", "licensed": 3246, "sorned": 661},
21
+ {"period": "2010-05", "licensed": 3257, "sorned": 667},
22
+ {"period": "2010-03", "licensed": 3248, "sorned": 627},
23
+ {"period": "2010-01", "licensed": 3171, "sorned": 660},
24
+ {"period": "2009-12", "licensed": 3171, "sorned": 676},
25
+ {"period": "2009-10", "licensed": 3201, "sorned": 656},
26
+ {"period": "2009-09", "licensed": 3215, "sorned": 622},
27
+ ];
28
+ Morris.Line({
29
+ element: 'graph',
30
+ data: month_data,
31
+ xkey: 'period',
32
+ ykeys: ['licensed', 'sorned'],
33
+ labels: ['Licensed', 'SORN'],
34
+ smooth: false
35
+ });
36
+ </pre>
37
+ </body>
@@ -0,0 +1,35 @@
1
+ <!doctype html>
2
+ <head>
3
+ <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
4
+ <script src="https://raw.github.com/DmitryBaranovskiy/raphael/300aa589f5a0ba7fce667cd62c7cdda0bd5ad904/raphael-min.js"></script>
5
+ <script src="../morris.js"></script>
6
+ <script src="lib/prettify.js"></script>
7
+ <script src="lib/example.js"></script>
8
+ <link rel="stylesheet" href="lib/example.css">
9
+ <link rel="stylesheet" href="lib/prettify.css">
10
+ </head>
11
+ <body>
12
+ <h1>Negative values</h1>
13
+ <div id="graph"></div>
14
+ <pre id="code" class="prettyprint linenums">
15
+ var neg_data = [
16
+ {"period": "2011-08-12", "a": 100},
17
+ {"period": "2011-03-03", "a": 75},
18
+ {"period": "2010-08-08", "a": 50},
19
+ {"period": "2010-05-10", "a": 25},
20
+ {"period": "2010-03-14", "a": 0},
21
+ {"period": "2010-01-10", "a": -25},
22
+ {"period": "2009-12-10", "a": -50},
23
+ {"period": "2009-10-07", "a": -75},
24
+ {"period": "2009-09-25", "a": -100}
25
+ ];
26
+ Morris.Line({
27
+ element: 'graph',
28
+ data: neg_data,
29
+ xkey: 'period',
30
+ ykeys: ['a'],
31
+ labels: ['Series A'],
32
+ units: '%'
33
+ });
34
+ </pre>
35
+ </body>
@@ -0,0 +1,36 @@
1
+ <!doctype html>
2
+ <head>
3
+ <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
4
+ <script src="https://raw.github.com/DmitryBaranovskiy/raphael/300aa589f5a0ba7fce667cd62c7cdda0bd5ad904/raphael-min.js"></script>
5
+ <script src="../morris.js"></script>
6
+ <script src="lib/prettify.js"></script>
7
+ <script src="lib/example.js"></script>
8
+ <link rel="stylesheet" href="lib/example.css">
9
+ <link rel="stylesheet" href="lib/prettify.css">
10
+ </head>
11
+ <body>
12
+ <h1>Formatting Non-date Arbitrary X-axis</h1>
13
+ <div id="graph"></div>
14
+ <pre id="code" class="prettyprint linenums">
15
+ var day_data = [
16
+ {"elapsed": "I", "value": 34},
17
+ {"elapsed": "II", "value": 24},
18
+ {"elapsed": "III", "value": 3},
19
+ {"elapsed": "IV", "value": 12},
20
+ {"elapsed": "V", "value": 13},
21
+ {"elapsed": "VI", "value": 22},
22
+ {"elapsed": "VII", "value": 5},
23
+ {"elapsed": "VIII", "value": 26},
24
+ {"elapsed": "IX", "value": 12},
25
+ {"elapsed": "X", "value": 19},
26
+ ];
27
+ Morris.Line({
28
+ element: 'graph',
29
+ data: day_data,
30
+ xkey: 'elapsed',
31
+ ykeys: ['value'],
32
+ labels: ['value'],
33
+ parseTime: false
34
+ });
35
+ </pre>
36
+ </body>
@@ -0,0 +1,53 @@
1
+ <!doctype html>
2
+ <head>
3
+ <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
4
+ <script src="https://raw.github.com/DmitryBaranovskiy/raphael/300aa589f5a0ba7fce667cd62c7cdda0bd5ad904/raphael-min.js"></script>
5
+ <script src="../morris.js"></script>
6
+ <script src="lib/prettify.js"></script>
7
+ <script src="lib/example.js"></script>
8
+ <link rel="stylesheet" href="lib/example.css">
9
+ <link rel="stylesheet" href="lib/prettify.css">
10
+ </head>
11
+ <body>
12
+ <h1>Formatting Dates with Quarters</h1>
13
+ <div id="graph"></div>
14
+ <pre id="code" class="prettyprint linenums">
15
+ // data stolen from http://howmanyleft.co.uk/vehicle/jaguar_'e'_type
16
+ var quarter_data = [
17
+ {"period": "2011 Q3", "licensed": 3407, "sorned": 660},
18
+ {"period": "2011 Q2", "licensed": 3351, "sorned": 629},
19
+ {"period": "2011 Q1", "licensed": 3269, "sorned": 618},
20
+ {"period": "2010 Q4", "licensed": 3246, "sorned": 661},
21
+ {"period": "2010 Q3", "licensed": 3257, "sorned": 667},
22
+ {"period": "2010 Q2", "licensed": 3248, "sorned": 627},
23
+ {"period": "2010 Q1", "licensed": 3171, "sorned": 660},
24
+ {"period": "2009 Q4", "licensed": 3171, "sorned": 676},
25
+ {"period": "2009 Q3", "licensed": 3201, "sorned": 656},
26
+ {"period": "2009 Q2", "licensed": 3215, "sorned": 622},
27
+ {"period": "2009 Q1", "licensed": 3148, "sorned": 632},
28
+ {"period": "2008 Q4", "licensed": 3155, "sorned": 681},
29
+ {"period": "2008 Q3", "licensed": 3190, "sorned": 667},
30
+ {"period": "2007 Q4", "licensed": 3226, "sorned": 620},
31
+ {"period": "2006 Q4", "licensed": 3245, "sorned": null},
32
+ {"period": "2005 Q4", "licensed": 3289, "sorned": null},
33
+ {"period": "2004 Q4", "licensed": 3263, "sorned": null},
34
+ {"period": "2003 Q4", "licensed": 3189, "sorned": null},
35
+ {"period": "2002 Q4", "licensed": 3079, "sorned": null},
36
+ {"period": "2001 Q4", "licensed": 3085, "sorned": null},
37
+ {"period": "2000 Q4", "licensed": 3055, "sorned": null},
38
+ {"period": "1999 Q4", "licensed": 3063, "sorned": null},
39
+ {"period": "1998 Q4", "licensed": 2943, "sorned": null},
40
+ {"period": "1997 Q4", "licensed": 2806, "sorned": null},
41
+ {"period": "1996 Q4", "licensed": 2674, "sorned": null},
42
+ {"period": "1995 Q4", "licensed": 1702, "sorned": null},
43
+ {"period": "1994 Q4", "licensed": 1732, "sorned": null}
44
+ ];
45
+ Morris.Line({
46
+ element: 'graph',
47
+ data: quarter_data,
48
+ xkey: 'period',
49
+ ykeys: ['licensed', 'sorned'],
50
+ labels: ['Licensed', 'SORN']
51
+ });
52
+ </pre>
53
+ </body>
@@ -0,0 +1,37 @@
1
+ <!doctype html>
2
+ <head>
3
+ <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
4
+ <script src="https://raw.github.com/DmitryBaranovskiy/raphael/300aa589f5a0ba7fce667cd62c7cdda0bd5ad904/raphael-min.js"></script>
5
+ <script src="../morris.js"></script>
6
+ <script src="lib/prettify.js"></script>
7
+ <script src="lib/example.js"></script>
8
+ <link rel="stylesheet" href="lib/example.css">
9
+ <link rel="stylesheet" href="lib/prettify.css">
10
+ </head>
11
+ <body>
12
+ <h1>Timestamps</h1>
13
+ <div id="graph"></div>
14
+ <pre id="code" class="prettyprint linenums">
15
+ // data stolen from http://howmanyleft.co.uk/vehicle/jaguar_'e'_type
16
+ var timestamp_data = [
17
+ {"period": 1349046000000, "licensed": 3407, "sorned": 660},
18
+ {"period": 1313103600000, "licensed": 3351, "sorned": 629},
19
+ {"period": 1299110400000, "licensed": 3269, "sorned": 618},
20
+ {"period": 1281222000000, "licensed": 3246, "sorned": 661},
21
+ {"period": 1273446000000, "licensed": 3257, "sorned": 667},
22
+ {"period": 1268524800000, "licensed": 3248, "sorned": 627},
23
+ {"period": 1263081600000, "licensed": 3171, "sorned": 660},
24
+ {"period": 1260403200000, "licensed": 3171, "sorned": 676},
25
+ {"period": 1254870000000, "licensed": 3201, "sorned": 656},
26
+ {"period": 1253833200000, "licensed": 3215, "sorned": 622}
27
+ ];
28
+ Morris.Line({
29
+ element: 'graph',
30
+ data: timestamp_data,
31
+ xkey: 'period',
32
+ ykeys: ['licensed', 'sorned'],
33
+ labels: ['Licensed', 'SORN'],
34
+ dateFormat: function (x) { return new Date(x).toDateString(); }
35
+ });
36
+ </pre>
37
+ </body>