woocommerce/assets/js/jquery-flot/jquery.flot.pie.min.js

1 line
7.7 KiB
JavaScript
Raw Permalink Normal View History

2021-12-10 12:03:04 +00:00
!function(w){var k={series:{pie:{show:!1,radius:"auto",innerRadius:0,startAngle:1.5,tilt:1,shadow:{left:5,top:15,alpha:.02},offset:{top:0,left:"auto"},stroke:{color:"#fff",width:1},label:{show:"auto",formatter:function(e,i){return"<div style='font-size:x-small;text-align:center;padding:2px;color:"+i.color+";'>"+e+"<br/>"+Math.round(i.percent)+"%</div>"},radius:1,background:{color:null,opacity:0},threshold:0},combine:{threshold:-1,color:null,label:"Other"},highlight:{opacity:.5}}}};w.plot.plugins.push({init:function(p){var r,h=null,g=null,c=null,u=null,a=!1,d=null,o=[];function f(e){var i;0<k.series.pie.innerRadius&&(e.save(),i=1<k.series.pie.innerRadius?k.series.pie.innerRadius:g*k.series.pie.innerRadius,e.globalCompositeOperation="destination-out",e.beginPath(),e.fillStyle=k.series.pie.stroke.color,e.arc(0,0,i,0,2*Math.PI,!1),e.fill(),e.closePath(),e.restore(),e.save(),e.beginPath(),e.strokeStyle=k.series.pie.stroke.color,e.arc(0,0,i,0,2*Math.PI,!1),e.stroke(),e.closePath(),e.restore())}function b(e,i){for(var s,t,r=p.getData(),a=p.getOptions(),l=1<a.series.pie.radius?a.series.pie.radius:g*a.series.pie.radius,n=0;n<r.length;++n){var o=r[n];if(o.pie.show){if(d.save(),d.beginPath(),d.moveTo(0,0),d.arc(0,0,l,o.startAngle,o.startAngle+o.angle/2,!1),d.arc(0,0,l,o.startAngle+o.angle/2,o.startAngle+o.angle,!1),d.closePath(),s=e-c,t=i-u,d.isPointInPath){if(d.isPointInPath(e-c,i-u))return d.restore(),{datapoint:[o.percent,o.data],dataIndex:0,series:o,seriesIndex:n}}else if(function(e,i){for(var s=!1,t=-1,r=e.length,a=r-1;++t<r;a=t)(e[t][1]<=i[1]&&i[1]<e[a][1]||e[a][1]<=i[1]&&i[1]<e[t][1])&&i[0]<(e[a][0]-e[t][0])*(i[1]-e[t][1])/(e[a][1]-e[t][1])+e[t][0]&&(s=!s);return s}([[0,0],[l*Math.cos(o.startAngle),l*Math.sin(o.startAngle)],[l*Math.cos(o.startAngle+o.angle/4),l*Math.sin(o.startAngle+o.angle/4)],[l*Math.cos(o.startAngle+o.angle/2),l*Math.sin(o.startAngle+o.angle/2)],[l*Math.cos(o.startAngle+o.angle/1.5),l*Math.sin(o.startAngle+o.angle/1.5)],[l*Math.cos(o.startAngle+o.angle),l*Math.sin(o.startAngle+o.angle)]],[s,t]))return d.restore(),{datapoint:[o.percent,o.data],dataIndex:0,series:o,seriesIndex:n};d.restore()}}return null}function s(e){i("plothover",e)}function t(e){i("plotclick",e)}function i(e,i){var s,t,r=p.offset(),a=b(parseInt(i.pageX-r.left),parseInt(i.pageY-r.top));if(k.grid.autoHighlight)for(var l=0;l<o.length;++l){var n=o[l];n.auto!=e||a&&n.series==a.series||function(e){null==e&&(o=[],p.triggerRedrawOverlay());e=v(e);-1!=e&&(o.splice(e,1),p.triggerRedrawOverlay())}(n.series)}a&&(s=a.series,t=e,-1==(r=v(s))?(o.push({series:s,auto:t}),p.triggerRedrawOverlay()):t||(o[r].auto=!1));i={pageX:i.pageX,pageY:i.pageY};h.trigger(e,[i,a])}function v(e){for(var i=0;i<o.length;++i){if(o[i].series==e)return i}return-1}p.hooks.processOptions.push(function(e,i){i.series.pie.show&&(i.grid.show=!1,"auto"==i.series.pie.label.show&&(i.legend.show?i.series.pie.label.show=!1:i.series.pie.label.show=!0),"auto"==i.series.pie.radius&&(i.series.pie.label.show?i.series.pie.radius=.75:i.series.pie.radius=1),1<i.series.pie.tilt?i.series.pie.tilt=1:i.series.pie.tilt<0&&(i.series.pie.tilt=0))}),p.hooks.bindEvents.push(function(e,i){e=e.getOptions();e.series.pie.show&&(e.grid.hoverable&&i.off("mousemove").on("mousemove",s),e.grid.clickable&&i.off("click").on("click",t))}),p.hooks.processDatapoints.push(function(e,i,s,t){e.getOptions().series.pie.show&&(e=e,a||(a=!0,r=e.getCanvas(),h=w(r).parent(),k=e.getOptions(),e.setData(function(e){for(var i=0,s=0,t=0,r=k.series.pie.combine.color,a=[],l=0;l<e.length;++l){var n=e[l].data;Array.isArray(n)&&1==n.length&&(n=n[0]),Array.isArray(n)?!isNaN(parseFloat(n[1]))&&isFinite(n[1])?n[1]=+n[1]:n[1]=0:n=!isNaN(parseFloat(n))&&isFinite(n)?[1,+n]:[1,0],e[l].data=[n]}for(l=0;l<e.length;++l)i+=e[l].data[0][1];for(l=0;l<e.length;++l){(n=e[l].data[0][1])/i<=k.series.pie.combine.threshold&&(s+=n,t++,r=r||e[l].color)}for(l=0;l<e.length;++l){n=e[l].data[0][1];(t<2||n/i>k.series.pie.combine.threshold)&&a.push({data:[[1,n]],color:e[l].color,label:e[l].label,angle:n*Math.PI*2/i,percent:n/(i/100)})}1<t&&a.push({data:[[1,s]],