forked from benpickles/peity
-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathjquery.peity.min.js
10 lines (10 loc) · 2.08 KB
/
jquery.peity.min.js
1
2
3
4
5
6
7
8
9
10
// Peity jQuery plugin version 0.3.3
// (c) 2010 Ben Pickles
//
// http://benpickles.github.com/peity/
//
// Released under MIT license.
(function(j,m){function l(d,a){var b=m.createElement("canvas");b.setAttribute("width",d);b.setAttribute("height",a);return b}var i=j.fn.peity=function(d,a){m.createElement("canvas").getContext&&this.each(function(){j(this).change(function(){var b=j(this).html();i.graphers[d](j(this),j.extend({},i.defaults[d],a));j(this).trigger("chart:changed",b)}).trigger("change")});return this};i.graphers={};i.defaults={};i.add=function(d,a,b){i.graphers[d]=b;i.defaults[d]=a};i.add("pie",{colours:["#FFF4DD","#FF9900"],
delimeter:"/",radius:16},function(d,a){var b=a.radius/2,e=d.text().split(a.delimeter),h=parseFloat(e[0]),k=parseFloat(e[1]);e=-Math.PI/2;h=h/k*Math.PI*2;k=l(a.radius,a.radius);var c=k.getContext("2d");c.beginPath();c.moveTo(b,b);c.arc(b,b,b,0,Math.PI*2,false);c.fillStyle=a.colours[0];c.fill();c.beginPath();c.moveTo(b,b);c.arc(b,b,b,e,h+e,false);c.fillStyle=a.colours[1];c.fill();d.wrapInner(j("<span>").hide()).append(k)});i.add("line",{colour:"#c6d9fd",strokeColour:"#4d89f9",strokeWidth:1,delimeter:",",
height:16,max:null,width:32},function(d,a){var b=l(a.width,a.height),e=d.text().split(a.delimeter),h=Math.max.apply(Math,e.concat([a.max]));h=a.height/h;var k=a.width/(e.length-1),c=[],f,g=b.getContext("2d");g.beginPath();g.moveTo(0,a.height);for(f=0;f<e.length;f++){var n=f*k,o=a.height-h*e[f];c.push({x:n,y:o});g.lineTo(n,o)}g.lineTo(a.width,a.height);g.fillStyle=a.colour;g.fill();g.beginPath();g.moveTo(0,c[0].y);for(f=0;f<c.length;f++)g.lineTo(c[f].x,c[f].y);g.lineWidth=a.strokeWidth;g.strokeStyle=
a.strokeColour;g.stroke();d.wrapInner(j("<span>").hide()).append(b)});i.add("bar",{colour:"#4D89F9",delimeter:",",height:16,max:null,width:32},function(d,a){var b=l(a.width,a.height),e=d.text().split(a.delimeter),h=Math.max.apply(Math,e.concat([a.max]));h=a.height/h;var k=a.width/e.length,c=b.getContext("2d");c.fillStyle=a.colour;for(var f=0;f<e.length;f++){var g=h*e[f];c.fillRect(f*k,a.height-g,k,g)}d.wrapInner(j("<span>").hide()).append(b)})})(jQuery,document);