@canvasjs/charts 3.7.29 → 3.7.31
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.
- package/LICENSE +1 -1
- package/canvasjs.min.js +276 -276
- package/package.json +1 -1
package/canvasjs.min.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
CanvasJS Chart - v3.7.
|
|
2
|
+
CanvasJS Chart - v3.7.31 GA - https://canvasjs.com/
|
|
3
3
|
Copyright 2023 fenopix
|
|
4
4
|
|
|
5
5
|
--------------------- License Information --------------------
|
|
@@ -518,30 +518,30 @@ b[0]=0;c<y.length;c++)b.push(Math.abs(y[c].y)*E/a);return b}function c(){var a=T
|
|
|
518
518
|
2,a-=k,m=e-h,h+=e-h,m+=0==p?0:a/p,h+=a/p,k=!0):(m=(Math.abs(aa)*b-Math.sqrt(p))/2,p=b-2*m/Math.abs(aa),h+=m,h>e&&(h-=m,p=c,k=(b+p)*(e-h)/2,a-=k,m=e-h,h+=e-h,m+=a/p,h+=a/p,k=!0),b=p)),d.push(m);return d}function b(){if(u&&y){for(var a,b,c,d,e,f,l,k,h,m,p,q,t,n,r,C=[],x=[],v={percent:null,total:null},z=null,D=0;D<y.length;D++)r=R[D],r="undefined"!==typeof r.x5?(r.y2+r.y4)/2:(r.y2+r.y3)/2,r=g(r).x2+1,C[D]=K-r-X;r=0.5*X;for(var D=0,B=y.length-1;D<y.length||0<=B;D++,B--){b=u.reversed?y[B]:y[D];a=b.color?
|
|
519
519
|
b.color:u.reversed?u._colorSet[(y.length-1-D)%u._colorSet.length]:u._colorSet[D%u._colorSet.length];c=b.indexLabelPlacement||u.indexLabelPlacement||"outside";n=b.indexLabelTextAlign||u.indexLabelTextAlign||"left";d=b.indexLabelBackgroundColor||u.indexLabelBackgroundColor||(w?"transparent":null);e=b.indexLabelFontColor||u.indexLabelFontColor||"#979797";f=s(b.indexLabelFontSize)?u.indexLabelFontSize:b.indexLabelFontSize;l=b.indexLabelFontStyle||u.indexLabelFontStyle||"normal";k=b.indexLabelFontFamily||
|
|
520
520
|
u.indexLabelFontFamily||"arial";h=b.indexLabelFontWeight||u.indexLabelFontWeight||"normal";a=b.indexLabelLineColor||u.options.indexLabelLineColor||a;m="number"===typeof b.indexLabelLineThickness?b.indexLabelLineThickness:"number"===typeof u.indexLabelLineThickness?u.indexLabelLineThickness:2;p=b.indexLabelLineDashType||u.indexLabelLineDashType||"solid";q="undefined"!==typeof b.indexLabelWrap?b.indexLabelWrap:"undefined"!==typeof u.indexLabelWrap?u.indexLabelWrap:!0;t=u.dataPointIds[D];A._eventManager.objectMap[t]=
|
|
521
|
-
{id:t,objectType:"dataPoint",dataPointIndex:D,dataSeriesIndex:0,funnelSection:R[u.reversed?y.length-1-D:D]};"inside"===u.indexLabelPlacement&&(C[D]=D!==ca?u.reversed?R[D].x2-R[D].x1:R[D].x3-R[D].x4:R[D].x3-R[D].x6,20>C[D]&&(C[D]=D!==ca?u.reversed?R[D].x3-R[D].x4:R[D].x2-R[D].x1:R[D].x2-R[D].x1,C[D]/=2));t=b.indexLabelMaxWidth?b.indexLabelMaxWidth:u.options.indexLabelMaxWidth?u.indexLabelMaxWidth:C[D];if(t>C[D]||0>t)t=C[D];x[D]="inside"===u.indexLabelPlacement?R[D].height:!1;v=
|
|
522
|
-
b);if(u.indexLabelFormatter||b.indexLabelFormatter)z={chart:A.options,dataSeries:u,dataPoint:b,total:v.total,percent:v.percent};b=b.indexLabelFormatter?b.indexLabelFormatter(z):b.indexLabel?A.replaceKeywordsWithValue(b.indexLabel,b,u,D):u.indexLabelFormatter?u.indexLabelFormatter(z):u.indexLabel?A.replaceKeywordsWithValue(u.indexLabel,b,u,D):b.label?b.label:"";0>=m&&(m=0);1E3>t&&1E3-t<r&&(t+=1E3-t);P.roundRect||Da(P);c=new ja(P,{fontSize:f,fontFamily:k,fontColor:e,fontStyle:l,
|
|
523
|
-
textAlign:n,backgroundColor:d,maxWidth:t,maxHeight:!1===x[D]?q?4.28571429*f:1.5*f:x[D],text:b,padding:da});c.measureText();I.push({textBlock:c,id:u.reversed?B:D,isDirty:!1,lineColor:a,lineThickness:m,lineDashType:p,height:c.height<c.maxHeight?c.height:c.maxHeight,width:c.width<c.maxWidth?c.width:c.maxWidth})}}}function e(){var a,b,c,d,e,f=[];e=!1;c=0;for(var g,l=K-V-X/2,l=u.options.indexLabelMaxWidth?u.indexLabelMaxWidth>l?l:u.indexLabelMaxWidth:l,k=I.length-1;0<=k;k--){g=
|
|
524
|
-
b=(a=q(k)<R.length?I[q(k)]:null)?a.textBlock:null;c=c.height;a&&d.y+c+da>b.y&&(e=!0);c=g.indexLabelMaxWidth||l;if(c>l||0>c)c=l;f.push(c)}if(e)for(k=I.length-1;0<=k;k--)a=R[k],I[k].textBlock.maxWidth=f[f.length-(k+1)],I[k].textBlock.measureText(),I[k].textBlock.x=K-l,c=I[k].textBlock.height<I[k].textBlock.maxHeight?I[k].textBlock.height:I[k].textBlock.maxHeight,e=I[k].textBlock.width<I[k].textBlock.maxWidth?I[k].textBlock.width:I[k].textBlock.maxWidth,I[k].height=c,
|
|
525
|
-
(a.y2+a.y4)/2:(a.y2+a.y3)/2,I[k].textBlock.y=c-I[k].height/2,u.reversed?(I[k].textBlock.y+I[k].height>U+z&&(I[k].textBlock.y=U+z-I[k].height),I[k].textBlock.y<ta-z&&(I[k].textBlock.y=ta-z)):(I[k].textBlock.y<U-z&&(I[k].textBlock.y=U-z),I[k].textBlock.y+I[k].height>ta+z&&(I[k].textBlock.y=ta+z-I[k].height))}function f(){var a,b,c,d;if("inside"!==u.indexLabelPlacement)for(var e=0;e<R.length;e++)0==I[e].textBlock.text.length?I[e].isDirty=!0:(a=R[e],c="undefined"!==
|
|
526
|
-
2,b=u.reversed?"undefined"!==typeof a.x5?c>Ca?g(c).x2+1:(a.x2+a.x3)/2+1:(a.x2+a.x3)/2+1:"undefined"!==typeof a.x5?c<Ca?g(c).x2+1:(a.x4+a.x3)/2+1:(a.x2+a.x3)/2+1,I[e].textBlock.x=b+X,I[e].textBlock.y=c-I[e].height/2,u.reversed?(I[e].textBlock.y+I[e].height>U+z&&(I[e].textBlock.y=U+z-I[e].height),I[e].textBlock.y<ta-z&&(I[e].textBlock.y=ta-z)):(I[e].textBlock.y<U-z&&(I[e].textBlock.y=U-z),I[e].textBlock.y+I[e].height>ta+z&&(I[e].textBlock.y=ta+z-I[e].height)));
|
|
527
|
-
I[e].isDirty=!0:(a=R[e],b=a.height,c=I[e].height,d=I[e].width,b>=c?(b=e!=ca?(a.x4+a.x3)/2-d/2:(a.x5+a.x4)/2-d/2,c=e!=ca?(a.y1+a.y3)/2-c/2:(a.y1+a.y4)/2-c/2,I[e].textBlock.x=b,I[e].textBlock.y=c):I[e].isDirty=!0)}function l(){function a(b,c){var d;if(0>b||b>=I.length)return 0;var e,f=I[b].textBlock;if(0>c){c*=-1;e=p(b);d=h(e,b);if(d>=c)return f.y-=c,c;if(0==b)return 0<d&&(f.y-=d),d;d+=a(e,-(c-d));0<d&&(f.y-=d);return d}e=q(b);d=h(b,e);if(d>=
|
|
528
|
-
d+=a(e,c-d);0<d&&(f.y+=d);return d}function b(){var a,d,e,f,g=0,l;f=(N-$+2*z)/m;l=m;for(var k,h=1;h<l;h++){e=h*f;for(var t=I.length-1;0<=t;t--)!I[t].isDirty&&(I[t].textBlock.y<e&&I[t].textBlock.y+I[t].height>e)&&(k=q(t),!(k>=I.length-1)&&I[t].textBlock.y+I[t].height+da>I[k].textBlock.y&&(I[t].textBlock.y=I[t].textBlock.y+I[t].height-e>e-I[t].textBlock.y?e+1:e-I[t].height-1))}for(k=R.length-1;0<k;k--)if(!I[k].isDirty){e=p(k);if(0>e&&(e=0,I[e].isDirty))break;
|
|
529
|
-
d||k;f=k;for(l=0;I[f].textBlock.y<I[e].textBlock.y+I[e].height+da;){a=a||I[f].textBlock.y+I[f].height;l+=I[f].height;l+=da;f=e;if(0>=f){f=0;l+=I[f].height;break}e=p(f);if(0>e){f=0;l+=I[f].height;break}}if(f!=k){g=I[f].textBlock.y;a-=g;a=l-a;g=c(a,d,f);break}}}return g}function c(a,b,d){var e=[],f=0,g=0;for(a=Math.abs(a);d<=b;d++)e.push(R[d]);e.sort(function(a,b){return a.height-b.height});for(d=0;d<e.length;d++)if(b=e[d],f<a)g++,f+=I[b.id].height+
|
|
530
|
-
"",I[b.id].isDirty=!0,I[b.id].textBlock.measureText();else break;return g}for(var d,e,f,g,l,k,m=1,r=0;r<2*m;r++){for(var n=I.length-1;0<=n&&!(0<=p(n)&&p(n),f=I[n],g=f.textBlock,k=(l=q(n)<R.length?I[q(n)]:null)?l.textBlock:null,d=+f.height.toFixed(6),e=+g.y.toFixed(6),!f.isDirty&&(l&&e+d+da>+k.y.toFixed(6))&&(d=g.y+d+da-k.y,e=a(n,-d),e<d&&(0<e&&(d-=e),e=a(q(n),d),e!=d)));n--);b()}}function h(a,b){return(b<R.length?I[b].textBlock.y:u.reversed?U+z:
|
|
531
|
-
da)}function n(a,b,c){var d,e,g,l=[],h=z,p=[];-1!==b&&(0<=Z.indexOf(b)?(e=Z.indexOf(b),Z.splice(e,1)):(Z.push(b),Z=Z.sort(function(a,b){return a-b})));if(0===Z.length)l=ia;else{e=z*(1!=Z.length||0!=Z[0]&&Z[0]!=R.length-1?2:1)/k();for(var q=0;q<R.length;q++){if(1==Z.length&&0==Z[0]){if(0===q){l.push(ia[q]);d=h;continue}}else 0===q&&(d=-1*h);l.push(ia[q]+d);if(0<=Z.indexOf(q)||q<R.length&&0<=Z.indexOf(q+1))d+=e}}g=function(){for(var a=[],b=
|
|
532
|
-
duration:c||500,easingFunction:function(a,b,c,d){return M.easing.easeOutQuart(a,b,c,d)},changeSection:function(a){for(var b,c,d=0;d<R.length;d++)b=g[d],c=R[d],b*=a,"undefined"===typeof p[d]&&(p[d]=0),0>p&&(p*=-1),c.y1+=b-p[d],c.y2+=b-p[d],c.y3+=b-p[d],c.y4+=b-p[d],c.y5&&(c.y5+=b-p[d],c.y6+=b-p[d]),p[d]=b}};a._animator.animate(0,c,function(c){var d=a.plotArea.ctx||a.ctx;ha=!0;d.clearRect(x.x1,x.y1,x.x2-x.x1,x.y2-
|
|
533
|
-
b);var e={};e.dataSeries=u;e.dataPoint=u.reversed?u.dataPoints[y.length-1-b]:u.dataPoints[b];e.index=u.reversed?y.length-1-b:b;a.toolTip.highlightObjects([e]);for(e=0;e<R.length;e++)ra(d,R[e],u.fillOpacity);v(d);L&&("inside"!==u.indexLabelPlacement?m(d):f(),r(d));1<=c&&(ha=!1)},null,M.easing.easeOutQuart)}function k(){for(var a=0,b=0;b<R.length-1;b++)(0<=Z.indexOf(b)||0<=Z.indexOf(b+1))&&a++;return a}function m(a){for(var b,
|
|
534
|
-
2<<0)+e,b=g(c).x2-1,d=I[f].textBlock.x,e=(I[f].textBlock.y+I[f].height/2<<0)+e,I[f].isDirty||0==I[f].lineThickness||(a.strokeStyle=I[f].lineColor,a.lineWidth=I[f].lineThickness,a.setLineDash&&a.setLineDash(J(I[f].lineDashType,I[f].lineThickness)),a.beginPath(),a.moveTo(b,c),a.lineTo(d,e),a.stroke())}function p(a){for(a-=1;-1<=a&&-1!=a&&I[a].isDirty;a--);return a}function q(a){for(a+=1;a<=R.length&&a!=R.length&&I[a].isDirty;a++);
|
|
535
|
-
a){b=R[c];break}return b?(a=b.y6?a>b.y6?b.x3+(b.x4-b.x3)/(b.y4-b.y3)*(a-b.y3):b.x2+(b.x3-b.x2)/(b.y3-b.y2)*(a-b.y2):b.x2+(b.x3-b.x2)/(b.y3-b.y2)*(a-b.y2),{x1:a,x2:a}):-1}function r(a){for(var b=0;b<R.length;b++)I[b].isDirty||(a&&(I[b].textBlock.ctx=a),I[b].textBlock.render(!0))}function v(a){A.plotArea.layoutManager.reset();a.roundRect||Da(a);A.title&&(A.title.dockInsidePlotArea||"center"===A.title.horizontalAlign&&"center"===
|
|
536
|
-
0;b<A.subtitles.length;b++){var c=A.subtitles[b];if(c.dockInsidePlotArea||"center"===c.horizontalAlign&&"center"===c.verticalAlign)A.subtitles.ctx=a,c.render()}A.legend&&(A.legend.dockInsidePlotArea||"center"===A.legend.horizontalAlign&&"center"===A.legend.verticalAlign)&&(A.legend.ctx=a,A.legend.setLayout(),A.legend.render());va.fNg&&va.fNg(A)}var A=this;if(!(0>=a.dataSeriesIndexes.length)){for(var u=this.data[a.dataSeriesIndexes[0]],
|
|
537
|
-
D=0,E=x.height-2*z,G=Math.min(x.width-2*B,2.8*x.height),L=!1,S=0;S<y.length;S++)if(!L&&("undefined"!==typeof y[S].indexLabel&&null!==y[S].indexLabel&&0<y[S].indexLabel.toString().length)&&(L=!0),!L&&("undefined"!==typeof y[S].label&&null!==y[S].label&&0<y[S].label.toString().length)&&(L=!0),!L&&"function"===typeof u.indexLabelFormatter||"function"===typeof y[S].indexLabelFormatter)L=!0;L=L||"undefined"!==typeof u.indexLabel&&null!==u.indexLabel&&
|
|
538
|
-
L||(B=(x.width-0.75*G)/2);var S=x.x1+B,K=x.x2-B,$=x.y1+z,N=x.y2-z,P=a.targetCanvasCtx||this.plotArea.ctx||this.ctx;if(0!=u.length&&(u.dataPoints&&u.visible)&&0!==y.length){var Q,F;a=75*G/100;var X=30*(K-a)/100;"funnel"===u.type?(Q=s(u.options.neckHeight)?0.35*E:u.neckHeight,F=s(u.options.neckWidth)?0.25*a:u.neckWidth,"string"===typeof Q&&Q.match(/%$/)?(Q=parseInt(Q),Q=Q*E/100):Q=parseInt(Q),"string"===typeof F&&F.match(/%$/)?(F=parseInt(F),
|
|
539
|
-
0>=F&&(F=0)):"pyramid"===u.type&&(F=Q=0,u.reversed=u.reversed?!1:!0);var B=S+a/2,T=S,V=S+a,U=u.reversed?N:$,O=B-F/2,W=B+F/2,Ca=u.reversed?$+Q:N-Q,ta=u.reversed?$:N;a=[];var B=[],R=[],G=[],Y=$,ca,aa=(Ca-U)/(O-T),fa=-aa,S="area"===(u.valueRepresents?u.valueRepresents:"height")?c():d();if(-1!==S){if(u.reversed)for(G.push(Y),F=S.length-1;0<F;F--)Y+=S[F],G.push(Y);else for(F=0;F<S.length;F++)Y+=S[F],G.push(Y);if(u.reversed)for(F=0;F<S.length;F++)G[F]<
|
|
540
|
-
aa),B.push((G[F]-U+fa*V)/fa));else for(F=0;F<S.length;F++)G[F]<Ca?(a.push((G[F]-U+aa*T)/aa),B.push((G[F]-U+fa*V)/fa),ca=F):(a.push(O),B.push(W));for(F=0;F<S.length-1;F++)Y=u.reversed?y[y.length-1-F].color?y[y.length-1-F].color:u._colorSet[(y.length-1-F)%u._colorSet.length]:y[F].color?y[F].color:u._colorSet[F%u._colorSet.length],F===ca?R.push({x1:a[F],y1:G[F],x2:B[F],y2:G[F],x3:W,y3:Ca,x4:B[F+1],y4:G[F+1],x5:a[F+1],y5:G[F+1],x6:O,y6:Ca,id:F,height:G[F+
|
|
541
|
-
y2:G[F],x3:B[F+1],y3:G[F+1],x4:a[F+1],y4:G[F+1],id:F,height:G[F+1]-G[F],color:Y});var da=2,I=[],ha=!1,Z=[],ia=[],S=!1;a=a=0;Ea(Z);for(F=0;F<y.length;F++)y[F].exploded&&(S=!0,u.reversed?Z.push(y.length-1-F):Z.push(F));P.clearRect(x.x1,x.y1,x.width,x.height);P.fillStyle=A.backgroundColor;P.fillRect(x.x1,x.y1,x.width,x.height);if(L&&u.visible&&(b(),f(),e(),"inside"!==u.indexLabelPlacement)){l();for(F=0;F<y.length;F++)I[F].isDirty||(a=I[F].textBlock.x+
|
|
542
|
-
0;F<R.length;F++)R[F].x1+=D,R[F].x2+=D,R[F].x3+=D,R[F].x4+=D,R[F].x5&&(R[F].x5+=D,R[F].x6+=D),I[F].textBlock.x+=D}for(F=0;F<R.length;F++)D=R[F],ra(P,D,u.fillOpacity),ia.push(D.y1);v(P);L&&u.visible&&("inside"===u.indexLabelPlacement||A.animationEnabled||m(P),A.animationEnabled||r());if(!L)for(F=0;F<y.length;F++)D=u.dataPointIds[F],a={id:D,objectType:"dataPoint",dataPointIndex:F,dataSeriesIndex:0,funnelSection:R[u.reversed?y.length-1-F:F]},A._eventManager.objectMap[D]=
|
|
543
|
-
|
|
544
|
-
b);1<=a&&(n(A,-1,500),v(A.plotArea.ctx||A.ctx))},easingFunction:M.easing.easeInQuad,animationBase:0}}}}};n.prototype.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){window.setTimeout(a,1E3/60)}}();n.prototype.cancelRequestAnimFrame=window.cancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||
|
|
521
|
+
{id:t,objectType:"dataPoint",dataPointIndex:D,dataSeriesIndex:0,funnelSection:R[u.reversed?y.length-1-D:D]};"inside"===u.indexLabelPlacement&&(C[D]=D!==ca?u.reversed?R[D].x2-R[D].x1:R[D].x3-R[D].x4:R[D].x3-R[D].x6,20>C[D]&&(C[D]=D!==ca?u.reversed?R[D].x3-R[D].x4:R[D].x2-R[D].x1:R[D].x2-R[D].x1,C[D]/=2));t=b.indexLabelMaxWidth?b.indexLabelMaxWidth:u.options.indexLabelMaxWidth?u.indexLabelMaxWidth:C[D];if(t>C[D]||0>t)t=C[D];x[D]="inside"===u.indexLabelPlacement?q?Math.max(R[D].height,f):1.5*f:!1;v=
|
|
522
|
+
A.getPercentAndTotal(u,b);if(u.indexLabelFormatter||b.indexLabelFormatter)z={chart:A.options,dataSeries:u,dataPoint:b,total:v.total,percent:v.percent};b=b.indexLabelFormatter?b.indexLabelFormatter(z):b.indexLabel?A.replaceKeywordsWithValue(b.indexLabel,b,u,D):u.indexLabelFormatter?u.indexLabelFormatter(z):u.indexLabel?A.replaceKeywordsWithValue(u.indexLabel,b,u,D):b.label?b.label:"";0>=m&&(m=0);1E3>t&&1E3-t<r&&(t+=1E3-t);P.roundRect||Da(P);c=new ja(P,{fontSize:f,fontFamily:k,fontColor:e,fontStyle:l,
|
|
523
|
+
fontWeight:h,horizontalAlign:c,textAlign:n,backgroundColor:d,maxWidth:t,maxHeight:!1===x[D]?q?4.28571429*f:1.5*f:x[D],text:b,padding:da});c.measureText();I.push({textBlock:c,id:u.reversed?B:D,isDirty:!1,lineColor:a,lineThickness:m,lineDashType:p,height:c.height<c.maxHeight?c.height:c.maxHeight,width:c.width<c.maxWidth?c.width:c.maxWidth})}}}function e(){var a,b,c,d,e,f=[];e=!1;c=0;for(var g,l=K-V-X/2,l=u.options.indexLabelMaxWidth?u.indexLabelMaxWidth>l?l:u.indexLabelMaxWidth:l,k=I.length-1;0<=k;k--){g=
|
|
524
|
+
y[I[k].id];c=I[k];d=c.textBlock;b=(a=q(k)<R.length?I[q(k)]:null)?a.textBlock:null;c=c.height;a&&d.y+c+da>b.y&&(e=!0);c=g.indexLabelMaxWidth||l;if(c>l||0>c)c=l;f.push(c)}if(e)for(k=I.length-1;0<=k;k--)a=R[k],I[k].textBlock.maxWidth=f[f.length-(k+1)],I[k].textBlock.measureText(),I[k].textBlock.x=K-l,c=I[k].textBlock.height<I[k].textBlock.maxHeight?I[k].textBlock.height:I[k].textBlock.maxHeight,e=I[k].textBlock.width<I[k].textBlock.maxWidth?I[k].textBlock.width:I[k].textBlock.maxWidth,I[k].height=c,
|
|
525
|
+
I[k].width=e,c="undefined"!==typeof a.x5?(a.y2+a.y4)/2:(a.y2+a.y3)/2,I[k].textBlock.y=c-I[k].height/2,u.reversed?(I[k].textBlock.y+I[k].height>U+z&&(I[k].textBlock.y=U+z-I[k].height),I[k].textBlock.y<ta-z&&(I[k].textBlock.y=ta-z)):(I[k].textBlock.y<U-z&&(I[k].textBlock.y=U-z),I[k].textBlock.y+I[k].height>ta+z&&(I[k].textBlock.y=ta+z-I[k].height))}function f(){var a,b,c,d;if("inside"!==u.indexLabelPlacement)for(var e=0;e<R.length;e++)0==I[e].textBlock.text.length?I[e].isDirty=!0:(a=R[e],c="undefined"!==
|
|
526
|
+
typeof a.x5?(a.y2+a.y4)/2:(a.y2+a.y3)/2,b=u.reversed?"undefined"!==typeof a.x5?c>Ca?g(c).x2+1:(a.x2+a.x3)/2+1:(a.x2+a.x3)/2+1:"undefined"!==typeof a.x5?c<Ca?g(c).x2+1:(a.x4+a.x3)/2+1:(a.x2+a.x3)/2+1,I[e].textBlock.x=b+X,I[e].textBlock.y=c-I[e].height/2,u.reversed?(I[e].textBlock.y+I[e].height>U+z&&(I[e].textBlock.y=U+z-I[e].height),I[e].textBlock.y<ta-z&&(I[e].textBlock.y=ta-z)):(I[e].textBlock.y<U-z&&(I[e].textBlock.y=U-z),I[e].textBlock.y+I[e].height>ta+z&&(I[e].textBlock.y=ta+z-I[e].height)));
|
|
527
|
+
else for(e=0;e<R.length;e++)0==I[e].textBlock.text.length?I[e].isDirty=!0:(a=R[e],b=a.height,c=I[e].height,d=I[e].width,b>=c?(b=e!=ca?(a.x4+a.x3)/2-d/2:(a.x5+a.x4)/2-d/2,c=e!=ca?(a.y1+a.y3)/2-c/2:(a.y1+a.y4)/2-c/2,I[e].textBlock.x=b,I[e].textBlock.y=c):I[e].isDirty=!0)}function l(){function a(b,c){var d;if(0>b||b>=I.length)return 0;var e,f=I[b].textBlock;if(0>c){c*=-1;e=p(b);d=h(e,b);if(d>=c)return f.y-=c,c;if(0==b)return 0<d&&(f.y-=d),d;d+=a(e,-(c-d));0<d&&(f.y-=d);return d}e=q(b);d=h(b,e);if(d>=
|
|
528
|
+
c)return f.y+=c,c;if(b==R.length-1)return 0<d&&(f.y+=d),d;d+=a(e,c-d);0<d&&(f.y+=d);return d}function b(){var a,d,e,f,g=0,l;f=(N-$+2*z)/m;l=m;for(var k,h=1;h<l;h++){e=h*f;for(var t=I.length-1;0<=t;t--)!I[t].isDirty&&(I[t].textBlock.y<e&&I[t].textBlock.y+I[t].height>e)&&(k=q(t),!(k>=I.length-1)&&I[t].textBlock.y+I[t].height+da>I[k].textBlock.y&&(I[t].textBlock.y=I[t].textBlock.y+I[t].height-e>e-I[t].textBlock.y?e+1:e-I[t].height-1))}for(k=R.length-1;0<k;k--)if(!I[k].isDirty){e=p(k);if(0>e&&(e=0,I[e].isDirty))break;
|
|
529
|
+
if(I[k].textBlock.y<I[e].textBlock.y+I[e].height){d=d||k;f=k;for(l=0;I[f].textBlock.y<I[e].textBlock.y+I[e].height+da;){a=a||I[f].textBlock.y+I[f].height;l+=I[f].height;l+=da;f=e;if(0>=f){f=0;l+=I[f].height;break}e=p(f);if(0>e){f=0;l+=I[f].height;break}}if(f!=k){g=I[f].textBlock.y;a-=g;a=l-a;g=c(a,d,f);break}}}return g}function c(a,b,d){var e=[],f=0,g=0;for(a=Math.abs(a);d<=b;d++)e.push(R[d]);e.sort(function(a,b){return a.height-b.height});for(d=0;d<e.length;d++)if(b=e[d],f<a)g++,f+=I[b.id].height+
|
|
530
|
+
da,I[b.id].textBlock.text="",I[b.id].indexLabelText="",I[b.id].isDirty=!0,I[b.id].textBlock.measureText();else break;return g}for(var d,e,f,g,l,k,m=1,r=0;r<2*m;r++){for(var n=I.length-1;0<=n&&!(0<=p(n)&&p(n),f=I[n],g=f.textBlock,k=(l=q(n)<R.length?I[q(n)]:null)?l.textBlock:null,d=+f.height.toFixed(6),e=+g.y.toFixed(6),!f.isDirty&&(l&&e+d+da>+k.y.toFixed(6))&&(d=g.y+d+da-k.y,e=a(n,-d),e<d&&(0<e&&(d-=e),e=a(q(n),d),e!=d)));n--);b()}}function h(a,b){return(b<R.length?I[b].textBlock.y:u.reversed?U+z:
|
|
531
|
+
ta+z)-(0>a?u.reversed?ta-z:U-z:I[a].textBlock.y+I[a].height+da)}function n(a,b,c){var d,e,g,l=[],h=z,p=[];-1!==b&&(0<=Z.indexOf(b)?(e=Z.indexOf(b),Z.splice(e,1)):(Z.push(b),Z=Z.sort(function(a,b){return a-b})));if(0===Z.length)l=ia;else{e=z*(1!=Z.length||0!=Z[0]&&Z[0]!=R.length-1?2:1)/k();for(var q=0;q<R.length;q++){if(1==Z.length&&0==Z[0]){if(0===q){l.push(ia[q]);d=h;continue}}else 0===q&&(d=-1*h);l.push(ia[q]+d);if(0<=Z.indexOf(q)||q<R.length&&0<=Z.indexOf(q+1))d+=e}}g=function(){for(var a=[],b=
|
|
532
|
+
0;b<R.length;b++)a.push(l[b]-R[b].y1);return a}();var t={startTime:(new Date).getTime(),duration:c||500,easingFunction:function(a,b,c,d){return M.easing.easeOutQuart(a,b,c,d)},changeSection:function(a){for(var b,c,d=0;d<R.length;d++)b=g[d],c=R[d],b*=a,"undefined"===typeof p[d]&&(p[d]=0),0>p&&(p*=-1),c.y1+=b-p[d],c.y2+=b-p[d],c.y3+=b-p[d],c.y4+=b-p[d],c.y5&&(c.y5+=b-p[d],c.y6+=b-p[d]),p[d]=b}};a._animator.animate(0,c,function(c){var d=a.plotArea.ctx||a.ctx;ha=!0;d.clearRect(x.x1,x.y1,x.x2-x.x1,x.y2-
|
|
533
|
+
x.y1);d.fillStyle=a.backgroundColor;d.fillRect(x.x1,x.y1,x.width,x.height);t.changeSection(c,b);var e={};e.dataSeries=u;e.dataPoint=u.reversed?u.dataPoints[y.length-1-b]:u.dataPoints[b];e.index=u.reversed?y.length-1-b:b;a.toolTip.highlightObjects([e]);for(e=0;e<R.length;e++)ra(d,R[e],u.fillOpacity);v(d);L&&("inside"!==u.indexLabelPlacement?m(d):f(),r(d));1<=c&&(ha=!1)},null,M.easing.easeOutQuart)}function k(){for(var a=0,b=0;b<R.length-1;b++)(0<=Z.indexOf(b)||0<=Z.indexOf(b+1))&&a++;return a}function m(a){for(var b,
|
|
534
|
+
c,d,e,f=0;f<R.length;f++)e=1===I[f].lineThickness%2?0.5:0,c=((R[f].y2+R[f].y4)/2<<0)+e,b=g(c).x2-1,d=I[f].textBlock.x,e=(I[f].textBlock.y+I[f].height/2<<0)+e,I[f].isDirty||0==I[f].lineThickness||(a.strokeStyle=I[f].lineColor,a.lineWidth=I[f].lineThickness,a.setLineDash&&a.setLineDash(J(I[f].lineDashType,I[f].lineThickness)),a.beginPath(),a.moveTo(b,c),a.lineTo(d,e),a.stroke())}function p(a){for(a-=1;-1<=a&&-1!=a&&I[a].isDirty;a--);return a}function q(a){for(a+=1;a<=R.length&&a!=R.length&&I[a].isDirty;a++);
|
|
535
|
+
return a}function g(a){for(var b,c=0;c<y.length;c++)if(R[c].y1<a&&R[c].y4>a){b=R[c];break}return b?(a=b.y6?a>b.y6?b.x3+(b.x4-b.x3)/(b.y4-b.y3)*(a-b.y3):b.x2+(b.x3-b.x2)/(b.y3-b.y2)*(a-b.y2):b.x2+(b.x3-b.x2)/(b.y3-b.y2)*(a-b.y2),{x1:a,x2:a}):-1}function r(a){for(var b=0;b<R.length;b++)I[b].isDirty||(a&&(I[b].textBlock.ctx=a),I[b].textBlock.render(!0))}function v(a){A.plotArea.layoutManager.reset();a.roundRect||Da(a);A.title&&(A.title.dockInsidePlotArea||"center"===A.title.horizontalAlign&&"center"===
|
|
536
|
+
A.title.verticalAlign)&&(A.title.ctx=a,A.title.render());if(A.subtitles)for(var b=0;b<A.subtitles.length;b++){var c=A.subtitles[b];if(c.dockInsidePlotArea||"center"===c.horizontalAlign&&"center"===c.verticalAlign)A.subtitles.ctx=a,c.render()}A.legend&&(A.legend.dockInsidePlotArea||"center"===A.legend.horizontalAlign&&"center"===A.legend.verticalAlign)&&(A.legend.ctx=a,A.legend.setLayout(),A.legend.render());va.fNg&&va.fNg(A)}var A=this;if(!(0>=a.dataSeriesIndexes.length)){for(var u=this.data[a.dataSeriesIndexes[0]],
|
|
537
|
+
y=u.dataPoints,x=this.plotArea,z=0.025*x.width,B=0.01*x.width,D=0,E=x.height-2*z,G=Math.min(x.width-2*B,2.8*x.height),L=!1,S=0;S<y.length;S++)if(!L&&("undefined"!==typeof y[S].indexLabel&&null!==y[S].indexLabel&&0<y[S].indexLabel.toString().length)&&(L=!0),!L&&("undefined"!==typeof y[S].label&&null!==y[S].label&&0<y[S].label.toString().length)&&(L=!0),!L&&"function"===typeof u.indexLabelFormatter||"function"===typeof y[S].indexLabelFormatter)L=!0;L=L||"undefined"!==typeof u.indexLabel&&null!==u.indexLabel&&
|
|
538
|
+
0<u.indexLabel.toString().length;"inside"!==u.indexLabelPlacement&&L||(B=(x.width-0.75*G)/2);var S=x.x1+B,K=x.x2-B,$=x.y1+z,N=x.y2-z,P=a.targetCanvasCtx||this.plotArea.ctx||this.ctx;if(0!=u.length&&(u.dataPoints&&u.visible)&&0!==y.length){var Q,F;a=75*G/100;var X=30*(K-a)/100;"funnel"===u.type?(Q=s(u.options.neckHeight)?0.35*E:u.neckHeight,F=s(u.options.neckWidth)?0.25*a:u.neckWidth,"string"===typeof Q&&Q.match(/%$/)?(Q=parseInt(Q),Q=Q*E/100):Q=parseInt(Q),"string"===typeof F&&F.match(/%$/)?(F=parseInt(F),
|
|
539
|
+
F=F*a/100):F=parseInt(F),Q>E?Q=E:0>=Q&&(Q=0),F>a?F=a-0.5:0>=F&&(F=0)):"pyramid"===u.type&&(F=Q=0,u.reversed=u.reversed?!1:!0);var B=S+a/2,T=S,V=S+a,U=u.reversed?N:$,O=B-F/2,W=B+F/2,Ca=u.reversed?$+Q:N-Q,ta=u.reversed?$:N;a=[];var B=[],R=[],G=[],Y=$,ca,aa=(Ca-U)/(O-T),fa=-aa,S="area"===(u.valueRepresents?u.valueRepresents:"height")?c():d();if(-1!==S){if(u.reversed)for(G.push(Y),F=S.length-1;0<F;F--)Y+=S[F],G.push(Y);else for(F=0;F<S.length;F++)Y+=S[F],G.push(Y);if(u.reversed)for(F=0;F<S.length;F++)G[F]<
|
|
540
|
+
Ca?(a.push(O),B.push(W),ca=F):(a.push((G[F]-U+aa*T)/aa),B.push((G[F]-U+fa*V)/fa));else for(F=0;F<S.length;F++)G[F]<Ca?(a.push((G[F]-U+aa*T)/aa),B.push((G[F]-U+fa*V)/fa),ca=F):(a.push(O),B.push(W));for(F=0;F<S.length-1;F++)Y=u.reversed?y[y.length-1-F].color?y[y.length-1-F].color:u._colorSet[(y.length-1-F)%u._colorSet.length]:y[F].color?y[F].color:u._colorSet[F%u._colorSet.length],F===ca?R.push({x1:a[F],y1:G[F],x2:B[F],y2:G[F],x3:W,y3:Ca,x4:B[F+1],y4:G[F+1],x5:a[F+1],y5:G[F+1],x6:O,y6:Ca,id:F,height:G[F+
|
|
541
|
+
1]-G[F],color:Y}):R.push({x1:a[F],y1:G[F],x2:B[F],y2:G[F],x3:B[F+1],y3:G[F+1],x4:a[F+1],y4:G[F+1],id:F,height:G[F+1]-G[F],color:Y});var da=2,I=[],ha=!1,Z=[],ia=[],S=!1;a=a=0;Ea(Z);for(F=0;F<y.length;F++)y[F].exploded&&(S=!0,u.reversed?Z.push(y.length-1-F):Z.push(F));P.clearRect(x.x1,x.y1,x.width,x.height);P.fillStyle=A.backgroundColor;P.fillRect(x.x1,x.y1,x.width,x.height);if(L&&u.visible&&(b(),f(),e(),"inside"!==u.indexLabelPlacement)){l();for(F=0;F<y.length;F++)I[F].isDirty||(a=I[F].textBlock.x+
|
|
542
|
+
I[F].width,a=(K-a)/2,0==F&&(D=a),D>a&&(D=a));for(F=0;F<R.length;F++)R[F].x1+=D,R[F].x2+=D,R[F].x3+=D,R[F].x4+=D,R[F].x5&&(R[F].x5+=D,R[F].x6+=D),I[F].textBlock.x+=D}for(F=0;F<R.length;F++)D=R[F],ra(P,D,u.fillOpacity),ia.push(D.y1);v(P);L&&u.visible&&("inside"===u.indexLabelPlacement||A.animationEnabled||m(P),A.animationEnabled||r());if(!L)for(F=0;F<y.length;F++)D=u.dataPointIds[F],a={id:D,objectType:"dataPoint",dataPointIndex:F,dataSeriesIndex:0,funnelSection:R[u.reversed?y.length-1-F:F]},A._eventManager.objectMap[D]=
|
|
543
|
+
a;!A.animationEnabled&&S?n(A,-1,0):A.animationEnabled&&!A.animatedRender&&n(A,-1,0);this.funnelPyramidClickHandler=function(a){var b=-1;if(!ha&&!A.isAnimating&&(s(a.dataSeries.explodeOnClick)||a.dataSeries.explodeOnClick)&&(b=u.reversed?y.length-1-a.dataPointIndex:a.dataPointIndex,0<=b)){a=b;if("funnel"===u.type||"pyramid"===u.type)u.reversed?y[y.length-1-a].exploded=y[y.length-1-a].exploded?!1:!0:y[a].exploded=y[a].exploded?!1:!0;n(A,b,500)}};return{source:P,dest:this.plotArea.ctx,animationCallback:function(a,
|
|
544
|
+
b){M.fadeInAnimation(a,b);1<=a&&(n(A,-1,500),v(A.plotArea.ctx||A.ctx))},easingFunction:M.easing.easeInQuad,animationBase:0}}}}};n.prototype.requestAnimFrame=function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){window.setTimeout(a,1E3/60)}}();n.prototype.cancelRequestAnimFrame=window.cancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||
|
|
545
545
|
window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||clearTimeout;n.prototype.set=function(a,d,c){c="undefined"===typeof c?!0:c;"options"===a?(this.options=d,c&&this.render()):n.base.set.call(this,a,d,c)};n.prototype.exportChart=function(a){a="undefined"===typeof a?{}:a;var d=a.format?a.format:"png",c=a.fileName?a.fileName:this.exportFileName;if(a.toDataURL)return this.canvas.toDataURL("image/"+d);var b=this.canvas;if(b&&d&&c){c=c+"."+d;a="image/"+d;var b=b.toDataURL(a),e=!1,
|
|
546
546
|
f=document.createElement("a");f.download=c;f.href=b;if("undefined"!==typeof Blob&&new Blob){for(var l=b.replace(/^data:[a-z\/]*;base64,/,""),l=atob(l),h=new ArrayBuffer(l.length),h=new Uint8Array(h),n=0;n<l.length;n++)h[n]=l.charCodeAt(n);d=new Blob([h.buffer],{type:"image/"+d});try{window.navigator.msSaveBlob(d,c),e=!0}catch(k){f.dataset.downloadurl=[a,f.download,f.href].join(":"),f.href=window.URL.createObjectURL(d)}}if(!e)try{event=document.createEvent("MouseEvents"),event.initMouseEvent("click",
|
|
547
547
|
!0,!1,window,0,0,0,0,0,!1,!1,!1,!1,0,null),f.dispatchEvent?f.dispatchEvent(event):f.fireEvent&&f.fireEvent("onclick")}catch(m){d=window.open(),d.document.write("<img src='"+b+"'></img><div>Please right click on the image and save it to your device</div>"),d.document.close()}}};n.prototype.print=function(){var a=this.exportChart({toDataURL:!0}),d=document.createElement("iframe");d.setAttribute("class","canvasjs-chart-print-frame");V(d,{position:"absolute",width:"100%",border:"0px",margin:"0px 0px 0px 0px",
|
|
@@ -560,256 +560,256 @@ p.dataPoints[y],q=x.legendMarkerType?x.legendMarkerType:p.legendMarkerType?p.leg
|
|
|
560
560
|
x.legendMarkerBorderColor:p.legendMarkerBorderColor?p.legendMarkerBorderColor:x.markerBorderColor?x.markerBorderColor:p.markerBorderColor,u=x.legendMarkerBorderThickness?x.legendMarkerBorderThickness:p.legendMarkerBorderThickness?p.legendMarkerBorderThickness:x.markerBorderThickness||p.markerBorderThickness?Math.max(1,Math.round(0.2*w)):0,g=this.chart.replaceKeywordsWithValue(g,x,p,y),q={markerType:q,markerColor:r,text:g,textBlock:null,chartType:p.type,markerSize:w,dataSeriesIndex:m,dataPointIndex:y,
|
|
561
561
|
markerBorderColor:v,markerBorderThickness:u};(x.showInLegend||p.showInLegend&&!1!==x.showInLegend)&&n.push(q)}}!0===this.reversed&&n.reverse();if(0<n.length){p=null;r=g=x=y=0;x=null!==this.itemWidth?null!==this.itemMaxWidth?Math.min(this.itemWidth,this.itemMaxWidth,f):this.itemMaxWidth=Math.min(this.itemWidth,f):null!==this.itemMaxWidth?Math.min(this.itemMaxWidth,f):this.itemMaxWidth=f;w=0===w?0.75*this.lineHeight:w;x=(this.itemMaxWidth?this.itemMaxWidth:x)-(w+h);for(m=0;m<n.length;m++){q=n[m];v=
|
|
562
562
|
x;if("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType)v-=2*0.1*this.lineHeight;if(!(0>=l||"undefined"===typeof l||0>=v||"undefined"===typeof v)){if("horizontal"===this.orientation){q.textBlock=new ja(this.ctx,{x:0,y:0,maxWidth:v,maxHeight:this.itemWrap?l:this.lineHeight,angle:0,text:q.text,horizontalAlign:"left",fontSize:this.fontSize,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontColor:this.fontColor,fontStyle:this.fontStyle,textBaseline:"middle"});q.textBlock.measureText();
|
|
563
|
-
null!==this.itemWidth&&(q.textBlock.width=this.itemWidth-(w+h+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0)));if(!p||p.width+Math.round(q.textBlock.width+w+h+(0===p.width?0:this.horizontalSpacing)+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0))>f)p={items:[],width:0},k.push(p),this.height+=g,g=0;g=Math.max(g,q.textBlock.height?q.textBlock.height:this.lineHeight)
|
|
564
|
-
y:0,maxWidth:x,maxHeight:!0===this.itemWrap?l:1.5*this.fontSize,angle:0,text:q.text,horizontalAlign:"left",fontSize:this.fontSize,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontColor:this.fontColor,fontStyle:this.fontStyle,
|
|
565
|
-
(p=k[y],y=(y+1)%k.length),this.height+=q.textBlock.height?q.textBlock.height:this.lineHeight
|
|
566
|
-
r;this.height=!1===this.itemWrap?k.length*this.lineHeight:this.height+g;this.height=Math.min(l,this.height);this.width=Math.min(f,this.width)}"top"===this.verticalAlign?(e="left"===this.horizontalAlign?d.x1:"right"===this.horizontalAlign?
|
|
567
|
-
this.horizontalAlign?d.x1:"right"===this.horizontalAlign?d.x2-this.width:d.x1+d.width/2-this.width/2,b=d.y2-this.height);this.items=n;for(m=0;m<this.items.length;m++)q=n[m],q.id=++this.chart._eventManager.lastObjectId,this.chart._eventManager.objectMap[q.id]=
|
|
568
|
-
{x1:e,y1:b,x2:e+this.width,y2:b+this.height}};K.prototype.render=function(){var a=this.bounds.x1,d=this.bounds.y1,c=this.markerMargin,b=this.maxWidth,e=this.maxHeight,f=this.markerSize,l=this.rows;(0<this.borderThickness&&this.borderColor||this.backgroundColor)&&
|
|
569
|
-
p?0.2*f:this.horizontalSpacing),r=d+h,s=g;this.chart.data[q.dataSeriesIndex].visible||(this.ctx.globalAlpha=0.5);this.ctx.save();this.ctx.beginPath();this.ctx.rect(a,d,b,Math.max(e-e%this.lineHeight,0));this.ctx.clip();if("line"===q.chartType||"stepLine"===q.chartType||
|
|
570
|
-
2),this.ctx.stroke(),s-=0.1*this.lineHeight;if("error"===q.chartType){this.ctx.strokeStyle=this.errorMarkerColor[0];this.ctx.lineWidth=f/8;this.ctx.beginPath();var w=g-0.08*this.lineHeight+0.1*this.lineHeight,u=r+0.15*this.lineHeight,v=0.7*this.lineHeight,x=v+
|
|
571
|
-
this.ctx.stroke();this.errorMarkerColor.shift()}W.drawMarker(g+f/2,r+this.lineHeight/2,this.ctx,q.markerType,"error"===q.chartType||"line"===q.chartType||"spline"===q.chartType?q.markerSize/2:q.markerSize,q.markerColor,q.markerBorderColor,q.markerBorderThickness);
|
|
572
|
-
q.textBlock.height:this.lineHeight):q.textBlock.height?q.textBlock.height:this.lineHeight;this.chart.data[q.dataSeriesIndex].visible||(this.ctx.globalAlpha=1);g=X(q.id);this.ghostCtx.fillStyle=g;this.ghostCtx.beginPath();this.ghostCtx.fillRect(s,q.textBlock.y-
|
|
573
|
-
this.chart._eventManager.objectMap[q.id].x2=q.textBlock.x+q.textBlock.width;q.y2=this.chart._eventManager.objectMap[q.id].y2=q.textBlock.y+(q.textBlock.height?q.textBlock.height:this.lineHeight)-this.lineHeight/2}h+=m}};oa(Q,G);Q.prototype.getDefaultAxisPlacement=
|
|
574
|
-
a
|
|
575
|
-
|
|
576
|
-
if("error"===a)return"none";window.console.log("Unknown Chart Type: "+a);return null};Q.prototype.getDataPointAtX=function(a,d){if(!this.dataPoints||0===this.dataPoints.length)return null;var c={dataPoint:null,distance:Infinity,index:NaN},b=null,e=0,f=0,l=1,h=Infinity,
|
|
577
|
-
0,0),this.dataPoints.length):0):(m=this.dataPoints[this.dataPoints.length-1].x-this.dataPoints[0].x,m=0<m?Math.min(Math.max((this.dataPoints.length-1)/m*(a-this.dataPoints[0].x)>>0,0),this.dataPoints.length):0));for(;;){f=0<l?m+e:m-e;if(0<=f&&f<this.dataPoints.length){var b=
|
|
578
|
-
-1===l?(e++,l=1):l=-1}return d||(c.dataPoint.x.getTime?c.dataPoint.x.getTime():c.dataPoint.x)!==(a.getTime?a.getTime():a)?d&&null!==c.dataPoint?c:null:c};Q.prototype.getDataPointAtXY=function(a,d,c){if(!this.dataPoints||0===this.dataPoints.length||a<this.chart.plotArea.x1||
|
|
579
|
-
this.chart.
|
|
580
|
-
this.chart._eventManager.objectMap[this.dataPointIds[f]],g=this.dataPoints[f],r=null;if(q){switch(this.type){case "column":case "stackedColumn":case "stackedColumn100":case "bar":case "stackedBar":case "stackedBar100":case "rangeColumn":case "rangeBar":case "waterfall":case "error":a>=
|
|
581
|
-
|
|
582
|
-
n?n=q:0<l?k++:m++;r<=w/2&&(h=!0);break;case "
|
|
583
|
-
360)%360).toFixed(12)),v=Number(((180*(q.endAngle/Math.PI)%360+360)%360).toFixed(12)),0===v&&1<q.endAngle&&(v=360),w>=v&&(0!==g.y&&!s(g.y))&&(v+=360,r<w&&(r+=360)),r>w&&r<v&&
|
|
584
|
-
(r.x4-r.
|
|
585
|
-
|
|
586
|
-
|
|
587
|
-
this.dataPoints,f=e[a].markerColor?e[a].markerColor:this.markerColor?this.markerColor:e[a].color?e[a].color:this.color?this.color:this._colorSet[a%this._colorSet.length],l=e[a].markerBorderColor?e[a].markerBorderColor:
|
|
588
|
-
y:c,ctx:b,type:n,size:a,color:f,borderColor:l,borderThickness:h}};oa(A,G);A.prototype.createExtraLabelsForLog=function(a){a=(a||0)+1;if(!(5<a)){var d=this.logLabelValues[0]||this.intervalStartPosition;if(Math.log(this.range)/
|
|
589
|
-
this.createExtraLabelsForLog(a)}}};A.prototype.createLabels=function(){var a,d,c=0,b=0,e,f=0,l=0,b=0,b=this.interval,h=0,n,k=0.6*this.chart.height,m;a=!1;var p=this.scaleBreaks?this.scaleBreaks._appliedBreaks:
|
|
590
|
-
a)if(this.labels[c])g=!0;else{g=!1;break}g&&(this.interval=a,this.intervalStartPosition=b)}if(this.logarithmic&&!this.equidistantInterval)for(this.logLabelValues||(this.logLabelValues=[],this.createExtraLabelsForLog()),
|
|
591
|
-
label:this.labels[m]?this.labels[m]:null}):"axisX"===this.type&&this.labels[m]?this.labels[m]:da(m,this.valueFormatString,this.chart._cultureInfo),a=new ja(this.ctx,{x:0,y:0,maxWidth:f,maxHeight:l,angle:this.labelAngle,
|
|
592
|
-
fontStyle:this.labelFontStyle,textBaseline:"middle",borderThickness:0}),this._labels.push({position:m,textBlock:a,effectiveHeight:null}))}g=q;for(c=this.intervalStartPosition;c<=e;c=parseFloat(1E-12>this.interval?
|
|
593
|
-
c<=p[g].endValue;m=c;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:m,label:this.labels[m]?this.labels[m]:null}):"axisX"===this.type&&this.labels[m]?this.labels[m]:
|
|
594
|
-
|
|
595
|
-
e;Xa(c,b,this.intervalType)){for(a=c.getTime();g<p.length&&a>p[g].endValue;g++);m=a;a=g<p.length&&a>=p[g].startValue&&a<=p[g].endValue;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,
|
|
596
|
-
|
|
597
|
-
this.lineCoordinates.width*Math.log(Math.min(this._labels[this._labels.length-1].position/this._labels[this._labels.length-2].position,this._labels[1].position/this._labels[0].position))/
|
|
598
|
-
(l="undefined"===typeof this.options.labelWrap||this.labelWrap?0.8*this.chart.height>>0:1.5*this.labelFontSize);else if("left"===this._position||"right"===this._position)h=
|
|
599
|
-
Math.log(this.range)/Math.log(this.logarithmBase):Math.abs(this.range))*T[this.intervalType+"Duration"]*this.interval,this.chart.panEnabled||(f="undefined"===
|
|
600
|
-
this.options.
|
|
601
|
-
this.labelAngle
|
|
602
|
-
|
|
603
|
-
|
|
604
|
-
|
|
605
|
-
f?-25:this.sessionVariables.labelAngle
|
|
606
|
-
l);else if(!s(d))if(b=r.width+d.width>>0,g=this.labelFontSize,q<f)b-2*f>p&&(p=b-2*f,b>=2*f&&b<2.2*f?(this.sessionVariables.labelMaxWidth=
|
|
607
|
-
f
|
|
608
|
-
|
|
609
|
-
this.
|
|
610
|
-
|
|
611
|
-
this.sessionVariables.labelMaxWidth=Math.min(Math.max(f,q),m),
|
|
612
|
-
|
|
613
|
-
this.
|
|
614
|
-
|
|
615
|
-
this.
|
|
616
|
-
|
|
617
|
-
this.labelWrap
|
|
618
|
-
for(
|
|
619
|
-
s(this.options.labelWrap)?s(this.options.labelWrap)&&(s(this.options.labelMaxWidth)?s(d)||(h=r.height+d.height>>0,h-2*l>q&&(q=h-2*l,h>=2*l&&
|
|
620
|
-
|
|
621
|
-
|
|
622
|
-
|
|
623
|
-
(this.
|
|
624
|
-
this.sessionVariables.labelMaxWidth=0===this.labelAngle?f:Math.min((b-l*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)),
|
|
625
|
-
this.options.
|
|
626
|
-
this.
|
|
627
|
-
this._labels[
|
|
628
|
-
this.sessionVariables.
|
|
629
|
-
|
|
630
|
-
this.sessionVariables.stripLineLabelMaxHeight=A=f.labelWrap?0.8*this.chart.
|
|
631
|
-
w?"transparent":null:f.labelBackgroundColor="#EEEEEE");a=new ja(this.ctx,{x:0,y:0,backgroundColor:f.labelBackgroundColor,borderColor:f.labelBorderColor,borderThickness:f.labelBorderThickness,
|
|
632
|
-
|
|
633
|
-
effectiveHeight:null,stripLine:f})}};A.prototype.createLabelsAndCalculateWidth=function(){var a=0,d=0;this._labels=[];this._stripLineLabels=[];var c=this.chart.isNavigator?
|
|
634
|
-
(
|
|
635
|
-
(e.height-b.fontSize/2)*Math.sin(Math.PI/180*Math.abs(this.labelAngle)),"inside"===this.tickPlacement&&(f+=this.tickLength),"inside"===this.labelPlacement&&(a+=0<this._index?f:0),
|
|
636
|
-
|
|
637
|
-
|
|
638
|
-
"inside"===this.labelPlacement&&(a+=0<this._index?f:0),a<f&&(a=f),this.stripLineLabelEffectiveHeight=this._stripLineLabels[c].effectiveHeight=f)}return(this.title?this._titleTextBlock.measureText().height+
|
|
639
|
-
0
|
|
640
|
-
q[g].viewPortMinimum&&(q[g].scaleBreaks.lastBreakIndex=w));for(var v=w=0,u=0,y=0,x=0,z=0,A=0,D,B,E=h=0,G,J,K,r=G=J=K=!1,g=0;g<q.length;g++)q[g]&&q[g].title&&(q[g]._titleTextBlock=new ja(q[g].ctx,{text:q[g].title,horizontalAlign:"center",
|
|
641
|
-
|
|
642
|
-
q[g].titleMaxWidth||f.width,q[g]._titleTextBlock.maxHeight=q[g].titleWrap?0.8*f.height:1.5*q[g].titleFontSize,q[g]._titleTextBlock.angle=0}if("normal"===e){for(var y=[],x=[],z=[],A=[],M=[],Q=[],N=[],P=[];4>
|
|
643
|
-
0<
|
|
644
|
-
|
|
645
|
-
x.push(Math.ceil(d[g]?d[g].createLabelsAndCalculateHeight():0)),Y+=x[g],V+=d[g]&&!m.isNavigator?d[g].margin:0;else x.push(Math.ceil(d[0]?d[0].createLabelsAndCalculateHeight():0));Q.push(x);if(a&&0<a.length)for(g=
|
|
646
|
-
|
|
647
|
-
|
|
648
|
-
m.sessionVariables.axisX.height=W:m.sessionVariables.axisX.height:m.sessionVariables.axisX.height=W,h=Math.round(f.y2-W-e+F),k=Math.round(f.y2),a[g].lineCoordinates.x2=n,a[g].lineCoordinates.width=
|
|
649
|
-
|
|
650
|
-
d[g].valueType?d[g]._labels[d[g]._labels.length-2]:d[g]._labels[d[g]._labels.length-1],v=k.textBlock.width*Math.cos(Math.PI/180*Math.abs(k.textBlock.angle))+(k.textBlock.height-h.textBlock.fontSize/
|
|
651
|
-
m.sessionVariables.axisX2.height:m.sessionVariables.axisX2.height=Y,h=Math.round(f.y1),k=d[g].lineCoordinates.y1=h+Y+V-X,d[g].lineCoordinates.y2=h,"inside"===d[g].labelPlacement&&0<g&&(d[g].lineCoordinates.y1=
|
|
652
|
-
|
|
653
|
-
|
|
654
|
-
c[g].titleMaxWidth<c[g].lineCoordinates.height?c[g].titleMaxWidth:c[g].lineCoordinates.height),T+=z[g]+c[g].margin);if(b&&0<b.length)for(g=0;g<b.length;g++)b[g]&&(l=Math.round(a[0]?a[0].lineCoordinates.x2:d[0].lineCoordinates.x2),
|
|
655
|
-
(W+e+O)),b[g].lineCoordinates={x1:l+U,y1:h,x2:l+U,y2:k,height:Math.abs(k-h)},"inside"===b[g].labelPlacement&&0<g&&(b[g].lineCoordinates.x1=b[g-1].lineCoordinates.x2+U+(b[g].labelEffectiveWidth||0),b[g].lineCoordinates.x2=b[g].lineCoordinates.x1+
|
|
656
|
-
b[g].bounds.x1,b[g].title&&(b[g]._titleTextBlock.maxWidth=0<b[g].titleMaxWidth&&b[g].titleMaxWidth<b[g].lineCoordinates.height?b[g].titleMaxWidth:b[g].lineCoordinates.height),U+=A[g]+b[g].margin);if(a&&0<a.length)for(g=0;g<a.length;g++)a[g]&&
|
|
657
|
-
a[g].
|
|
658
|
-
|
|
659
|
-
Math.abs(d[g].conversionParameters.pixelPerUnit)
|
|
660
|
-
|
|
661
|
-
b[g].calculateBreaksInPixels()}else{p=[];D=[];E=[];v=[];B=[];u=[];M=[];for(Q=[];4>w;){W=U=T=Z=O=V=e=P=N=F=Y=0;if(a&&0<a.length)for(E=[],g=U=0;g<a.length;g++)E.push(Math.ceil(a[g]?
|
|
662
|
-
|
|
663
|
-
|
|
664
|
-
l),
|
|
665
|
-
else D.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateHeight():0));u.push(D);if(c&&0<c.length)for(g=0;g<c.length;g++)0<c[g]._labels.length&&(k=c[g]._labels[0],h=c[g]._labels[c[g]._labels.length-
|
|
666
|
-
|
|
667
|
-
|
|
668
|
-
c[g].
|
|
669
|
-
|
|
670
|
-
b[g].lineCoordinates.y2=b[g].lineCoordinates.y1-b[g].
|
|
671
|
-
|
|
672
|
-
b[O].labelAutoFit&&(n=b[O].lineCoordinates.x1,l=n-U);a[g].lineCoordinates={x1:n-N,y1:h,x2:n-N,y2:k,height:Math.abs(k-h)};"inside"===a[g].labelPlacement&&
|
|
673
|
-
a[g].
|
|
674
|
-
|
|
675
|
-
0
|
|
676
|
-
|
|
677
|
-
d[g].
|
|
678
|
-
0;g<
|
|
679
|
-
|
|
680
|
-
|
|
681
|
-
|
|
682
|
-
if(
|
|
683
|
-
if(d&&0<d.length)for(l=0;l<d.length;l++)d[l].
|
|
684
|
-
|
|
685
|
-
"value"}};A.prototype.calculateBreaksSizeInValues=function(){for(var a="left"===this._position||"right"===this._position?this.lineCoordinates.height||this.chart.height:
|
|
686
|
-
e,f=0;f<d.length;f++)e=b||!s(d[f].options.spacing),d[f].spacing=Ta(d[f].spacing,a,8,e?0.1*a:8,e?0:3)<<0,d[f].size=0>d[f].spacing?0:Math.abs(d[f].spacing/
|
|
687
|
-
|
|
688
|
-
c=0,b=0,e=1,f=0;0!==this.labelAngle&&360!==this.labelAngle&&(e=1.2);if("undefined"===typeof this.options.interval){if("bottom"===this._position||"top"===this._position)if(this.logarithmic
|
|
689
|
-
this.
|
|
690
|
-
|
|
691
|
-
Math.
|
|
692
|
-
this._position){for(k=0;k<this._labels.length;k++)p=this._labels[k],p.position<this.viewportMinimum||p.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&
|
|
693
|
-
(
|
|
694
|
-
this.
|
|
695
|
-
a.viewportMinimum||p.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(p.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%
|
|
696
|
-
2,this._titleTextBlock.y=this.bounds.y2-this._titleTextBlock.height-3,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("top"===this._position){for(k=0;k<this._labels.length;k++)p=
|
|
697
|
-
0)+0.5:q.x<<0,this.ctx.beginPath(),this.ctx.moveTo(b,q.y<<0),this.ctx.lineTo(b,q.y-this.tickLength<<0),this.ctx.stroke()),d&&0!==f++%2&&this.labelAutoFit||(0===p.textBlock.angle?(q.x-=p.textBlock.width/2,q.y="inside"===
|
|
698
|
-
|
|
699
|
-
Math.cos(Math.PI/180*this.labelAngle)+(0<this.labelAngle?p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):0)))),p.textBlock.x=q.x,p.textBlock.y=q.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",
|
|
700
|
-
2?(q.x<<0)+0.5:q.x<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(b,q.y<<0);a.ctx.lineTo(b,q.y+a.tickLength<<0);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.lineCoordinates.x1+
|
|
701
|
-
p.position<this.viewportMinimum||p.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,
|
|
702
|
-
|
|
703
|
-
5:q.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+(p.textBlock.height-p.textBlock.fontSize/2-5)*Math.sin(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength))));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",
|
|
704
|
-
a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(q.x<<0,b);a.ctx.lineTo(q.x+a.tickLength<<0,b);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.bounds.x1+
|
|
705
|
-
this._position){for(k=0;k<this._labels.length;k++)p=this._labels[k],p.position<this.viewportMinimum||p.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,
|
|
706
|
-
(p.textBlock.y=q.y,p.textBlock.x="inside"===this.labelPlacement?q.x-p.textBlock.width-("inside"===this.tickPlacement?this.tickLength:0)-5:q.x+("inside"===this.tickPlacement?0:this.tickLength)+5):(p.textBlock.y="inside"===this.labelPlacement?q.y-p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):
|
|
707
|
-
("inside"===this.tickPlacement?this.tickLength:0)-5:0<this.labelAngle?q.x+(p.textBlock.height-p.textBlock.fontSize/2-5)*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?0:this.tickLength):q.x+("inside"===this.tickPlacement?0:this.tickLength)+5)));"inside"===this.tickPlacement&&
|
|
708
|
-
a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(q.x<<0,b);a.ctx.lineTo(q.x-a.tickLength<<0,b);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),
|
|
709
|
-
0;if("inside"===this.labelPlacement)this.chart.addEventListener("dataAnimationIterationEnd",function(){for(k=0;k<a._labels.length;k++)p=a._labels[k],p.position<a.viewportMinimum||(p.position>a.viewportMaximum||d&&0!==f++%2&&a.labelAutoFit)||(a.ctx.save(),a.ctx.beginPath(),
|
|
710
|
-
A.prototype.renderInterlacedColors=function(){var a=this.chart.plotArea.ctx,d,c,b=this.chart.plotArea,e=0;d=!0;if(("bottom"===this._position||"top"===this._position)&&this.interlacedColor)for(a.fillStyle=this.interlacedColor,e=0;e<this._labels.length;e++)d?(d=this.getPixelCoordinatesOnAxis(this._labels[e].position),
|
|
711
|
-
d.x),Math.abs(b.y1-b.y2)),d=!1):d=!0;else if(("left"===this._position||"right"===this._position)&&this.interlacedColor)for(a.fillStyle=this.interlacedColor,e=0;e<this._labels.length;e++)d?(c=this.getPixelCoordinatesOnAxis(this._labels[e].position),d=e+1>this._labels.length-1?this.getPixelCoordinatesOnAxis(this.viewportMaximum):
|
|
712
|
-
function(a){if(this.stripLines&&0<this.stripLines.length&&a){for(var d=this,c,b=0,e=0,f=!1,l=!1,h=[],n=[],l=!1,b=0;b<this.stripLines.length;b++){var k=this.stripLines[b];k._thicknessType===a&&("pixel"===a&&(k.value<this.viewportMinimum||k.value>this.viewportMaximum||s(k.value)||isNaN(this.range))||
|
|
713
|
-
h.push(k))}for(b=0;b<this._stripLineLabels.length;b++)if(k=this.stripLines[b],c=this._stripLineLabels[b],!(c.position<this.viewportMinimum||c.position>this.viewportMaximum||isNaN(this.range))){a=this.getPixelCoordinatesOnAxis(c.position);if("outside"===c.stripLine.labelPlacement)if(k&&(this.ctx.strokeStyle=
|
|
714
|
-
a.y<<0);this.ctx.lineTo(m,a.y+this.tickLength<<0);this.ctx.stroke();0===this.labelAngle?(a.x-=c.textBlock.width/2,a.y+=this.tickLength+c.textBlock.fontSize/2+5):(a.x-=0>this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0,a.y+=this.tickLength+Math.abs(0>this.labelAngle?c.textBlock.width*
|
|
715
|
-
0),this.ctx.stroke(),0===this.labelAngle?(a.x-=c.textBlock.width/2,a.y-=this.tickLength+c.textBlock.height-c.textBlock.fontSize/2):(a.x+=(c.textBlock.height-this.tickLength-this.labelFontSize/2)*Math.sin(Math.PI/180*this.labelAngle)-(0<this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):
|
|
716
|
-
this.ctx.lineWidth%2?(a.y<<0)+0.5:a.y<<0,this.ctx.beginPath(),this.ctx.moveTo(a.x<<0,m),this.ctx.lineTo(a.x-this.tickLength<<0,m),this.ctx.stroke(),0===this.labelAngle?a.x=a.x-c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-this.tickLength-5:(a.y-=c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle),
|
|
717
|
-
2-5)*Math.sin(Math.PI/180*this.labelAngle)-this.tickLength)):"right"===this._position&&(m=1===this.ctx.lineWidth%2?(a.y<<0)+0.5:a.y<<0,this.ctx.beginPath(),this.ctx.moveTo(a.x<<0,m),this.ctx.lineTo(a.x+this.tickLength<<0,m),this.ctx.stroke(),0===this.labelAngle?a.x=a.x+this.tickLength+5:(a.y=0>this.labelAngle?
|
|
718
|
-
this.tickLength:a.x+this.tickLength+5));else c.textBlock.angle=-90,"bottom"===this._position?(c.textBlock.maxWidth=this.options.stripLines[b].labelMaxWidth?this.options.stripLines[b].labelMaxWidth:this.chart.plotArea.height-3,c.textBlock.measureText(),a.x-c.textBlock.height-k.thickness/2>this.chart.plotArea.x1?
|
|
719
|
-
2+k.thickness/2:a.x
|
|
720
|
-
this._position?(c.textBlock.maxWidth=this.options.stripLines[b].labelMaxWidth?this.options.stripLines[b].labelMaxWidth:this.chart.plotArea.height-3,c.textBlock.measureText(),a.x-c.textBlock.height-k.thickness/2>this.chart.plotArea.x1?s(k.startValue)?a.x-=c.textBlock.height-c.textBlock.fontSize/
|
|
721
|
-
2
|
|
722
|
-
this.options.stripLines[b].labelMaxWidth:this.chart.plotArea.width-3,c.textBlock.angle=0,c.textBlock.measureText(),a.y-c.textBlock.height-k.thickness/2>this.chart.plotArea.y1?s(k.startValue)?a.y-=c.textBlock.height-c.textBlock.fontSize/2+k.thickness/2:a.y-=c.textBlock.height/
|
|
723
|
-
(this.chart.plotArea.x2+this.chart.plotArea.x1)/2-c.textBlock.width/2:this.chart.plotArea.x2-c.textBlock.width-3):"right"===this._position&&(c.textBlock.maxWidth=this.options.stripLines[b].labelMaxWidth?this.options.stripLines[b].labelMaxWidth:this.chart.plotArea.width-
|
|
724
|
-
2:s(k.startValue)?a.y+=c.textBlock.height-c.textBlock.fontSize/2+k.thickness/2:a.y-=c.textBlock.height/2-c.textBlock.fontSize/2+3,a.x="near"===c.stripLine.labelAlign?this.chart.plotArea.x2-c.textBlock.width-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.x2+this.chart.plotArea.x1)/
|
|
725
|
-
this.chart.plotArea.
|
|
726
|
-
function(){for(e=0;e<n.length;e++)c=n[e],"inside"===c.stripLine.labelPlacement&&c.stripLine.showOnTop&&(d.ctx.save(),d.ctx.beginPath(),d.ctx.rect(d.chart.plotArea.x1,d.chart.plotArea.y1,d.chart.plotArea.width,d.chart.plotArea.height),d.ctx.clip(),c.textBlock.render(!0),
|
|
727
|
-
function(){this.chart._breaksCanvas&&(this.scaleBreaks&&0<this.scaleBreaks._appliedBreaks.length&&this.maskCanvas)&&(this.chart._breaksCanvasCtx.save(),this.chart._breaksCanvasCtx.beginPath(),this.chart._breaksCanvasCtx.rect(this.chart.plotArea.x1,
|
|
728
|
-
|
|
729
|
-
this.viewportMinimum||(a[d].startValue>this.viewportMaximum||isNaN(this.range))||a[d].render(this.maskCtx);this.maskCtx.restore()}};A.prototype.renderCrosshair=function(a,d){isFinite(this.minimum)&&isFinite(this.maximum)&&
|
|
730
|
-
a))};A.prototype.renderGrid=function(){if(this.gridThickness&&0<this.gridThickness){var a=this.chart.ctx;a.save();var d,c=this.chart.plotArea;a.lineWidth=this.gridThickness;a.strokeStyle=this.gridColor;a.setLineDash&&
|
|
731
|
-
|
|
732
|
-
0,d),a.lineTo(c.x2<<0,d),a.stroke());a.restore()}};A.prototype.renderAxisLine=function(){var a=this.chart.ctx,d=w?this.chart._preRenderCtx:a,c=Math.ceil(this.tickThickness/(this.reversed?-2:2)),b=Math.ceil(this.tickThickness/
|
|
733
|
-
this.lineColor?this.lineColor:"black";d.setLineDash&&d.setLineDash(J(this.lineDashType,this.lineThickness));var l=1===this.lineThickness%2?(this.lineCoordinates.y1<<0)+0.5:this.lineCoordinates.y1<<0;d.beginPath();if(this.scaleBreaks
|
|
734
|
-
c,l),e=this.scaleBreaks._appliedBreaks[h].endPixel+b;e&&(d.moveTo(e,l),d.lineTo(f,l));d.stroke()}}else if(("left"===this._position||"right"===this._position)&&this.lineThickness){this.reversed?
|
|
735
|
-
|
|
736
|
-
this.
|
|
737
|
-
return d};A.prototype.convertPixelToValue=function(a){if("undefined"===typeof a)return null;var d=0,c=0,b,d=!0,e=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],c="number"===typeof a?
|
|
738
|
-
|
|
739
|
-
|
|
740
|
-
if(b<e[c].size){a*=Math.pow(e[c].endValue/e[c].startValue,1===e[c].size?1:Math.log(b)/Math.log(e[c].size))/b;break}else a*=e[c].endValue/e[c].startValue/e[c].size;b/=e[c].size}else break
|
|
741
|
-
|
|
742
|
-
e[c].startValue,
|
|
743
|
-
|
|
744
|
-
this.conversionParameters.minimum)
|
|
745
|
-
e[c
|
|
746
|
-
e[c].
|
|
747
|
-
d=!1
|
|
748
|
-
|
|
749
|
-
0;f<e.length&&!(d<e[f].startValue);f++)a>e[f].endValue||(a<=e[f].startValue&&d>=e[f].endValue?c=c/e[f].endValue*e[f].startValue*e[f].size:a>=e[f].startValue&&d>=e[f].endValue?c=c/e[f].endValue*a*Math.pow(e[f].size,Math.log(e[f].endValue/
|
|
750
|
-
a)/Math.log(e[f].endValue/e[f].startValue))
|
|
751
|
-
e[f].size*(d-a)/(e[f].endValue-e[f].startValue)));return c};A.prototype.setViewPortRange=function(a,d){this.sessionVariables.newViewportMinimum=this.viewportMinimum=Math.min(a,d);this.sessionVariables.newViewportMaximum=this.viewportMaximum=
|
|
752
|
-
function(a){a=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];var d={pixelPerUnit:null,minimum:null,reference:null},c=this.lineCoordinates.width,b=this.lineCoordinates.height,c="bottom"===this._position||"top"===this._position?c:b,b=Math.abs(this.range);
|
|
753
|
-
this.
|
|
754
|
-
|
|
755
|
-
a[e].startValue)
|
|
756
|
-
c
|
|
757
|
-
a[e].startValue)/(a[e].endValue-a[e].startValue)));d.minimum=this.viewportMinimum;d.maximum=this.viewportMaximum;d.range=b;if("bottom"===this._position||"top"===this._position)this.logarithmic?(d.lnLogarithmBase=Math.log(this.logarithmBase),
|
|
758
|
-
|
|
759
|
-
a.width,this.maxHeight=a.height):(this.maxWidth=a.height,this.maxHeight=a.width);var a="axisX"===this.type?"xySwapped"===this.chart.plotInfo.axisPlacement?62:70:"xySwapped"===this.chart.plotInfo.axisPlacement?50:40,b=4;"axisX"===this.type&&
|
|
760
|
-
|
|
761
|
-
isNaN(this.viewportMaximum))this.viewportMaximum=this.maximum;if(this.scaleBreaks)for(b=0;b<this.scaleBreaks._appliedBreaks.length;b++)if((!s(this.sessionVariables.newViewportMinimum)&&this.sessionVariables.newViewportMinimum>=this.scaleBreaks._appliedBreaks[b].startValue
|
|
762
|
-
this.sessionVariables.newViewportMaximum<=this.scaleBreaks._appliedBreaks[b].endValue||!s(this.options.maximum)&&this.options.maximum<=this.scaleBreaks._appliedBreaks[b].endValue||!s(this.options.viewportMaximum)&&this.viewportMaximum<=this.scaleBreaks._appliedBreaks[b].endValue)){this.scaleBreaks._appliedBreaks.splice(b,
|
|
763
|
-
this.viewportMinimum:this.dataInfo.viewPortMin;f=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax;0===f-e&&(b="undefined"===typeof this.options.interval?0.4:this.options.interval,f+=b,e-=b);Infinity!==this.dataInfo.minDiff?l=this.dataInfo.minDiff:1<f-e?l=0.5*Math.abs(f-e):(l=1,c&&
|
|
764
|
-
isFinite(f)?isFinite(e)?isFinite(f)||(f=e):e=f:(f="undefined"===typeof this.options.interval?-Infinity:this.options.interval,e="undefined"!==typeof this.options.interval||isFinite(this.dataInfo.minDiff)?0:Infinity),0===e&&0===f?(f+=9,e=0):0===f-e?(b=Math.min(Math.abs(0.01*Math.abs(f)),5),f+=b,e-=b):
|
|
765
|
-
b)),l=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<f-e?0.5*Math.abs(f-e):1,this.includeZero&&(null===this.viewportMinimum||isNaN(this.viewportMinimum))&&0<e&&(e=0),this.includeZero&&(null===this.viewportMaximum||isNaN(this.viewportMaximum))&&0>f&&(f=0));b=this.getApparentDifference(isNaN(this.viewportMinimum)||
|
|
766
|
-
|
|
767
|
-
b/
|
|
768
|
-
this.intervalType="second"):b/(
|
|
769
|
-
|
|
770
|
-
|
|
771
|
-
2,this.intervalType="month"):b/(3*T.monthDuration)<=a?(this.interval=3,this.intervalType="month"):b/(6*T.monthDuration)<=a?(this.interval=6,this.intervalType="month"):(this.interval=b/(1*T.yearDuration)<=a?1:b/(2*T.yearDuration)<=a?2:b/(4*T.yearDuration)<=a?4:Math.floor(A.getNiceNumber(b/(a-1),!0)/
|
|
772
|
-
f+l/2;d?this.autoValueFormatString="MMM DD YYYY HH:mm":"year"===this.intervalType?this.autoValueFormatString="YYYY":"month"===this.intervalType?this.autoValueFormatString="MMM YYYY":"week"===this.intervalType?this.autoValueFormatString="MMM DD YYYY":"day"===this.intervalType?this.autoValueFormatString=
|
|
773
|
-
"hh:mm:ss TT":"millisecond"===this.intervalType&&(this.autoValueFormatString="fff'ms'");this.valueFormatString||(this.valueFormatString=this.autoValueFormatString)}else{this.intervalType="number";b=A.getNiceNumber(b,!1);this.interval=this.options&&0<this.options.interval?this.options.interval:A.getNiceNumber(b/
|
|
774
|
-
isNaN(this.viewportMaximum))this.viewportMaximum="axisX"===this.type?f+l/2:Math.ceil(f/this.interval)*this.interval;0===this.viewportMaximum&&0===this.viewportMinimum&&(0===this.options.viewportMinimum?this.viewportMaximum+=10:0===this.options.viewportMaximum&&(this.viewportMinimum-=10),this.options&&"undefined"===
|
|
775
|
-
null!==this.minimum?this.minimum:this.dataInfo.min,f=null!==this.maximum?this.maximum:this.dataInfo.max,0===f-e&&(b="undefined"===typeof this.options.interval?0.4:this.options.interval,f+=b,e-=b),l=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<f-e?0.5*Math.abs(f-e):1):"axisY"===this.type&&(e=null!==this.minimum?
|
|
776
|
-
5),f+=b,e-=b):e>f?(b=Math.min(0.01*Math.abs(this.getApparentDifference(f,e,null,!0)),5),0<=f?e=f-b:f=isFinite(e)?e+b:0):(b=Math.min(0.01*Math.abs(this.getApparentDifference(e,f,null,!0)),0.05),0!==f&&(f+=b),0!==e&&(e-=b)):(f="undefined"===typeof this.options.interval?-Infinity:this.options.interval,e="undefined"!==typeof this.options.interval||
|
|
777
|
-
isNaN(this.minimum))&&0<e&&(e=0),this.includeZero&&(null===this.maximum||isNaN(this.maximum))&&0>f&&(f=0)),Math.abs(this.getApparentDifference(e,f,null,!0)),"axisX"===this.type&&c){this.valueType="dateTime";if(null===this.minimum||isNaN(this.minimum))this.minimum=e-l/2,this.minimum=Math.min(this.minimum,null===this.sessionVariables.viewportMinimum||
|
|
778
|
-
f+l/2,this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?-Infinity:this.sessionVariables.viewportMaximum)}else this.intervalType=this.valueType="number",null===this.minimum&&(this.minimum="axisX"===this.type?e-l/2:Math.floor(e/this.interval)*this.interval,this.minimum=Math.min(this.minimum,
|
|
779
|
-
null===this.maximum&&(this.maximum="axisX"===this.type?f+l/2:Math.ceil(f/this.interval)*this.interval,this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?-Infinity:this.sessionVariables.viewportMaximum)),0===this.maximum&&0===this.minimum&&(0===this.options.minimum?this.maximum+=10:0===
|
|
780
|
-
s(this.sessionVariables.newViewportMaximum)&&(this.viewportMaximum=Math.min(this.viewportMaximum,this.maximum));this.range=this.viewportMaximum-this.viewportMinimum;this.intervalStartPosition="axisX"===this.type&&c?this.getLabelStartPoint(new Date(this.viewportMinimum),this.intervalType,this.interval):Math.floor((this.viewportMinimum+0.2*this.interval)/
|
|
781
|
-
function(){var a=this.chart.layoutManager.getFreeSpace(),d=Math.log(this.logarithmBase),c;"bottom"===this._position||"top"===this._position?(this.maxWidth=a.width,this.maxHeight=a.height):(this.maxWidth=a.height,this.maxHeight=a.width);var a="axisX"===this.type?500>this.maxWidth?7:Math.max(7,Math.floor(this.maxWidth/100)):Math.max(Math.floor(this.maxWidth/
|
|
782
|
-
isNaN(this.viewportMaximum))this.viewportMaximum=this.maximum;if(this.scaleBreaks)for(l=0;l<this.scaleBreaks._appliedBreaks.length;l++)if((!s(this.sessionVariables.newViewportMinimum)&&this.sessionVariables.newViewportMinimum>=this.scaleBreaks._appliedBreaks[l].startValue||!s(this.options.minimum)&&this.options.minimum>=this.scaleBreaks._appliedBreaks[l].startValue
|
|
783
|
-
this.sessionVariables.newViewportMaximum<=this.scaleBreaks._appliedBreaks[l].endValue||!s(this.options.maximum)&&this.options.maximum<=this.scaleBreaks._appliedBreaks[l].endValue||!s(this.options.viewportMaximum)&&this.viewportMaximum<=this.scaleBreaks._appliedBreaks[l].endValue)){this.scaleBreaks._appliedBreaks.splice(l,1);break}"axisX"===this.type?
|
|
784
|
-
1===e/b&&(l=Math.pow(this.logarithmBase,"undefined"===typeof this.options.interval?0.4:this.options.interval),e*=l,b/=l),f=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase):"axisY"===this.type&&(b=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,
|
|
785
|
-
this.options.interval,b=1):0>=b?b=e:isFinite(e)||(e=b),1===b&&1===e?(e*=this.logarithmBase-1/this.logarithmBase,b=1):1===e/b?(l=Math.min(e*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,5)),e*=l,b/=l):b>e?(l=Math.min(b/e*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,5)),1<=e?b=e/l:e=b*l):(l=Math.min(e/b*Math.pow(this.logarithmBase,
|
|
786
|
-
e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase,this.includeZero&&(null===this.viewportMinimum||isNaN(this.viewportMinimum))&&1<b&&(b=1),this.includeZero&&(null===this.viewportMaximum||isNaN(this.viewportMaximum))&&1>e&&(e=1));l=(isNaN(this.viewportMaximum)||null===this.viewportMaximum?e:this.viewportMaximum)/(isNaN(this.viewportMinimum)||null===
|
|
787
|
-
null===this.viewportMinimum?b:this.viewportMinimum);this.intervalType="number";l=Math.pow(this.logarithmBase,A.getNiceNumber(Math.abs(Math.log(l)/d),!1));this.options&&0<this.options.interval?this.interval=this.options.interval:(this.interval=A.getNiceExponent(Math.log(l)/d/(a-1),!0),c=A.getNiceNumber(h/(a-1),!0));if(null===this.viewportMinimum||
|
|
788
|
-
if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum="axisX"===this.type?e*Math.sqrt(f):Math.pow(this.logarithmBase,this.interval*Math.ceil(Math.log(e)/d/this.interval));1===this.viewportMaximum&&1===this.viewportMinimum&&(1===this.options.viewportMinimum?this.viewportMaximum*=this.logarithmBase-1/this.logarithmBase:
|
|
789
|
-
(this.interval=A.getNiceExponent(Math.ceil(Math.log(l)/d)/(a-1)),c=A.getNiceNumber((this.viewportMaximum-this.viewportMinimum)/(a-1),!0)));if(null===this.minimum||null===this.maximum)"axisX"===this.type?(b=null!==this.minimum?this.minimum:this.dataInfo.min,e=null!==this.maximum?this.maximum:this.dataInfo.max,1===e/b&&(l=Math.pow(this.logarithmBase,
|
|
790
|
-
e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase):"axisY"===this.type&&(b=null!==this.minimum?this.minimum:this.dataInfo.min,e=null!==this.maximum?this.maximum:this.dataInfo.max,isFinite(b)||isFinite(e)?1===b&&1===e?(e*=this.logarithmBase,b/=this.logarithmBase):1===e/b?(l=Math.pow(this.logarithmBase,this.interval),e*=l,b/=l):b>e?(l=
|
|
791
|
-
typeof this.options.interval?0:this.options.interval,b=1),f=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase,this.includeZero&&(null===this.minimum||isNaN(this.minimum))&&1<b&&(b=1),this.includeZero&&(null===this.maximum||isNaN(this.maximum))&&
|
|
792
|
-
d/this.interval)),s(null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?"undefined"===typeof this.sessionVariables.newViewportMinimum?Infinity:this.sessionVariables.newViewportMinimum:this.sessionVariables.viewportMinimum)||(this.minimum=Math.min(this.minimum,null===this.sessionVariables.viewportMinimum||
|
|
793
|
-
this.sessionVariables.viewportMinimum))),null===this.maximum&&(this.maximum="axisX"===this.type?e*Math.sqrt(f):Math.pow(this.logarithmBase,this.interval*Math.ceil(Math.log(e)/d/this.interval)),s(null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?"undefined"===typeof this.sessionVariables.newViewportMaximum?
|
|
794
|
-
isNaN(this.sessionVariables.viewportMaximum)?"undefined"===typeof this.sessionVariables.newViewportMaximum?0:this.sessionVariables.newViewportMaximum:this.sessionVariables.viewportMaximum))),1===this.maximum&&1===this.minimum&&(1===this.options.minimum?this.maximum*=this.logarithmBase-1/this.logarithmBase:1===this.options.maximum&&(this.minimum/=
|
|
795
|
-
this.maximum);this.viewportMinimum>this.viewportMaximum&&(!this.options.viewportMinimum&&!this.options.minimum||this.options.viewportMaximum||this.options.maximum?this.options.viewportMinimum||this.options.minimum||!this.options.viewportMaximum&&!this.options.maximum||(this.viewportMinimum=this.minimum=(this.options.viewportMaximum||this.options.maximum)/
|
|
796
|
-
Math.pow(this.logarithmBase,Math.floor(Math.log(this.viewportMinimum)/(d*this.interval)+0.2)*this.interval);this.range=this.viewportMaximum/this.viewportMinimum;this.noTicks=a;if(!this.options.interval&&this.range<Math.pow(this.logarithmBase,8>this.viewportMaximum||3>a?2:3)){for(d=Math.floor(this.viewportMinimum/c+0.5)*c;d<this.viewportMinimum;)d+=c;this.equidistantInterval
|
|
797
|
-
(this.interval=c,b=Math.pow(this.logarithmBase,Math.floor(Math.log(this.viewportMinimum)/(d*this.interval)+0.2)*this.interval))),this.equidistantInterval=!0,this.intervalStartPosition=b;if(!this.valueFormatString&&(this.valueFormatString="#,##0.##",1>this.viewportMinimum)){d=Math.floor(Math.abs(Math.log(this.viewportMinimum)/Math.LN10))+2;if(isNaN(d)||!isFinite(d))d=2;
|
|
798
|
-
Math.LN10)),isNaN(b)||!isFinite(b))&&(b=d);for(var e=0;e<b;e++)c+="#";return c};A.getNiceExponent=function(a,d){var c=Math.floor(Math.log(a)/Math.LN10),b=a/Math.pow(10,c),b=0>c?1>=b?1:5>=b?5:10:Math.max(Math.floor(b),1);return-20>c?Number(b*Math.pow(10,c)):Number((b*Math.pow(10,c)).toFixed(20))};A.getNiceNumber=function(a,d){var c=Math.floor(Math.log(a)/
|
|
799
|
-
A.prototype.getLabelStartPoint=function(){var a=T[this.intervalType+"Duration"]*this.interval,a=new Date(Math.floor(this.viewportMinimum/a)*a);if("millisecond"!==this.intervalType)if("second"===this.intervalType)0<a.getMilliseconds()&&(a.setSeconds(a.getSeconds()+1),a.setMilliseconds(0));else if("minute"===this.intervalType){if(0<a.getSeconds()||
|
|
800
|
-
0<a.getMilliseconds())a.
|
|
801
|
-
a.
|
|
802
|
-
a.setSeconds(0),a.setMilliseconds(0));return a};oa(fa,G);oa(aa,G);aa.prototype.createUserOptions=function(a){if("undefined"!==typeof a||this.options._isPlaceholder){var d=0;this.parent.options._isPlaceholder&&this.parent.createUserOptions();this.options._isPlaceholder||(Ea(this.parent[this.optionsName]),d=this.parent.options[this.optionsName].indexOf(this.options));
|
|
803
|
-
this.spacing||0!==this.options.lineThickness&&("undefined"!==typeof this.options.lineThickness||0!==this.parent.lineThickness)){var d=this.ctx,c=this.ctx.globalAlpha;this.ctx=a||this.ctx;this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();var b=this.scaleBreaks.parent.getPixelCoordinatesOnAxis(this.startValue),
|
|
804
|
-
this.lineColor;this.ctx.fillStyle=this.color;this.ctx.beginPath();this.ctx.globalAlpha=1;X(this.id);var f,l,h,n,k,m;a=Math.max(this.spacing,3);var p=Math.max(0,this.lineThickness);this.ctx.lineWidth=p;this.ctx.setLineDash&&this.ctx.setLineDash(J(this.lineDashType,p));if("bottom"===this.scaleBreaks.parent._position||"top"===this.scaleBreaks.parent._position)if(b=1===p%2?(b.x<<0)+0.5:b.x<<0,l=1===p%2?(e.x<<0)+0.5:
|
|
805
|
-
p/2+0.5<<0):(e=this.chart.plotArea.y2,h=this.chart.plotArea.y1-p/2+0.5<<0,a*=-1),this.bounds={x1:b-p/2,y1:e,x2:l+p/2,y2:h},this.ctx.moveTo(b,e),"straight"===this.type||"top"===this.scaleBreaks.parent._position&&0>=a||"bottom"===this.scaleBreaks.parent._position&&0<=a)this.ctx.lineTo(b,h),this.ctx.lineTo(l,h),this.ctx.lineTo(l,e);else if("wavy"===this.type){n=b;k=e;f=0.5;m=(h-k)/a/3;for(var q=0;q<m;q++)this.ctx.bezierCurveTo(n+
|
|
806
|
-
k+a,n+f*a,k+2*a,n,k+3*a);n=l;f*=-1;this.ctx.lineTo(n,k);for(q=0;q<m;q++)this.ctx.bezierCurveTo(n+f*a,k-a,n+f*a,k-2*a,n,k-3*a),k-=3*a,f*=-1}else{if("zigzag"===this.type){f=-1;k=e+a;n=b+a;m=(h-k)/a/2;for(q=0;q<m;q++)this.ctx.lineTo(n,k),n+=2*f*a,k+=2*a,f*=-1;this.ctx.lineTo(n,k);n+=l-b;for(q=0;q<m+1;q++)this.ctx.lineTo(n,k),n+=2*f*a,k-=2*a,f*=-1;this.ctx.lineTo(n+f*a,k+a)}}else if("left"===this.scaleBreaks.parent._position||"right"===
|
|
807
|
-
0,h=1===p%2?(b.y<<0)+0.5:b.y<<0,"left"===this.scaleBreaks.parent._position?(b=this.chart.plotArea.x1,l=this.chart.plotArea.x2+p/2+0.5<<0):(b=this.chart.plotArea.x2,l=this.chart.plotArea.x1-p/2+0.5<<0,a*=-1),this.bounds={x1:b,y1:e-p/2,x2:l,y2:h+p/2},this.ctx.moveTo(b,e),"straight"===this.type||"left"===this.scaleBreaks.parent._position&&0>=a||"right"===this.scaleBreaks.parent._position&&0<=a)this.ctx.lineTo(l,e),this.ctx.lineTo(l,h),
|
|
808
|
-
(l-n)/a/3;for(q=0;q<m;q++)this.ctx.bezierCurveTo(n+a,k+f*a,n+2*a,k+f*a,n+3*a,k),n+=3*a,f*=-1;this.ctx.bezierCurveTo(n+a,k+f*a,n+2*a,k+f*a,n+3*a,k);k=h;f*=-1;this.ctx.lineTo(n,k);for(q=0;q<m;q++)this.ctx.bezierCurveTo(n-a,k+f*a,n-2*a,k+f*a,n-3*a,k),n-=3*a,f*=-1}else if("zigzag"===this.type){f=1;k=e-a;n=b+a;m=(l-n)/a/2;for(q=0;q<m;q++)this.ctx.lineTo(n,k),k+=2*f*a,n+=2*a,f*=-1;this.ctx.lineTo(n,k);k+=h-e;for(q=0;q<m+1;q++)this.ctx.lineTo(n,
|
|
809
|
-
this.ctx.closePath();this.ctx.globalAlpha=this.fillOpacity;this.ctx.globalCompositeOperation="destination-over";this.ctx.fill();this.ctx.restore();this.ctx.globalAlpha=c;this.ctx=d}};oa(N,G);N.prototype.createUserOptions=function(a){if("undefined"!==typeof a||this.options._isPlaceholder){var d=0;this.parent.options._isPlaceholder&&this.parent.createUserOptions();this.options._isPlaceholder||(Ea(this.parent.stripLines),d=this.parent.options.stripLines.indexOf(this.options));
|
|
810
|
-
typeof a?{}:a;this.parent.options.stripLines[d]=this.options}};N.prototype.render=function(){this.ctx.save();var a=this.parent.getPixelCoordinatesOnAxis(this.value),d=Math.abs("pixel"===this._thicknessType?this.thickness:Math.abs(this.parent.convertValueToPixel(this.endValue)-this.parent.convertValueToPixel(this.startValue)));if(0<d){var c=null===this.opacity?1:this.opacity;this.ctx.strokeStyle=this.color;this.ctx.beginPath();var b=this.ctx.globalAlpha;this.ctx.globalAlpha=
|
|
811
|
-
n;this.ctx.lineWidth=d;this.ctx.setLineDash&&this.ctx.setLineDash(J(this.lineDashType,d));if("bottom"===this.parent._position||"top"===this.parent._position)e=f=1===this.ctx.lineWidth%2?(a.x<<0)+0.5:a.x<<0,h=this.chart.plotArea.y1,n=this.chart.plotArea.y2,this.bounds={x1:e-d/2,y1:h,x2:f+d/2,y2:n};else if("left"===this.parent._position||"right"===this.parent._position)h=n=1===this.ctx.lineWidth%2?(a.y<<0)+0.5:a.y<<0,e=this.chart.plotArea.x1,f=this.chart.plotArea.x2,this.bounds=
|
|
812
|
-
y2:n+d/2};this.ctx.moveTo(e,h);this.ctx.lineTo(f,n);this.ctx.stroke();this.ctx.globalAlpha=b}this.ctx.restore()};oa(ca,G);ca.prototype.showAt=function(a){if(!this.enabled)return!1;var d=this.chart,c=!1;d.resetOverlayedCanvas();d.clearedOverlayedCanvas=this.parent.type;this.chart.renderCrosshairs(this.parent);if("xySwapped"===d.plotInfo.axisPlacement)if("bottom"===this.parent._position)for(var b=0;b<d.axisY.length;b++)this.parent===d.axisY[b]&&(d.axisY[b]._crosshairValue=a>=d.axisY[b].viewportMinimum&&
|
|
563
|
+
null!==this.itemWidth&&(q.textBlock.width=this.itemWidth-(w+h+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0)));if(!p||p.width+Math.round(q.textBlock.width+w+h+(0===p.width?0:this.horizontalSpacing)+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0))>f)p={items:[],width:0},k.push(p),this.height+=g,g=0;g=Math.max(g,q.textBlock.height?q.textBlock.height:this.lineHeight);q.textBlock.x=p.width;q.textBlock.y=
|
|
564
|
+
0;p.width+=Math.round(q.textBlock.width+w+h+(0===p.width?0:this.horizontalSpacing)+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0));p.items.push(q);this.width=Math.max(p.width,this.width)}else q.textBlock=new ja(this.ctx,{x:0,y:0,maxWidth:x,maxHeight:!0===this.itemWrap?l:1.5*this.fontSize,angle:0,text:q.text,horizontalAlign:"left",fontSize:this.fontSize,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontColor:this.fontColor,fontStyle:this.fontStyle,
|
|
565
|
+
textBaseline:"middle"}),q.textBlock.measureText(),null!==this.itemWidth&&(q.textBlock.width=this.itemWidth-(w+h+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0))),this.height<l-this.lineHeight?(p={items:[],width:0},k.push(p)):(p=k[y],y=(y+1)%k.length),p&&(this.height+=q.textBlock.height?q.textBlock.height:this.lineHeight,q.textBlock.x=p.width,q.textBlock.y=0,p.width+=Math.round(q.textBlock.width+w+h+(0===p.width?0:this.horizontalSpacing)+("line"===q.chartType||
|
|
566
|
+
"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0)),p.items.push(q),this.width=Math.max(p.width,this.width));r=q.textBlock.width+(w+h+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0))}}this.itemWidth=r;this.height=!1===this.itemWrap?k.length*this.lineHeight:this.height+g;this.height=Math.min(l,this.height);this.width=Math.min(f,this.width)}"top"===this.verticalAlign?(e="left"===this.horizontalAlign?d.x1:"right"===this.horizontalAlign?
|
|
567
|
+
d.x2-this.width:d.x1+d.width/2-this.width/2,b=d.y1):"center"===this.verticalAlign?(e="left"===this.horizontalAlign?d.x1:"right"===this.horizontalAlign?d.x2-this.width:d.x1+d.width/2-this.width/2,b=d.y1+d.height/2-this.height/2):"bottom"===this.verticalAlign&&(e="left"===this.horizontalAlign?d.x1:"right"===this.horizontalAlign?d.x2-this.width:d.x1+d.width/2-this.width/2,b=d.y2-this.height);this.items=n;for(m=0;m<this.items.length;m++)q=n[m],q.id=++this.chart._eventManager.lastObjectId,this.chart._eventManager.objectMap[q.id]=
|
|
568
|
+
{id:q.id,objectType:"legendItem",legendItemIndex:m,dataSeriesIndex:q.dataSeriesIndex,dataPointIndex:q.dataPointIndex};this.markerSize=w;this.rows=k;0<n.length&&a.layoutManager.registerSpace(c,{width:this.width+2+2,height:this.height+5+5});this.bounds={x1:e,y1:b,x2:e+this.width,y2:b+this.height}};K.prototype.render=function(){var a=this.bounds.x1,d=this.bounds.y1,c=this.markerMargin,b=this.maxWidth,e=this.maxHeight,f=this.markerSize,l=this.rows;(0<this.borderThickness&&this.borderColor||this.backgroundColor)&&
|
|
569
|
+
this.ctx.roundRect(a,d,this.width,this.height,this.cornerRadius,this.borderThickness,this.backgroundColor,this.borderColor);for(var h=0,n=0;n<l.length;n++){for(var k=l[n],m=0,p=0;p<k.items.length;p++){var q=k.items[p],g=q.textBlock.x+a+(0===p?0.2*f:this.horizontalSpacing),r=d+h,s=g;this.chart.data[q.dataSeriesIndex].visible||(this.ctx.globalAlpha=0.5);this.ctx.save();this.ctx.beginPath();this.ctx.rect(a,d,b,Math.max(e-e%this.lineHeight,0));this.ctx.clip();if("line"===q.chartType||"stepLine"===q.chartType||
|
|
570
|
+
"spline"===q.chartType)this.ctx.strokeStyle=q.lineColor,this.ctx.lineWidth=Math.ceil(this.lineHeight/8),this.ctx.beginPath(),this.ctx.moveTo(g-0.1*this.lineHeight,r+this.lineHeight/2),this.ctx.lineTo(g+0.85*this.lineHeight,r+this.lineHeight/2),this.ctx.stroke(),s-=0.1*this.lineHeight;if("error"===q.chartType){this.ctx.strokeStyle=this.errorMarkerColor[0];this.ctx.lineWidth=f/8;this.ctx.beginPath();var w=g-0.08*this.lineHeight+0.1*this.lineHeight,u=r+0.15*this.lineHeight,v=0.7*this.lineHeight,x=v+
|
|
571
|
+
0.02*this.lineHeight;this.ctx.moveTo(w,u);this.ctx.lineTo(w+v,u);this.ctx.stroke();this.ctx.beginPath();this.ctx.moveTo(w+v/2,u);this.ctx.lineTo(w+v/2,u+x);this.ctx.stroke();this.ctx.beginPath();this.ctx.moveTo(w,u+x);this.ctx.lineTo(w+v,u+x);this.ctx.stroke();this.errorMarkerColor.shift()}W.drawMarker(g+f/2,r+this.lineHeight/2,this.ctx,q.markerType,"error"===q.chartType||"line"===q.chartType||"spline"===q.chartType?q.markerSize/2:q.markerSize,q.markerColor,q.markerBorderColor,q.markerBorderThickness);
|
|
572
|
+
q.textBlock.x=g+c+f;if("line"===q.chartType||"stepLine"===q.chartType||"spline"===q.chartType)q.textBlock.x+=0.1*this.lineHeight;q.textBlock.y=Math.round(r+this.lineHeight/2);q.textBlock.render(!0);this.ctx.restore();m=0<p?Math.max(m,q.textBlock.height?q.textBlock.height:this.lineHeight):q.textBlock.height?q.textBlock.height:this.lineHeight;this.chart.data[q.dataSeriesIndex].visible||(this.ctx.globalAlpha=1);g=X(q.id);this.ghostCtx.fillStyle=g;this.ghostCtx.beginPath();this.ghostCtx.fillRect(s,q.textBlock.y-
|
|
573
|
+
this.lineHeight/2,q.textBlock.x+q.textBlock.width-s,q.textBlock.height?q.textBlock.height:this.lineHeight);q.x1=this.chart._eventManager.objectMap[q.id].x1=s;q.y1=this.chart._eventManager.objectMap[q.id].y1=q.textBlock.y-this.lineHeight/2;q.x2=this.chart._eventManager.objectMap[q.id].x2=q.textBlock.x+q.textBlock.width;q.y2=this.chart._eventManager.objectMap[q.id].y2=q.textBlock.y+(q.textBlock.height?q.textBlock.height:this.lineHeight)-this.lineHeight/2}h+=m}};oa(Q,G);Q.prototype.getDefaultAxisPlacement=
|
|
574
|
+
function(){var a=this.type;if("column"===a||"line"===a||"stepLine"===a||"spline"===a||"area"===a||"stepArea"===a||"splineArea"===a||"stackedColumn"===a||"stackedLine"===a||"bubble"===a||"scatter"===a||"stackedArea"===a||"stackedColumn100"===a||"stackedLine100"===a||"stackedArea100"===a||"candlestick"===a||"ohlc"===a||"rangeColumn"===a||"rangeArea"===a||"rangeSplineArea"===a||"boxAndWhisker"===a||"waterfall"===a)return"normal";if("bar"===a||"stackedBar"===a||"stackedBar100"===a||"rangeBar"===a)return"xySwapped";
|
|
575
|
+
if("pie"===a||"doughnut"===a||"funnel"===a||"pyramid"===a)return"none";"error"!==a&&window.console.log("Unknown Chart Type: "+a);return null};Q.getDefaultLegendMarker=function(a){if("column"===a||"stackedColumn"===a||"stackedLine"===a||"bar"===a||"stackedBar"===a||"stackedBar100"===a||"bubble"===a||"scatter"===a||"stackedColumn100"===a||"stackedLine100"===a||"stepArea"===a||"candlestick"===a||"ohlc"===a||"rangeColumn"===a||"rangeBar"===a||"rangeArea"===a||"rangeSplineArea"===a||"boxAndWhisker"===
|
|
576
|
+
a||"waterfall"===a)return"square";if("line"===a||"stepLine"===a||"spline"===a||"pie"===a||"doughnut"===a)return"circle";if("area"===a||"splineArea"===a||"stackedArea"===a||"stackedArea100"===a||"funnel"===a||"pyramid"===a)return"triangle";if("error"===a)return"none";window.console.log("Unknown Chart Type: "+a);return null};Q.prototype.getDataPointAtX=function(a,d){if(!this.dataPoints||0===this.dataPoints.length)return null;var c={dataPoint:null,distance:Infinity,index:NaN},b=null,e=0,f=0,l=1,h=Infinity,
|
|
577
|
+
n=0,k=0,m=0;"none"!==this.chart.plotInfo.axisPlacement&&(this.axisX.logarithmic?(m=Math.log(this.dataPoints[this.dataPoints.length-1].x/this.dataPoints[0].x),m=1<m?Math.min(Math.max((this.dataPoints.length-1)/m*Math.log(a/this.dataPoints[0].x)>>0,0),this.dataPoints.length):0):(m=this.dataPoints[this.dataPoints.length-1].x-this.dataPoints[0].x,m=0<m?Math.min(Math.max((this.dataPoints.length-1)/m*(a-this.dataPoints[0].x)>>0,0),this.dataPoints.length):0));for(;;){f=0<l?m+e:m-e;if(0<=f&&f<this.dataPoints.length){var b=
|
|
578
|
+
this.dataPoints[f],p=this.axisX.logarithmic?b.x>a?b.x/a:a/b.x:Math.abs(b.x-a);p<c.distance&&(c.dataPoint=b,c.distance=p,c.index=f);b=p;b<=h?h=b:0<l?n++:k++;if(1E3<n&&1E3<k)break}else if(0>m-e&&m+e>=this.dataPoints.length)break;-1===l?(e++,l=1):l=-1}return d||(c.dataPoint.x.getTime?c.dataPoint.x.getTime():c.dataPoint.x)!==(a.getTime?a.getTime():a)?d&&null!==c.dataPoint?c:null:c};Q.prototype.getDataPointAtXY=function(a,d,c){if(!this.dataPoints||0===this.dataPoints.length||a<this.chart.plotArea.x1||
|
|
579
|
+
a>this.chart.plotArea.x2||d<this.chart.plotArea.y1||d>this.chart.plotArea.y2)return null;c=c||!1;var b=[],e=0,f=0,l=1,h=!1,n=Infinity,k=0,m=0,p=0;if("none"!==this.chart.plotInfo.axisPlacement)if(p=(this.chart.axisX[0]?this.chart.axisX[0]:this.chart.axisX2[0]).getXValueAt({x:a,y:d}),this.axisX.logarithmic)var q=Math.log(this.dataPoints[this.dataPoints.length-1].x/this.dataPoints[0].x),p=1<q?Math.min(Math.max((this.dataPoints.length-1)/q*Math.log(p/this.dataPoints[0].x)>>0,0),this.dataPoints.length):
|
|
580
|
+
0;else q=this.dataPoints[this.dataPoints.length-1].x-this.dataPoints[0].x,p=0<q?Math.min(Math.max((this.dataPoints.length-1)/q*(p-this.dataPoints[0].x)>>0,0),this.dataPoints.length):0;for(;;){f=0<l?p+e:p-e;if(0<=f&&f<this.dataPoints.length){var q=this.chart._eventManager.objectMap[this.dataPointIds[f]],g=this.dataPoints[f],r=null;if(q){switch(this.type){case "column":case "stackedColumn":case "stackedColumn100":case "bar":case "stackedBar":case "stackedBar100":case "rangeColumn":case "rangeBar":case "waterfall":case "error":a>=
|
|
581
|
+
q.x1&&(a<=q.x2&&d>=q.y1&&d<=q.y2)&&(b.push({dataPoint:g,dataPointIndex:f,dataSeries:this,distance:Math.min(Math.abs(q.x1-a),Math.abs(q.x2-a),Math.abs(q.y1-d),Math.abs(q.y2-d))}),h=!0);break;case "line":case "stepLine":case "spline":case "area":case "stepArea":case "stackedArea":case "stackedArea100":case "splineArea":case "scatter":var w=ma("markerSize",g,this)||4,v=c?20:w,r=Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y1-d,2));r<=v&&b.push({dataPoint:g,dataPointIndex:f,dataSeries:this,distance:r});q=
|
|
582
|
+
Math.abs(q.x1-a);q<=n?n=q:0<l?k++:m++;r<=w/2&&(h=!0);break;case "rangeArea":case "rangeSplineArea":w=ma("markerSize",g,this)||4;v=c?20:w;r=Math.min(Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y1-d,2)),Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y2-d,2)));r<=v&&b.push({dataPoint:g,dataPointIndex:f,dataSeries:this,distance:r});q=Math.abs(q.x1-a);q<=n?n=q:0<l?k++:m++;r<=w/2&&(h=!0);break;case "bubble":w=q.size;r=Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y1-d,2));r<=w/2&&(b.push({dataPoint:g,dataPointIndex:f,dataSeries:this,
|
|
583
|
+
distance:r}),h=!0);break;case "pie":case "doughnut":w=q.center;v="doughnut"===this.type?q.percentInnerRadius*q.radius:0;r=Math.sqrt(Math.pow(w.x-a,2)+Math.pow(w.y-d,2));r<q.radius&&r>v&&(r=Math.atan2(d-w.y,a-w.x),0>r&&(r+=2*Math.PI),r=Number(((180*(r/Math.PI)%360+360)%360).toFixed(12)),w=Number(((180*(q.startAngle/Math.PI)%360+360)%360).toFixed(12)),v=Number(((180*(q.endAngle/Math.PI)%360+360)%360).toFixed(12)),0===v&&1<q.endAngle&&(v=360),w>=v&&(0!==g.y&&!s(g.y))&&(v+=360,r<w&&(r+=360)),r>w&&r<v&&
|
|
584
|
+
(b.push({dataPoint:g,dataPointIndex:f,dataSeries:this,distance:0}),h=!0));break;case "funnel":case "pyramid":r=q.funnelSection;d>r.y1&&d<r.y4&&(r.y6?d>r.y6?(f=r.x6+(r.x5-r.x6)/(r.y5-r.y6)*(d-r.y6),r=r.x3+(r.x4-r.x3)/(r.y4-r.y3)*(d-r.y3)):(f=r.x1+(r.x6-r.x1)/(r.y6-r.y1)*(d-r.y1),r=r.x2+(r.x3-r.x2)/(r.y3-r.y2)*(d-r.y2)):(f=r.x1+(r.x4-r.x1)/(r.y4-r.y1)*(d-r.y1),r=r.x2+(r.x3-r.x2)/(r.y3-r.y2)*(d-r.y2)),a>f&&a<r&&(b.push({dataPoint:g,dataPointIndex:q.dataPointIndex,dataSeries:this,distance:0}),h=!0));
|
|
585
|
+
break;case "boxAndWhisker":if(a>=q.x1-q.borderThickness/2&&a<=q.x2+q.borderThickness/2&&d>=q.y4-q.borderThickness/2&&d<=q.y1+q.borderThickness/2||Math.abs(q.x2-a+q.x1-a)<q.borderThickness&&d>=q.y1&&d<=q.y4)b.push({dataPoint:g,dataPointIndex:f,dataSeries:this,distance:Math.min(Math.abs(q.x1-a),Math.abs(q.x2-a),Math.abs(q.y2-d),Math.abs(q.y3-d))}),h=!0;break;case "candlestick":if(a>=q.x1-q.borderThickness/2&&a<=q.x2+q.borderThickness/2&&d>=q.y2-q.borderThickness/2&&d<=q.y3+q.borderThickness/2||Math.abs(q.x2-
|
|
586
|
+
a+q.x1-a)<q.borderThickness&&d>=q.y1&&d<=q.y4)b.push({dataPoint:g,dataPointIndex:f,dataSeries:this,distance:Math.min(Math.abs(q.x1-a),Math.abs(q.x2-a),Math.abs(q.y2-d),Math.abs(q.y3-d))}),h=!0;break;case "ohlc":if(Math.abs(q.x2-a+q.x1-a)<q.borderThickness&&d>=q.y2&&d<=q.y3||a>=q.x1&&a<=(q.x2+q.x1)/2&&d>=q.y1-q.borderThickness/2&&d<=q.y1+q.borderThickness/2||a>=(q.x1+q.x2)/2&&a<=q.x2&&d>=q.y4-q.borderThickness/2&&d<=q.y4+q.borderThickness/2)b.push({dataPoint:g,dataPointIndex:f,dataSeries:this,distance:Math.min(Math.abs(q.x1-
|
|
587
|
+
a),Math.abs(q.x2-a),Math.abs(q.y2-d),Math.abs(q.y3-d))}),h=!0}if(h||1E3<k&&1E3<m)break}}else if(0>p-e&&p+e>=this.dataPoints.length)break;-1===l?(e++,l=1):l=-1}a=null;for(d=0;d<b.length;d++)a?b[d].distance<=a.distance&&(a=b[d]):a=b[d];return a};Q.prototype.getMarkerProperties=function(a,d,c,b){var e=this.dataPoints,f=e[a].markerColor?e[a].markerColor:this.markerColor?this.markerColor:e[a].color?e[a].color:this.color?this.color:this._colorSet[a%this._colorSet.length],l=e[a].markerBorderColor?e[a].markerBorderColor:
|
|
588
|
+
this.markerBorderColor?this.markerBorderColor:null,h=s(e[a].markerBorderThickness)?this.markerBorderThickness?this.markerBorderThickness:null:e[a].markerBorderThickness,n=e[a].markerType?e[a].markerType:this.markerType;a=s(e[a].markerSize)?this.markerSize:e[a].markerSize;return{x:d,y:c,ctx:b,type:n,size:a,color:f,borderColor:l,borderThickness:h}};oa(A,G);A.prototype.createExtraLabelsForLog=function(a){a=(a||0)+1;if(!(5<a)){var d=this.logLabelValues[0]||this.intervalStartPosition;if(Math.log(this.range)/
|
|
589
|
+
Math.log(d/this.viewportMinimum)<this.noTicks-1){for(var c=A.getNiceNumber((d-this.viewportMinimum)/Math.min(Math.max(2,this.noTicks-this.logLabelValues.length),3),!0),b=Math.ceil(this.viewportMinimum/c)*c;b<d;b+=c)b<this.viewportMinimum||this.logLabelValues.push(b);this.logLabelValues.sort(Ra);this.createExtraLabelsForLog(a)}}};A.prototype.createLabels=function(){var a,d,c=0,b=0,e,f=0,l=0,b=0,b=this.interval,h=0,n,k=0.6*this.chart.height,m;a=!1;var p=this.scaleBreaks?this.scaleBreaks._appliedBreaks:
|
|
590
|
+
[],q=p.length?s(this.scaleBreaks.firstBreakIndex)?0:this.scaleBreaks.firstBreakIndex:0;if("axisX"!==this.type||"dateTime"!==this.valueType||this.logarithmic){e=this.viewportMaximum;if(this.labels){a=Math.ceil(b);for(var b=Math.ceil(this.intervalStartPosition),g=!1,c=b;c<this.viewportMaximum;c+=a)if(this.labels[c])g=!0;else{g=!1;break}g&&(this.interval=a,this.intervalStartPosition=b)}if(this.logarithmic&&!this.equidistantInterval)for(this.logLabelValues||(this.logLabelValues=[],this.createExtraLabelsForLog()),
|
|
591
|
+
b=0,g=q;b<this.logLabelValues.length;b++)if(c=this.logLabelValues[b],c<this.viewportMinimum)b++;else{for(;g<p.length&&c>p[g].endValue;g++);a=g<p.length&&c>=p[g].startValue&&c<=p[g].endValue;m=c;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:m,label:this.labels[m]?this.labels[m]:null}):"axisX"===this.type&&this.labels[m]?this.labels[m]:da(m,this.valueFormatString,this.chart._cultureInfo),a=new ja(this.ctx,{x:0,y:0,maxWidth:f,maxHeight:l,angle:this.labelAngle,
|
|
592
|
+
text:this.prefix+a+this.suffix,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,cornerRadius:this.labelCornerRadius,textAlign:this.labelTextAlign,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle",borderThickness:0}),this._labels.push({position:m,textBlock:a,effectiveHeight:null}))}g=q;for(c=this.intervalStartPosition;c<=e;c=parseFloat(1E-12>this.interval?
|
|
593
|
+
this.logarithmic&&this.equidistantInterval?c*Math.pow(this.logarithmBase,this.interval):c+this.interval:(this.logarithmic&&this.equidistantInterval?c*Math.pow(this.logarithmBase,this.interval):c+this.interval).toFixed(12))){for(;g<p.length&&c>p[g].endValue;g++);a=g<p.length&&c>=p[g].startValue&&c<=p[g].endValue;m=c;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:m,label:this.labels[m]?this.labels[m]:null}):"axisX"===this.type&&this.labels[m]?this.labels[m]:
|
|
594
|
+
da(m,this.valueFormatString,this.chart._cultureInfo),a=new ja(this.ctx,{x:0,y:0,maxWidth:f,maxHeight:l,angle:this.labelAngle,text:this.prefix+a+this.suffix,textAlign:this.labelTextAlign,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,borderThickness:this.labelBorderThickness,cornerRadius:this.labelCornerRadius,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle"}),
|
|
595
|
+
this._labels.push({position:m,textBlock:a,effectiveHeight:null}))}}else for(this.intervalStartPosition=this.getLabelStartPoint(new Date(this.viewportMinimum),this.intervalType,this.interval),e=Xa(new Date(this.viewportMaximum),this.interval,this.intervalType),g=q,c=this.intervalStartPosition;c<e;Xa(c,b,this.intervalType)){for(a=c.getTime();g<p.length&&a>p[g].endValue;g++);m=a;a=g<p.length&&a>=p[g].startValue&&a<=p[g].endValue;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,
|
|
596
|
+
value:new Date(m),label:this.labels[m]?this.labels[m]:null}):"axisX"===this.type&&this.labels[m]?this.labels[m]:Ba(m,this.valueFormatString,this.chart._cultureInfo),a=new ja(this.ctx,{x:0,y:0,maxWidth:f,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,borderThickness:this.labelBorderThickness,cornerRadius:this.labelCornerRadius,maxHeight:l,angle:this.labelAngle,text:this.prefix+a+this.suffix,textAlign:this.labelTextAlign,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,
|
|
597
|
+
fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle"}),this._labels.push({position:m,textBlock:a,effectiveHeight:null,breaksLabelType:void 0}))}if("bottom"===this._position||"top"===this._position)h=this.logarithmic&&!this.equidistantInterval&&2<=this._labels.length?this.lineCoordinates.width*Math.log(Math.min(this._labels[this._labels.length-1].position/this._labels[this._labels.length-2].position,this._labels[1].position/this._labels[0].position))/
|
|
598
|
+
Math.log(this.range):this.lineCoordinates.width/(this.logarithmic&&this.equidistantInterval?Math.log(this.range)/Math.log(this.logarithmBase):Math.abs(this.range))*T[this.intervalType+"Duration"]*this.interval,f="undefined"===typeof this.options.labelMaxWidth?0.5*this.chart.width>>0:this.options.labelMaxWidth,this.chart.panEnabled||(l="undefined"===typeof this.options.labelWrap||this.labelWrap?0.8*this.chart.height>>0:1.5*this.labelFontSize);else if("left"===this._position||"right"===this._position)h=
|
|
599
|
+
this.logarithmic&&!this.equidistantInterval&&2<=this._labels.length?this.lineCoordinates.height*Math.log(Math.min(this._labels[this._labels.length-1].position/this._labels[this._labels.length-2].position,this._labels[1].position/this._labels[0].position))/Math.log(this.range):this.lineCoordinates.height/(this.logarithmic&&this.equidistantInterval?Math.log(this.range)/Math.log(this.logarithmBase):Math.abs(this.range))*T[this.intervalType+"Duration"]*this.interval,this.chart.panEnabled||(f="undefined"===
|
|
600
|
+
typeof this.options.labelMaxWidth?0.3*this.chart.width>>0:this.options.labelMaxWidth),l="undefined"===typeof this.options.labelWrap||this.labelWrap?0.3*this.chart.height>>0:1.5*this.labelFontSize;for(b=0;b<this._labels.length;b++){a=this._labels[b].textBlock;a.maxWidth=f;a.maxHeight=l;var r=a.measureText();n=r.height}e=[];q=p=0;if(this.labelAutoFit||this.options.labelAutoFit)if(s(this.labelAngle)||(this.labelAngle=(this.labelAngle%360+360)%360,90<this.labelAngle&&270>this.labelAngle?this.labelAngle-=
|
|
601
|
+
180:270<=this.labelAngle&&360>=this.labelAngle&&(this.labelAngle-=360)),"bottom"===this._position||"top"===this._position)if(f=0.9*h>>0,q=0,!this.chart.panEnabled&&1<=this._labels.length){this.sessionVariables.labelFontSize=this.labelFontSize;this.sessionVariables.labelMaxWidth=f;this.sessionVariables.labelMaxHeight=l;this.sessionVariables.labelAngle=this.labelAngle;this.sessionVariables.labelWrap=this.labelWrap;for(c=0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=this._labels[c].textBlock;
|
|
602
|
+
for(var v,g=a.text.split(" "),b=0;b<g.length;b++)m=g[b],this.ctx.font=a.fontStyle+" "+a.fontWeight+" "+a.fontSize+"px "+a.fontFamily,m=this.ctx.measureText(m),m.width>q&&(v=c,q=m.width)}c=0;for(c=this.intervalStartPosition<this.viewportMinimum?1:0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=this._labels[c].textBlock;r=a.measureText();for(g=c+1;g<this._labels.length;g++)if(!this._labels[g].breaksLabelType){d=this._labels[g].textBlock;d=d.measureText();break}e.push(a.height);this.sessionVariables.labelMaxHeight=
|
|
603
|
+
Math.max.apply(Math,e);Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.sin(Math.PI/180*Math.abs(this.labelAngle));b=f*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(l-a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));if(s(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&0!==this.options.labelAngle)if(this.sessionVariables.labelMaxHeight=0===this.labelAngle?l:Math.min((b-f*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),b),
|
|
604
|
+
m=(k-(n+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(-25)))/Math.sin(Math.PI/180*Math.abs(-25)),!s(this.options.labelWrap))this.labelWrap?s(this.options.labelMaxWidth)?(this.sessionVariables.labelMaxWidth=Math.min(Math.max(f,q),m),this.sessionVariables.labelWrap=this.labelWrap,d&&r.width+d.width>>0>2*f&&(this.sessionVariables.labelAngle=-25)):(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelAngle=this.sessionVariables.labelMaxWidth>
|
|
605
|
+
f?-25:this.sessionVariables.labelAngle):s(this.options.labelMaxWidth)?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxHeight=l,this.sessionVariables.labelMaxWidth=f,d&&r.width+d.width>>0>2*f&&(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=m)):(this.sessionVariables.labelAngle=this.sessionVariables.labelMaxWidth>f?-25:this.sessionVariables.labelAngle,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=
|
|
606
|
+
l,this.sessionVariables.labelWrap=this.labelWrap);else{if(s(this.options.labelWrap))if(!s(this.options.labelMaxWidth))this.options.labelMaxWidth<f?(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=b):(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=l);else if(!s(d))if(b=r.width+d.width>>0,g=this.labelFontSize,q<f)b-2*f>p&&(p=b-2*f,b>=2*f&&b<2.2*f?(this.sessionVariables.labelMaxWidth=
|
|
607
|
+
f,s(this.options.labelFontSize)&&12<g&&(g=Math.floor(12/13*g),a.measureText()),this.sessionVariables.labelFontSize=s(this.options.labelFontSize)?g:this.options.labelFontSize,this.sessionVariables.labelAngle=this.labelAngle):b>=2.2*f&&b<2.8*f?(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=m,this.sessionVariables.labelFontSize=g):b>=2.8*f&&b<3.2*f?(this.sessionVariables.labelMaxWidth=Math.max(f,q),this.sessionVariables.labelWrap=!0,s(this.options.labelFontSize)&&12<this.labelFontSize&&
|
|
608
|
+
(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=s(this.options.labelFontSize)?g:this.options.labelFontSize,this.sessionVariables.labelAngle=this.labelAngle):b>=3.2*f&&b<3.6*f?(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelMaxWidth=m,this.sessionVariables.labelFontSize=this.labelFontSize):b>3.6*f&&b<5*f?(s(this.options.labelFontSize)&&12<g&&(g=Math.floor(12/13*g),a.measureText()),this.sessionVariables.labelFontSize=
|
|
609
|
+
s(this.options.labelFontSize)?g:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=m):b>5*f&&(this.sessionVariables.labelWrap=!0,this.sessionVariables.labelMaxWidth=f,this.sessionVariables.labelFontSize=g,this.sessionVariables.labelMaxHeight=l,this.sessionVariables.labelAngle=this.labelAngle));else if(v===c&&(0===v&&q+this._labels[v+1].textBlock.measureText().width-2*f>p||v===this._labels.length-1&&q+this._labels[v-
|
|
610
|
+
1].textBlock.measureText().width-2*f>p||0<v&&v<this._labels.length-1&&q+this._labels[v+1].textBlock.measureText().width-2*f>p&&q+this._labels[v-1].textBlock.measureText().width-2*f>p))p=0===v?q+this._labels[v+1].textBlock.measureText().width-2*f:q+this._labels[v-1].textBlock.measureText().width-2*f,this.sessionVariables.labelFontSize=s(this.options.labelFontSize)?g:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=
|
|
611
|
+
m;else if(0===p)for(this.sessionVariables.labelFontSize=s(this.options.labelFontSize)?g:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.sessionVariables.labelMaxWidth=Math.min(Math.max(f,q),m),r=a.measureText(),b<this._labels.length-1&&(g=b+1,d=this._labels[g].textBlock,d.maxWidth=this.sessionVariables.labelMaxWidth=Math.min(Math.max(f,q),m),d=d.measureText(),r.width+d.width>>0>2*f&&(this.sessionVariables.labelAngle=
|
|
612
|
+
-25))}else(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxHeight=0===this.labelAngle?l:Math.min((b-f*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),b),m=0!=this.labelAngle?(k-(n+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)):f,this.sessionVariables.labelMaxHeight=this.labelWrap?(k-m*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)):
|
|
613
|
+
1.5*this.labelFontSize,s(this.options.labelWrap))?s(this.options.labelWrap)&&(this.labelWrap&&!s(this.options.labelMaxWidth)?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:m,this.sessionVariables.labelMaxHeight=l):(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxWidth=m,this.sessionVariables.labelMaxHeight=b<0.9*h?0.9*h:b,this.sessionVariables.labelWrap=this.labelWrap)):(this.options.labelWrap?
|
|
614
|
+
(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:m):(s(this.options.labelMaxWidth),this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:m,this.sessionVariables.labelWrap=this.labelWrap),this.sessionVariables.labelMaxHeight=l)}for(b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.labelMaxWidth=this.sessionVariables.labelMaxWidth,a.fontSize=this.sessionVariables.labelFontSize,
|
|
615
|
+
a.angle=this.labelAngle=this.sessionVariables.labelAngle,a.wrap=this.labelWrap=this.sessionVariables.labelWrap,a.maxHeight=this.sessionVariables.labelMaxHeight,a.measureText()}else for(c=0;c<this._labels.length;c++)a=this._labels[c].textBlock,a.maxWidth=this.labelMaxWidth=s(this.options.labelMaxWidth)?s(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=f:this.sessionVariables.labelMaxWidth:this.options.labelMaxWidth,a.fontSize=this.labelFontSize=s(this.options.labelFontSize)?
|
|
616
|
+
s(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=this.labelFontSize:this.sessionVariables.labelFontSize:this.options.labelFontSize,a.angle=this.labelAngle=s(this.options.labelAngle)?s(this.sessionVariables.labelAngle)?this.sessionVariables.labelAngle=this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=s(this.options.labelWrap)?s(this.sessionVariables.labelWrap)?this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:
|
|
617
|
+
this.options.labelWrap,a.maxHeight=s(this.sessionVariables.labelMaxHeight)?this.sessionVariables.labelMaxHeight=l:this.sessionVariables.labelMaxHeight,a.measureText();else if("left"===this._position||"right"===this._position)if(f=s(this.options.labelMaxWidth)?0.3*this.chart.width>>0:this.options.labelMaxWidth,l="undefined"===typeof this.options.labelWrap||this.labelWrap?0.3*this.chart.height>>0:1.5*this.labelFontSize,!this.chart.panEnabled&&1<=this._labels.length){this.sessionVariables.labelFontSize=
|
|
618
|
+
this.labelFontSize;this.sessionVariables.labelMaxWidth=f;this.sessionVariables.labelMaxHeight=l;this.sessionVariables.labelAngle=s(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle;this.sessionVariables.labelWrap=this.labelWrap;for(c=0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=this._labels[c].textBlock;r=a.measureText();for(g=c+1;g<this._labels.length;g++)if(!this._labels[g].breaksLabelType){d=this._labels[g].textBlock;d=d.measureText();break}e.push(a.height);
|
|
619
|
+
this.sessionVariables.labelMaxHeight=Math.max.apply(Math,e);b=f*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(l-a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.sin(Math.PI/180*Math.abs(this.labelAngle));s(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&0!==this.options.labelAngle?s(this.options.labelWrap)?s(this.options.labelWrap)&&(s(this.options.labelMaxWidth)?s(d)||(h=r.height+d.height>>0,h-2*l>q&&(q=h-2*l,h>=2*l&&
|
|
620
|
+
h<2.4*l?(s(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelMaxHeight=l,this.sessionVariables.labelFontSize=s(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize):h>=2.4*l&&h<2.8*l?(this.sessionVariables.labelMaxHeight=b,this.sessionVariables.labelFontSize=this.labelFontSize,this.sessionVariables.labelWrap=!0):h>=2.8*l&&h<3.2*l?(this.sessionVariables.labelMaxHeight=l,this.sessionVariables.labelWrap=
|
|
621
|
+
!0,s(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=s(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelAngle=s(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):h>=3.2*l&&h<3.6*l?(this.sessionVariables.labelMaxHeight=b,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelFontSize=this.labelFontSize):h>3.6*
|
|
622
|
+
l&&h<10*l?(s(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=s(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxWidth=f,this.sessionVariables.labelMaxHeight=l,this.sessionVariables.labelAngle=s(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):h>10*l&&h<50*l&&(s(this.options.labelFontSize)&&12<this.labelFontSize&&
|
|
623
|
+
(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=s(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxHeight=l,this.sessionVariables.labelMaxWidth=f,this.sessionVariables.labelAngle=s(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle))):(this.sessionVariables.labelMaxHeight=l,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth)):
|
|
624
|
+
(this.sessionVariables.labelMaxWidth=this.labelWrap?this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth:this.labelMaxWidth?this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth:f,this.sessionVariables.labelMaxHeight=l):(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxWidth=0===this.labelAngle?f:Math.min((b-l*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)),
|
|
625
|
+
l),s(this.options.labelWrap))?s(this.options.labelWrap)&&(this.labelWrap&&!s(this.options.labelMaxWidth)?(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth,this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxHeight=b):(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:f,this.sessionVariables.labelMaxHeight=0===this.labelAngle?l:b,s(this.options.labelMaxWidth)&&
|
|
626
|
+
(this.sessionVariables.labelAngle=this.labelAngle))):this.options.labelWrap?(this.sessionVariables.labelMaxHeight=0===this.labelAngle?l:b,this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=f):(this.sessionVariables.labelMaxHeight=l,s(this.options.labelMaxWidth),this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth,this.sessionVariables.labelWrap=this.labelWrap)}for(b=0;b<this._labels.length;b++)a=
|
|
627
|
+
this._labels[b].textBlock,a.maxWidth=this.labelMaxWidth=this.sessionVariables.labelMaxWidth,a.fontSize=this.labelFontSize=this.sessionVariables.labelFontSize,a.angle=this.labelAngle=this.sessionVariables.labelAngle,a.wrap=this.labelWrap=this.sessionVariables.labelWrap,a.maxHeight=this.sessionVariables.labelMaxHeight,a.measureText()}else for(c=0;c<this._labels.length;c++)a=this._labels[c].textBlock,a.maxWidth=this.labelMaxWidth=s(this.options.labelMaxWidth)?s(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=
|
|
628
|
+
f:this.sessionVariables.labelMaxWidth:this.options.labelMaxWidth,a.fontSize=this.labelFontSize=s(this.options.labelFontSize)?s(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=this.labelFontSize:this.sessionVariables.labelFontSize:this.options.labelFontSize,a.angle=this.labelAngle=s(this.options.labelAngle)?s(this.sessionVariables.labelAngle)?this.sessionVariables.labelAngle=this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=s(this.options.labelWrap)?
|
|
629
|
+
s(this.sessionVariables.labelWrap)?this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:this.options.labelWrap,a.maxHeight=s(this.sessionVariables.labelMaxHeight)?this.sessionVariables.labelMaxHeight=l:this.sessionVariables.labelMaxHeight,a.measureText();for(c=0;c<this.stripLines.length;c++){var f=this.stripLines[c],A;if("outside"===f.labelPlacement){l=this.sessionVariables.labelMaxWidth;if("bottom"===this._position||"top"===this._position)s(f.options.labelWrap)&&!s(this.sessionVariables.stripLineLabelMaxHeight)?
|
|
630
|
+
A=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=A=f.labelWrap?0.8*this.chart.height>>0:1.5*this.labelFontSize;if("left"===this._position||"right"===this._position)s(f.options.labelWrap)&&!s(this.sessionVariables.stripLineLabelMaxHeight)?A=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=A=f.labelWrap?0.8*this.chart.width>>0:1.5*this.labelFontSize;s(f.labelBackgroundColor)&&(f.labelBackgroundColor="#EEEEEE")}else l=
|
|
631
|
+
"bottom"===this._position||"top"===this._position?0.9*this.chart.width>>0:0.9*this.chart.height>>0,A=s(f.options.labelWrap)||f.labelWrap?"bottom"===this._position||"top"===this._position?0.8*this.chart.width>>0:0.8*this.chart.height>>0:1.5*this.labelFontSize,s(f.labelBackgroundColor)&&(s(f.startValue)&&0!==f.startValue?f.labelBackgroundColor=w?"transparent":null:f.labelBackgroundColor="#EEEEEE");a=new ja(this.ctx,{x:0,y:0,backgroundColor:f.labelBackgroundColor,borderColor:f.labelBorderColor,borderThickness:f.labelBorderThickness,
|
|
632
|
+
cornerRadius:f.labelCornerRadius,maxWidth:f.options.labelMaxWidth?f.options.labelMaxWidth:l,maxHeight:A,angle:this.labelAngle,text:f.labelFormatter?f.labelFormatter({chart:this.chart,axis:this,stripLine:f}):f.label,textAlign:this.labelTextAlign,fontSize:"outside"===f.labelPlacement?f.options.labelFontSize?f.labelFontSize:this.labelFontSize:f.labelFontSize,fontFamily:"outside"===f.labelPlacement?f.options.labelFontFamily?f.labelFontFamily:this.labelFontFamily:f.labelFontFamily,fontWeight:"outside"===
|
|
633
|
+
f.labelPlacement?f.options.labelFontWeight?f.labelFontWeight:this.labelFontWeight:f.labelFontWeight,fontColor:f.labelFontColor||f.color,fontStyle:"outside"===f.labelPlacement?f.options.labelFontStyle?f.labelFontStyle:this.fontWeight:f.labelFontStyle,textBaseline:"middle"});this._stripLineLabels.push({position:f.value,textBlock:a,effectiveHeight:null,stripLine:f})}};A.prototype.createLabelsAndCalculateWidth=function(){var a=0,d=0;this._labels=[];this._stripLineLabels=[];var c=this.chart.isNavigator?
|
|
634
|
+
0:5;if("left"===this._position||"right"===this._position){this.createLabels();if("inside"!=this.labelPlacement||"inside"===this.labelPlacement&&0<this._index)for(d=0;d<this._labels.length;d++){var b=this._labels[d].textBlock,e=b.measureText(),f=0,f=0===this.labelAngle?e.width:e.width*Math.cos(Math.PI/180*Math.abs(this.labelAngle))+(e.height-b.fontSize/2)*Math.sin(Math.PI/180*Math.abs(this.labelAngle));a<f&&(this.labelEffectiveWidth=a=f);this._labels[d].effectiveWidth=f}for(d=0;d<this._stripLineLabels.length;d++)"outside"===
|
|
635
|
+
this._stripLineLabels[d].stripLine.labelPlacement&&(this._stripLineLabels[d].stripLine.value>=this.viewportMinimum&&this._stripLineLabels[d].stripLine.value<=this.viewportMaximum)&&(b=this._stripLineLabels[d].textBlock,e=b.measureText(),f=0===this.labelAngle?e.width:e.width*Math.cos(Math.PI/180*Math.abs(this.labelAngle))+(e.height-b.fontSize/2)*Math.sin(Math.PI/180*Math.abs(this.labelAngle)),"inside"===this.tickPlacement&&(f+=this.tickLength),"inside"===this.labelPlacement&&(a+=0<this._index?f:0),
|
|
636
|
+
a<f&&(a=f),this.stripLineLabelEffectiveWidth=this._stripLineLabels[d].effectiveWidth=f)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===this.tickPlacement?0<this._index?this.tickLength:0:this.tickLength)+c};A.prototype.createLabelsAndCalculateHeight=function(){var a=0;this._labels=[];this._stripLineLabels=[];var d,c=0,b=this.chart.isNavigator?0:5;if("bottom"===this._position||"top"===this._position){this.createLabels();if("inside"!=this.labelPlacement||"inside"===this.labelPlacement&&
|
|
637
|
+
0<this._index)for(c=0;c<this._labels.length;c++){d=this._labels[c].textBlock;var e=d.measureText(),f=0,f=0===this.labelAngle?e.height:e.width*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(e.height-d.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));a<f&&(this.labelEffectiveHeight=a=f);this._labels[c].effectiveHeight=f}for(c=0;c<this._stripLineLabels.length;c++)"outside"===this._stripLineLabels[c].stripLine.labelPlacement&&(this._stripLineLabels[c].stripLine.value>=this.viewportMinimum&&
|
|
638
|
+
this._stripLineLabels[c].stripLine.value<=this.viewportMaximum)&&(d=this._stripLineLabels[c].textBlock,e=d.measureText(),f=0===this.labelAngle?e.height:e.width*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(e.height-d.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle)),"inside"===this.tickPlacement&&(f+=this.tickLength),"inside"===this.labelPlacement&&(a+=0<this._index?f:0),a<f&&(a=f),this.stripLineLabelEffectiveHeight=this._stripLineLabels[c].effectiveHeight=f)}return(this.title?this._titleTextBlock.measureText().height+
|
|
639
|
+
2:0)+a+("inside"===this.tickPlacement?0<this._index?this.tickLength:0:this.tickLength)+b};A.setLayout=function(a,d,c,b,e,f){var l,h,n,k,m=a[0]?a[0].chart:d[0].chart,p=m.isNavigator?0:10,q=m._axes;if(a&&0<a.length)for(var g=0;g<a.length;g++)a[g]&&a[g].calculateAxisParameters();if(d&&0<d.length)for(g=0;g<d.length;g++)d[g].calculateAxisParameters();if(c&&0<c.length)for(g=0;g<c.length;g++)c[g].calculateAxisParameters();if(b&&0<b.length)for(g=0;g<b.length;g++)b[g].calculateAxisParameters();for(g=0;g<q.length;g++)if(q[g]&&
|
|
640
|
+
q[g].scaleBreaks&&q[g].scaleBreaks._appliedBreaks.length)for(var r=q[g].scaleBreaks._appliedBreaks,w=0;w<r.length&&!(r[w].startValue>q[g].viewportMaximum);w++)r[w].endValue<q[g].viewportMinimum||(s(q[g].scaleBreaks.firstBreakIndex)&&(q[g].scaleBreaks.firstBreakIndex=w),r[w].startValue>=q[g].viewPortMinimum&&(q[g].scaleBreaks.lastBreakIndex=w));for(var v=w=0,u=0,y=0,x=0,z=0,A=0,D,B,E=h=0,G,J,K,r=G=J=K=!1,g=0;g<q.length;g++)q[g]&&q[g].title&&(q[g]._titleTextBlock=new ja(q[g].ctx,{text:q[g].title,horizontalAlign:"center",
|
|
641
|
+
fontSize:q[g].titleFontSize,fontFamily:q[g].titleFontFamily,fontWeight:q[g].titleFontWeight,fontColor:q[g].titleFontColor,fontStyle:q[g].titleFontStyle,borderColor:q[g].titleBorderColor,borderThickness:q[g].titleBorderThickness,backgroundColor:q[g].titleBackgroundColor,cornerRadius:q[g].titleCornerRadius,textBaseline:"top"}));for(g=0;g<q.length;g++)if(q[g].title)switch(q[g]._position){case "left":q[g]._titleTextBlock.maxWidth=q[g].titleMaxWidth||f.height;q[g]._titleTextBlock.maxHeight=q[g].titleWrap?
|
|
642
|
+
0.8*f.width:1.5*q[g].titleFontSize;q[g]._titleTextBlock.angle=-90;break;case "right":q[g]._titleTextBlock.maxWidth=q[g].titleMaxWidth||f.height;q[g]._titleTextBlock.maxHeight=q[g].titleWrap?0.8*f.width:1.5*q[g].titleFontSize;q[g]._titleTextBlock.angle=90;break;default:q[g]._titleTextBlock.maxWidth=q[g].titleMaxWidth||f.width,q[g]._titleTextBlock.maxHeight=q[g].titleWrap?0.8*f.height:1.5*q[g].titleFontSize,q[g]._titleTextBlock.angle=0}if("normal"===e){for(var y=[],x=[],z=[],A=[],M=[],Q=[],N=[],P=[];4>
|
|
643
|
+
w;){var F=0,X=0,T=0,U=0,V=e=0,O=0,Z=0,W=0,Y=0,R=0,aa=0;if(c&&0<c.length)for(z=[],g=R=0;g<c.length;g++)z.push(Math.ceil(c[g]?c[g].createLabelsAndCalculateWidth():0)),R+=z[g],O+=c[g]&&!m.isNavigator?c[g].margin:0;else z.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateWidth():0));N.push(z);if(b&&0<b.length)for(A=[],g=aa=0;g<b.length;g++)A.push(Math.ceil(b[g]?b[g].createLabelsAndCalculateWidth():0)),aa+=A[g],Z+=b[g]?b[g].margin:0;else A.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateWidth():0));P.push(A);
|
|
644
|
+
l=Math.round(f.x1+R+O);n=Math.round(f.x2-aa-Z>m.width-p?m.width-p:f.x2-aa-Z);if(a&&0<a.length)for(y=[],g=W=0;g<a.length;g++)a[g]&&(a[g].lineCoordinates={}),a[g].lineCoordinates.width=Math.abs(n-l),a[g].title&&(a[g]._titleTextBlock.maxWidth=0<a[g].titleMaxWidth&&a[g].titleMaxWidth<a[g].lineCoordinates.width?a[g].titleMaxWidth:a[g].lineCoordinates.width),y.push(Math.ceil(a[g]?a[g].createLabelsAndCalculateHeight():0)),W+=y[g],e+=a[g]&&!m.isNavigator?a[g].margin:0;else y.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateHeight():
|
|
645
|
+
0));M.push(y);if(d&&0<d.length)for(x=[],g=Y=0;g<d.length;g++)d[g]&&(d[g].lineCoordinates={}),d[g].lineCoordinates.width=Math.abs(n-l),d[g].title&&(d[g]._titleTextBlock.maxWidth=0<d[g].titleMaxWidth&&d[g].titleMaxWidth<d[g].lineCoordinates.width?d[g].titleMaxWidth:d[g].lineCoordinates.width),x.push(Math.ceil(d[g]?d[g].createLabelsAndCalculateHeight():0)),Y+=x[g],V+=d[g]&&!m.isNavigator?d[g].margin:0;else x.push(Math.ceil(d[0]?d[0].createLabelsAndCalculateHeight():0));Q.push(x);if(a&&0<a.length)for(g=
|
|
646
|
+
0;g<a.length;g++)a[g]&&(a[g].lineCoordinates.x1=l,n=Math.round(f.x2-aa-Z>m.width-p?m.width-p:f.x2-aa-Z),a[g]._labels&&1<a[g]._labels.length&&(h=k=0,k=a[g]._labels[1],h="dateTime"===a[g].valueType?a[g]._labels[a[g]._labels.length-2]:a[g]._labels[a[g]._labels.length-1],v=k.textBlock.width*Math.cos(Math.PI/180*Math.abs(k.textBlock.angle))+(k.textBlock.height-h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(k.textBlock.angle)),u=h.textBlock.width*Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+
|
|
647
|
+
(h.textBlock.height-h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle))),!a[g]||(!a[g].labelAutoFit||s(D)||s(B)||m.isNavigator||m.stockChart)||(h=0,0<a[g].labelAngle?B+u>n&&(h+=0<a[g].labelAngle?B+u-n-aa:0):0>a[g].labelAngle?D-v<l&&D-v<a[g].viewportMinimum&&(E=l-(O+a[g].tickLength+z+D-v+a[g].labelFontSize/2)):0===a[g].labelAngle&&(B+u>n&&(h=B+u/2-n-aa),D-v<l&&D-v<a[g].viewportMinimum&&(E=l-O-a[g].tickLength-z-D+v/2)),a[g].viewportMaximum===a[g].maximum&&a[g].viewportMinimum===
|
|
648
|
+
a[g].minimum&&0<a[g].labelAngle&&0<h?n-=h:a[g].viewportMaximum===a[g].maximum&&a[g].viewportMinimum===a[g].minimum&&0>a[g].labelAngle&&0<E?l+=E:a[g].viewportMaximum===a[g].maximum&&a[g].viewportMinimum===a[g].minimum&&0===a[g].labelAngle&&(0<E&&(l+=E),0<h&&(n-=h))),m.panEnabled?W=s(m.sessionVariables.axisX.height)?m.sessionVariables.axisX.height=W:m.sessionVariables.axisX.height:m.sessionVariables.axisX.height=W,h=Math.round(f.y2-W-e+F),k=Math.round(f.y2),a[g].lineCoordinates.x2=n,a[g].lineCoordinates.width=
|
|
649
|
+
n-l,a[g].lineCoordinates.y1=h,a[g].lineCoordinates.y2=h+a[g].lineThickness/2,"inside"===a[g].labelPlacement&&0<g&&(a[g].lineCoordinates.y1=a[g-1].lineCoordinates.y2+F+(a[g].labelEffectiveHeight||0),a[g].lineCoordinates.y2=a[g].lineCoordinates.y1+a[g].lineThickness/2),"inside"===a[g].tickPlacement&&0<g&&(a[g].lineCoordinates.y1+=a[g].tickLength,a[g].lineCoordinates.y2=a[g].lineCoordinates.y1+a[g].lineThickness/2),a[g].bounds={x1:l,y1:h,x2:n,y2:k-(W+e-y[g]-F),width:n-l},a[g].bounds.height=a[g].bounds.y2-
|
|
650
|
+
a[g].bounds.y1),F+=y[g]+a[g].margin;if(d&&0<d.length)for(g=0;g<d.length;g++)d[g].lineCoordinates.x1=Math.round(f.x1+R+O),d[g].lineCoordinates.x2=Math.round(f.x2-aa-Z>m.width-p?m.width-p:f.x2-aa-Z),d[g].lineCoordinates.width=Math.abs(n-l),d[g]._labels&&1<d[g]._labels.length&&(k=d[g]._labels[1],h="dateTime"===d[g].valueType?d[g]._labels[d[g]._labels.length-2]:d[g]._labels[d[g]._labels.length-1],v=k.textBlock.width*Math.cos(Math.PI/180*Math.abs(k.textBlock.angle))+(k.textBlock.height-h.textBlock.fontSize/
|
|
651
|
+
2)*Math.sin(Math.PI/180*Math.abs(k.textBlock.angle)),u=h.textBlock.width*Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+(h.textBlock.height-h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle))),m.panEnabled?Y=s(m.sessionVariables.axisX2.height)?m.sessionVariables.axisX2.height=Y:m.sessionVariables.axisX2.height:m.sessionVariables.axisX2.height=Y,h=Math.round(f.y1),k=d[g].lineCoordinates.y1=h+Y+V-X,d[g].lineCoordinates.y2=h,"inside"===d[g].labelPlacement&&0<g&&(d[g].lineCoordinates.y1=
|
|
652
|
+
d[g-1].lineCoordinates.y1-X-(d[g].labelEffectiveHeight||0)),"inside"===d[g].tickPlacement&&0<g&&(d[g].lineCoordinates.y1-=d[g].tickLength),d[g].bounds={x1:l,y1:h+(Y+V-x[g]-X),x2:n,y2:k,width:n-l},d[g].bounds.height=d[g].bounds.y2-d[g].bounds.y1,X+=x[g]+d[g].margin;if(c&&0<c.length)for(g=0;g<c.length;g++)O=m.isNavigator?0:10,c[g]&&(l=Math.round(a[0]?a[0].lineCoordinates.x1:d[0].lineCoordinates.x1),O=c[g]._labels&&0<c[g]._labels.length?c[g]._labels[c[g]._labels.length-1].textBlock.height/2:p,h=Math.round(f.y1+
|
|
653
|
+
Y+V<Math.max(O,p)?Math.max(O,p):f.y1+Y+V),n=Math.round(a[0]?a[0].lineCoordinates.x1:d[0].lineCoordinates.x1),O=0<a.length?0:c[g]._labels&&0<c[g]._labels.length?c[g]._labels[0].textBlock.height/2:p,k=Math.round(f.y2-W-e-O),c[g].lineCoordinates={x1:l-T,y1:h,x2:n-T,y2:k,height:Math.abs(k-h)},"inside"===c[g].labelPlacement&&0<g&&(c[g].lineCoordinates.x1=c[g-1].lineCoordinates.x1-T-(c[g].labelEffectiveWidth||0),c[g].lineCoordinates.x2=c[g].lineCoordinates.x1+c[g].lineThickness/2),"inside"===c[g].tickPlacement&&
|
|
654
|
+
0<g&&(c[g].lineCoordinates.x1-=c[g].tickLength,c[g].lineCoordinates.x2=c[g].lineCoordinates.x1+c[g].lineThickness/2),c[g].bounds={x1:l-(z[g]+T),y1:h,x2:n-T,y2:k,height:k-h},c[g].bounds.width=c[g].bounds.x2-c[g].bounds.x1,c[g].title&&(c[g]._titleTextBlock.maxWidth=0<c[g].titleMaxWidth&&c[g].titleMaxWidth<c[g].lineCoordinates.height?c[g].titleMaxWidth:c[g].lineCoordinates.height),T+=z[g]+c[g].margin);if(b&&0<b.length)for(g=0;g<b.length;g++)b[g]&&(l=Math.round(a[0]?a[0].lineCoordinates.x2:d[0].lineCoordinates.x2),
|
|
655
|
+
n=Math.round(l),O=b[g]._labels&&0<b[g]._labels.length?b[g]._labels[b[g]._labels.length-1].textBlock.height/2:0,h=Math.round(f.y1+Y+V<Math.max(O,p)?Math.max(O,p):f.y1+Y+V),O=0<a.length?0:b[g]._labels&&0<b[g]._labels.length?b[g]._labels[0].textBlock.height/2:0,k=Math.round(f.y2-(W+e+O)),b[g].lineCoordinates={x1:l+U,y1:h,x2:l+U,y2:k,height:Math.abs(k-h)},"inside"===b[g].labelPlacement&&0<g&&(b[g].lineCoordinates.x1=b[g-1].lineCoordinates.x2+U+(b[g].labelEffectiveWidth||0),b[g].lineCoordinates.x2=b[g].lineCoordinates.x1+
|
|
656
|
+
b[g].lineThickness/2),"inside"===b[g].tickPlacement&&0<g&&(b[g].lineCoordinates.x1+=b[g].tickLength,b[g].lineCoordinates.x2=b[g].lineCoordinates.x1+b[g].lineThickness/2),b[g].bounds={x1:l+U,y1:h,x2:n+(A[g]+U),y2:k,height:k-h},b[g].bounds.width=b[g].bounds.x2-b[g].bounds.x1,b[g].title&&(b[g]._titleTextBlock.maxWidth=0<b[g].titleMaxWidth&&b[g].titleMaxWidth<b[g].lineCoordinates.height?b[g].titleMaxWidth:b[g].lineCoordinates.height),U+=A[g]+b[g].margin);if(a&&0<a.length)for(g=0;g<a.length;g++)a[g]&&
|
|
657
|
+
(a[g].calculateValueToPixelConversionParameters(),a[g].calculateBreaksSizeInValues(),a[g]._labels&&1<a[g]._labels.length&&(D=(a[g].logarithmic?Math.log(a[g]._labels[1].position/a[g].viewportMinimum)/a[g].conversionParameters.lnLogarithmBase:a[g]._labels[1].position-a[g].viewportMinimum)*Math.abs(a[g].conversionParameters.pixelPerUnit)+a[g].lineCoordinates.x1,l=a[g]._labels[a[g]._labels.length-("dateTime"===a[g].valueType?2:1)].position,l=a[g].getApparentDifference(a[g].viewportMinimum,l),B=a[g].logarithmic?
|
|
658
|
+
(1<l?Math.log(l)/a[g].conversionParameters.lnLogarithmBase*Math.abs(a[g].conversionParameters.pixelPerUnit):0)+a[g].lineCoordinates.x1:(0<l?l*Math.abs(a[g].conversionParameters.pixelPerUnit):0)+a[g].lineCoordinates.x1));if(d&&0<d.length)for(g=0;g<d.length;g++)d[g].calculateValueToPixelConversionParameters(),d[g].calculateBreaksSizeInValues(),d[g]._labels&&1<d[g]._labels.length&&(D=(d[g].logarithmic?Math.log(d[g]._labels[1].position/d[g].viewportMinimum)/d[g].conversionParameters.lnLogarithmBase:d[g]._labels[1].position-
|
|
659
|
+
d[g].viewportMinimum)*Math.abs(d[g].conversionParameters.pixelPerUnit)+d[g].lineCoordinates.x1,l=d[g]._labels[d[g]._labels.length-("dateTime"===d[g].valueType?2:1)].position,l=d[g].getApparentDifference(d[g].viewportMinimum,l),B=d[g].logarithmic?(1<l?Math.log(l)/d[g].conversionParameters.lnLogarithmBase*Math.abs(d[g].conversionParameters.pixelPerUnit):0)+d[g].lineCoordinates.x1:(0<l?l*Math.abs(d[g].conversionParameters.pixelPerUnit):0)+d[g].lineCoordinates.x1);for(g=0;g<q.length;g++)"axisY"===q[g].type&&
|
|
660
|
+
(q[g].calculateValueToPixelConversionParameters(),q[g].calculateBreaksSizeInValues());if(0<w){if(a&&0<a.length)for(g=0;g<a.length;g++)r=M[w-1][g]===M[w][g]?!0:!1;else r=!0;if(d&&0<d.length)for(g=0;g<d.length;g++)G=Q[w-1][g]===Q[w][g]?!0:!1;else G=!0;if(c&&0<c.length)for(g=0;g<c.length;g++)J=N[w-1][g]===N[w][g]?!0:!1;else J=!0;if(b&&0<b.length)for(g=0;g<b.length;g++)K=P[w-1][g]===P[w][g]?!0:!1;else K=!0}if(r&&G&&J&&K)break;w++}if(a&&0<a.length)for(g=0;g<a.length;g++)a[g].calculateStripLinesThicknessInValues(),
|
|
661
|
+
a[g].calculateBreaksInPixels();if(d&&0<d.length)for(g=0;g<d.length;g++)d[g].calculateStripLinesThicknessInValues(),d[g].calculateBreaksInPixels();if(c&&0<c.length)for(g=0;g<c.length;g++)c[g].calculateStripLinesThicknessInValues(),c[g].calculateBreaksInPixels();if(b&&0<b.length)for(g=0;g<b.length;g++)b[g].calculateStripLinesThicknessInValues(),b[g].calculateBreaksInPixels()}else{p=[];D=[];E=[];v=[];B=[];u=[];M=[];for(Q=[];4>w;){W=U=T=Z=O=V=e=P=N=F=Y=0;if(a&&0<a.length)for(E=[],g=U=0;g<a.length;g++)E.push(Math.ceil(a[g]?
|
|
662
|
+
a[g].createLabelsAndCalculateWidth():0)),U+=E[g],e+=a[g]&&!m.isNavigator?a[g].margin:0;else E.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateWidth():0));M.push(E);if(d&&0<d.length)for(v=[],g=W=0;g<d.length;g++)v.push(Math.ceil(d[g]?d[g].createLabelsAndCalculateWidth():0)),W+=v[g],V+=d[g]?d[g].margin:0;else v.push(Math.ceil(d[0]?d[0].createLabelsAndCalculateWidth():0));Q.push(v);if(c&&0<c.length)for(g=0;g<c.length;g++)c[g].lineCoordinates={},l=Math.round(f.x1+U+e),n=Math.round(f.x2-W-V>m.width-10?
|
|
663
|
+
m.width-10:f.x2-W-V),c[g].labelAutoFit&&!s(y)&&(0<!a.length&&(l=0>c[g].labelAngle?Math.max(l,y):0===c[g].labelAngle?Math.max(l,y/2):l),0<!d.length&&(n=0<c[g].labelAngle?n-x/2:0===c[g].labelAngle?n-x/2:n)),c[g].lineCoordinates.x1=l,c[g].lineCoordinates.x2=n,c[g].lineCoordinates.width=Math.abs(n-l),c[g].title&&(c[g]._titleTextBlock.maxWidth=0<c[g].titleMaxWidth&&c[g].titleMaxWidth<c[g].lineCoordinates.width?c[g].titleMaxWidth:c[g].lineCoordinates.width);if(b&&0<b.length)for(g=0;g<b.length;g++)b[g].lineCoordinates=
|
|
664
|
+
{},l=Math.round(f.x1+U+e),n=Math.round(f.x2-W-V>b[g].chart.width-10?b[g].chart.width-10:f.x2-W-V),b[g]&&b[g].labelAutoFit&&!s(z)&&(0<!a.length&&(l=0<b[g].labelAngle?Math.max(l,z):0===b[g].labelAngle?Math.max(l,z/2):l),0<!d.length&&(n-=A/2)),b[g].lineCoordinates.x1=l,b[g].lineCoordinates.x2=n,b[g].lineCoordinates.width=Math.abs(n-l),b[g].title&&(b[g]._titleTextBlock.maxWidth=0<b[g].titleMaxWidth&&b[g].titleMaxWidth<b[g].lineCoordinates.width?b[g].titleMaxWidth:b[g].lineCoordinates.width);if(c&&0<c.length)for(p=
|
|
665
|
+
[],g=T=0;g<c.length;g++)p.push(Math.ceil(c[g]?c[g].createLabelsAndCalculateHeight():0)),T+=p[g]+c[g].margin,O+=c[g].margin;else p.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateHeight():0));B.push(p);if(b&&0<b.length)for(D=[],g=0;g<b.length;g++)D.push(Math.ceil(b[g]?b[g].createLabelsAndCalculateHeight():0)),Z+=b[g].margin;else D.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateHeight():0));u.push(D);if(c&&0<c.length)for(g=0;g<c.length;g++)0<c[g]._labels.length&&(k=c[g]._labels[0],h=c[g]._labels[c[g]._labels.length-
|
|
666
|
+
1],y=k.textBlock.width*Math.cos(Math.PI/180*Math.abs(k.textBlock.angle))+(k.textBlock.height-h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(k.textBlock.angle)),x=h.textBlock.width*Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+(h.textBlock.height-h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle)));if(b&&0<b.length)for(g=0;g<b.length;g++)b[g]&&0<b[g]._labels.length&&(k=b[g]._labels[0],h=b[g]._labels[b[g]._labels.length-1],z=k.textBlock.width*Math.cos(Math.PI/180*Math.abs(k.textBlock.angle))+
|
|
667
|
+
(k.textBlock.height-h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(k.textBlock.angle)),A=h.textBlock.width*Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+(h.textBlock.height-h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle)));if(m.panEnabled)for(g=0;g<c.length;g++)p[g]=s(m.sessionVariables.axisY[g].height)?m.sessionVariables.axisY[g].height=p[g]:m.sessionVariables.axisY[g].height;else for(g=0;g<c.length;g++)m.sessionVariables.axisY[g].height=p[g];if(c&&0<c.length)for(g=
|
|
668
|
+
c.length-1;0<=g;g--)h=Math.round(f.y2),k=Math.round(f.y2>c[g].chart.height?c[g].chart.height:f.y2),c[g].lineCoordinates.y1=h-(p[g]+c[g].margin+Y),c[g].lineCoordinates.y2=h-(p[g]+c[g].margin+Y),"inside"===c[g].labelPlacement&&0<g&&(c[g].lineCoordinates.y1=c[g].lineCoordinates.y1+p[g]-(c[g]._titleTextBlock?c[g]._titleTextBlock.height:0)-c[g].tickLength-(c[g].stripLineLabelEffectiveHeight||0)-5,c[g].lineCoordinates.y2=c[g].lineCoordinates.y1+c[g].lineThickness/2),"inside"===c[g].tickPlacement&&0<g&&
|
|
669
|
+
(c[g].lineCoordinates.y1+=c[g].tickLength,c[g].lineCoordinates.y2=c[g].lineCoordinates.y1+c[g].lineThickness/2),c[g].bounds={x1:l,y1:h-(p[g]+Y+c[g].margin),x2:n,y2:k-(Y+c[g].margin),width:n-l,height:p[g]},c[g].title&&(c[g]._titleTextBlock.maxWidth=0<c[g].titleMaxWidth&&c[g].titleMaxWidth<c[g].lineCoordinates.width?c[g].titleMaxWidth:c[g].lineCoordinates.width),Y+=p[g]+c[g].margin;if(b&&0<b.length)for(g=b.length-1;0<=g;g--)b[g]&&(h=Math.round(f.y1),k=Math.round(f.y1+(D[g]+b[g].margin+F)),b[g].lineCoordinates.y1=
|
|
670
|
+
k,b[g].lineCoordinates.y2=k,"inside"===b[g].labelPlacement&&0<g&&(b[g].lineCoordinates.y1=k-D[g]+(b[g]._titleTextBlock?b[g]._titleTextBlock.height:0)+b[g].tickLength+(b[g].stripLineLabelEffectiveHeight||0),b[g].lineCoordinates.y2=b[g].lineCoordinates.y1-b[g].lineThickness/2),"inside"===b[g].tickPlacement&&0<g&&(b[g].lineCoordinates.y1-=b[g].tickLength,b[g].lineCoordinates.y2=b[g].lineCoordinates.y1-b[g].lineThickness/2),b[g].bounds={x1:l,y1:h+(b[g].margin+F),x2:n,y2:k,width:n-l},b[g].bounds.height=
|
|
671
|
+
b[g].bounds.y2-b[g].bounds.y1,b[g].title&&(b[g]._titleTextBlock.maxWidth=0<b[g].titleMaxWidth&&b[g].titleMaxWidth<b[g].lineCoordinates.width?b[g].titleMaxWidth:b[g].lineCoordinates.width),F+=D[g]+b[g].margin);if(a&&0<a.length)for(g=0;g<a.length;g++){O=a[g]._labels&&0<a[g]._labels.length?a[g]._labels[0].textBlock.fontSize/2:0;l=Math.round(f.x1+e);h=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:f.y1<Math.max(O,10)?Math.max(O,10):f.y1):f.y1<Math.max(O,10)?Math.max(O,10):f.y1;n=Math.round(f.x1+
|
|
672
|
+
U+e);k=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:f.y2-T>m.height-Math.max(O,10)?m.height-Math.max(O,10):f.y2-T):f.y2>m.height-Math.max(O,10)?m.height-Math.max(O,10):f.y2;if(c&&0<c.length)for(O=0;O<c.length;O++)c[O]&&c[O].labelAutoFit&&(n=c[O].lineCoordinates.x1,l=0>c[O].labelAngle||0===c[O].labelAngle?n-U:l);if(b&&0<b.length)for(O=0;O<b.length;O++)b[O]&&b[O].labelAutoFit&&(n=b[O].lineCoordinates.x1,l=n-U);a[g].lineCoordinates={x1:n-N,y1:h,x2:n-N,y2:k,height:Math.abs(k-h)};"inside"===a[g].labelPlacement&&
|
|
673
|
+
0<g&&(a[g].lineCoordinates.x1=a[g].lineCoordinates.x1-(E[g]-(a[g]._titleTextBlock?a[g]._titleTextBlock.height:0))+a[g].tickLength+(a[g].stripLineLabelEffectiveWidth||0),a[g].lineCoordinates.x2=a[g].lineCoordinates.x1+a[g].lineThickness/2);"inside"===a[g].tickPlacement&&0<g&&(a[g].lineCoordinates.x1-=a[g].tickLength,a[g].lineCoordinates.x2=a[g].lineCoordinates.x1+a[g].lineThickness/2);a[g].bounds={x1:n-(E[g]+N),y1:h,x2:n-N,y2:k,height:k-h};a[g].bounds.width=a[g].bounds.x2-a[g].bounds.x1;a[g].title&&
|
|
674
|
+
(a[g]._titleTextBlock.maxWidth=0<a[g].titleMaxWidth&&a[g].titleMaxWidth<a[g].lineCoordinates.height?a[g].titleMaxWidth:a[g].lineCoordinates.height);a[g].calculateValueToPixelConversionParameters();a[g].calculateBreaksSizeInValues();N+=E[g]+a[g].margin}if(d&&0<d.length)for(g=0;g<d.length;g++){O=d[g]._labels&&0<d[g]._labels.length?d[g]._labels[0].textBlock.fontSize/2:0;l=Math.round(f.x1-e);h=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:f.y1<Math.max(O,10)?Math.max(O,10):f.y1):f.y1<Math.max(O,
|
|
675
|
+
10)?Math.max(O,10):f.y1;n=Math.round(f.x2-W-V);k=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:f.y2-T>m.height-Math.max(O,10)?m.height-Math.max(O,10):f.y2-T):f.y2>m.height-Math.max(O,10)?m.height-Math.max(O,10):f.y2;if(c&&0<c.length)for(O=0;O<c.length;O++)c[O]&&c[O].labelAutoFit&&(n=0>c[O].labelAngle?Math.max(n,y):0===c[O].labelAngle?Math.max(n,y/2):n,l=0>c[O].labelAngle||0===c[O].labelAngle?n-W:l);if(b&&0<b.length)for(O=0;O<b.length;O++)b[O]&&b[O].labelAutoFit&&(n=b[O].lineCoordinates.x2,
|
|
676
|
+
l=n-W);d[g].lineCoordinates={x1:n+P,y1:h,x2:n+P,y2:k,height:Math.abs(k-h)};"inside"===d[g].labelPlacement&&0<g&&(d[g].lineCoordinates.x1=d[g].lineCoordinates.x1+(v[g]-(d[g]._titleTextBlock?d[g]._titleTextBlock.height:0)-2)-d[g].tickLength-(d[g].stripLineLabelEffectiveWidth||0),d[g].lineCoordinates.x2=d[g].lineCoordinates.x1+d[g].lineThickness/2);"inside"===d[g].tickPlacement&&0<g&&(d[g].lineCoordinates.x1+=d[g].tickLength,d[g].lineCoordinates.x2=d[g].lineCoordinates.x1+d[g].lineThickness/2);d[g].bounds=
|
|
677
|
+
{x1:d[g].lineCoordinates.x1,y1:h,x2:n+v[g]+P,y2:k,width:n-l,height:k-h};d[g].bounds.width=d[g].bounds.x2-d[g].bounds.x1;d[g].title&&(d[g]._titleTextBlock.maxWidth=0<d[g].titleMaxWidth&&d[g].titleMaxWidth<d[g].lineCoordinates.height?d[g].titleMaxWidth:d[g].lineCoordinates.height);d[g].calculateValueToPixelConversionParameters();d[g].calculateBreaksSizeInValues();P+=v[g]+d[g].margin}for(g=0;g<q.length;g++)"axisY"===q[g].type&&(q[g].calculateValueToPixelConversionParameters(),q[g].calculateBreaksSizeInValues());
|
|
678
|
+
if(0<w){if(a&&0<a.length)for(g=0;g<a.length;g++)r=M[w-1][g]===M[w][g]?!0:!1;else r=!0;if(d&&0<d.length)for(g=0;g<d.length;g++)G=Q[w-1][g]===Q[w][g]?!0:!1;else G=!0;if(c&&0<c.length)for(g=0;g<c.length;g++)J=B[w-1][g]===B[w][g]?!0:!1;else J=!0;if(b&&0<b.length)for(g=0;g<b.length;g++)K=u[w-1][g]===u[w][g]?!0:!1;else K=!0}if(r&&G&&J&&K)break;w++}if(c&&0<c.length)for(g=0;g<c.length;g++)c[g].calculateStripLinesThicknessInValues(),c[g].calculateBreaksInPixels();if(b&&0<b.length)for(g=0;g<b.length;g++)b[g].calculateStripLinesThicknessInValues(),
|
|
679
|
+
b[g].calculateBreaksInPixels();if(a&&0<a.length)for(g=0;g<a.length;g++)a[g].calculateStripLinesThicknessInValues(),a[g].calculateBreaksInPixels();if(d&&0<d.length)for(g=0;g<d.length;g++)d[g].calculateStripLinesThicknessInValues(),d[g].calculateBreaksInPixels()}};A.render=function(a,d,c,b,e){var f=a[0]?a[0].chart:d[0].chart;e=f.ctx;f.alignVerticalAxes&&f.alignVerticalAxes();e.save();e.beginPath();a&&a.length&&e.rect(5,a[0].bounds.y1,a[0].chart.width-10,a[a.length-1].bounds.y2);d&&d.length&&e.rect(5,
|
|
680
|
+
d[d.length-1].bounds.y1,d[0].chart.width-10,d[0].bounds.y2);e.clip();if(a&&0<a.length)for(var l=0;l<a.length;l++)a[l].renderLabelsTicksAndTitle();if(d&&0<d.length)for(l=0;l<d.length;l++)d[l].renderLabelsTicksAndTitle();e.restore();if(c&&0<c.length)for(l=0;l<c.length;l++)c[l].renderLabelsTicksAndTitle();if(b&&0<b.length)for(l=0;l<b.length;l++)b[l].renderLabelsTicksAndTitle();f.preparePlotArea();f=f.plotArea;e.save();e.beginPath();e.rect(f.x1,f.y1,Math.abs(f.x2-f.x1),Math.abs(f.y2-f.y1));e.clip();if(a&&
|
|
681
|
+
0<a.length)for(l=0;l<a.length;l++)a[l].renderStripLinesOfThicknessType("value");if(d&&0<d.length)for(l=0;l<d.length;l++)d[l].renderStripLinesOfThicknessType("value");if(c&&0<c.length)for(l=0;l<c.length;l++)c[l].renderStripLinesOfThicknessType("value");if(b&&0<b.length)for(l=0;l<b.length;l++)b[l].renderStripLinesOfThicknessType("value");if(a&&0<a.length)for(l=0;l<a.length;l++)a[l].renderInterlacedColors();if(d&&0<d.length)for(l=0;l<d.length;l++)d[l].renderInterlacedColors();if(c&&0<c.length)for(l=
|
|
682
|
+
0;l<c.length;l++)c[l].renderInterlacedColors();if(b&&0<b.length)for(l=0;l<b.length;l++)b[l].renderInterlacedColors();e.restore();if(a&&0<a.length)for(l=0;l<a.length;l++)a[l].renderGrid(),w&&(a[l].createMask(),a[l].renderBreaksBackground());if(d&&0<d.length)for(l=0;l<d.length;l++)d[l].renderGrid(),w&&(d[l].createMask(),d[l].renderBreaksBackground());if(c&&0<c.length)for(l=0;l<c.length;l++)c[l].renderGrid(),w&&(c[l].createMask(),c[l].renderBreaksBackground());if(b&&0<b.length)for(l=0;l<b.length;l++)b[l].renderGrid(),
|
|
683
|
+
w&&(b[l].createMask(),b[l].renderBreaksBackground());if(a&&0<a.length)for(l=0;l<a.length;l++)a[l].renderAxisLine();if(d&&0<d.length)for(l=0;l<d.length;l++)d[l].renderAxisLine();if(c&&0<c.length)for(l=0;l<c.length;l++)c[l].renderAxisLine();if(b&&0<b.length)for(l=0;l<b.length;l++)b[l].renderAxisLine();if(a&&0<a.length)for(l=0;l<a.length;l++)a[l].renderStripLinesOfThicknessType("pixel");if(d&&0<d.length)for(l=0;l<d.length;l++)d[l].renderStripLinesOfThicknessType("pixel");if(c&&0<c.length)for(l=0;l<c.length;l++)c[l].renderStripLinesOfThicknessType("pixel");
|
|
684
|
+
if(b&&0<b.length)for(l=0;l<b.length;l++)b[l].renderStripLinesOfThicknessType("pixel")};A.prototype.calculateStripLinesThicknessInValues=function(){for(var a=0;a<this.stripLines.length;a++)if(null!==this.stripLines[a].startValue&&null!==this.stripLines[a].endValue){var d=Math.min(this.stripLines[a].startValue,this.stripLines[a].endValue),c=Math.max(this.stripLines[a].startValue,this.stripLines[a].endValue),d=this.getApparentDifference(d,c);this.stripLines[a].value=this.logarithmic?this.stripLines[a].value*
|
|
685
|
+
Math.sqrt(Math.log(Math.max(this.stripLines[a].startValue,this.stripLines[a].endValue)/Math.min(this.stripLines[a].startValue,this.stripLines[a].endValue))/Math.log(d)):this.stripLines[a].value+(Math.abs(this.stripLines[a].endValue-this.stripLines[a].startValue)-d)/2;this.stripLines[a].thickness=d;this.stripLines[a]._thicknessType="value"}};A.prototype.calculateBreaksSizeInValues=function(){for(var a="left"===this._position||"right"===this._position?this.lineCoordinates.height||this.chart.height:
|
|
686
|
+
this.lineCoordinates.width||this.chart.width,d=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],c=this.conversionParameters.pixelPerUnit||a/(this.logarithmic?this.conversionParameters.maximum/this.conversionParameters.minimum:this.conversionParameters.maximum-this.conversionParameters.minimum),b=this.scaleBreaks&&!s(this.scaleBreaks.options.spacing),e,f=0;f<d.length;f++)e=b||!s(d[f].options.spacing),d[f].spacing=Ta(d[f].spacing,a,8,e?0.1*a:8,e?0:3)<<0,d[f].size=0>d[f].spacing?0:Math.abs(d[f].spacing/
|
|
687
|
+
c),this.logarithmic&&(d[f].size=Math.pow(this.logarithmBase,d[f].size))};A.prototype.calculateBreaksInPixels=function(){if(!(this.scaleBreaks&&0>=this.scaleBreaks._appliedBreaks.length)){var a=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];a.length&&(this.scaleBreaks.firstBreakIndex=this.scaleBreaks.lastBreakIndex=null);for(var d=0;d<a.length&&!(a[d].startValue>this.conversionParameters.maximum);d++)a[d].endValue<this.conversionParameters.minimum||(s(this.scaleBreaks.firstBreakIndex)&&(this.scaleBreaks.firstBreakIndex=
|
|
688
|
+
d),a[d].startValue>=this.conversionParameters.minimum&&(a[d].startPixel=this.convertValueToPixel(a[d].startValue),this.scaleBreaks.lastBreakIndex=d),a[d].endValue<=this.conversionParameters.maximum&&(a[d].endPixel=this.convertValueToPixel(a[d].endValue)))}};A.prototype.renderLabelsTicksAndTitle=function(){var a=this,d=!1,c=0,b=0,e=1,f=0;0!==this.labelAngle&&360!==this.labelAngle&&(e=1.2);if("undefined"===typeof this.options.interval){if("bottom"===this._position||"top"===this._position)if(this.logarithmic&&
|
|
689
|
+
!this.equidistantInterval&&this.labelAutoFit){for(var c=[],e=0!==this.labelAngle&&360!==this.labelAngle?1:1.2,l,h=this.viewportMaximum,n=this.lineCoordinates.width/Math.log(this.range),k=this._labels.length-1;0<=k;k--){p=this._labels[k];if(p.position<this.viewportMinimum)break;p.position>this.viewportMaximum||!(k===this._labels.length-1||l<Math.log(h/p.position)*n/e)||(c.push(p),h=p.position,l=p.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.height*Math.abs(Math.sin(Math.PI/
|
|
690
|
+
180*this.labelAngle)))}this._labels=c}else{for(k=0;k<this._labels.length;k++)p=this._labels[k],p.position<this.viewportMinimum||(l=p.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),c+=l);c>this.lineCoordinates.width*e&&this.labelAutoFit&&(d=!0)}if("left"===this._position||"right"===this._position)if(this.logarithmic&&!this.equidistantInterval&&this.labelAutoFit){for(var c=[],m,h=this.viewportMaximum,n=this.lineCoordinates.height/
|
|
691
|
+
Math.log(this.range),k=this._labels.length-1;0<=k;k--){p=this._labels[k];if(p.position<this.viewportMinimum)break;p.position>this.viewportMaximum||!(k===this._labels.length-1||m<Math.log(h/p.position)*n)||(c.push(p),h=p.position,m=p.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(k=0;k<this._labels.length;k++)p=this._labels[k],p.position<this.viewportMinimum||(m=p.textBlock.height*Math.abs(Math.cos(Math.PI/
|
|
692
|
+
180*this.labelAngle))+p.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),b+=m);b>this.lineCoordinates.height*e&&this.labelAutoFit&&(d=!0)}}this.logarithmic&&(!this.equidistantInterval&&this.labelAutoFit)&&this._labels.sort(function(a,b){return a.position-b.position});var k=0,p,q;if("bottom"===this._position){for(k=0;k<this._labels.length;k++)p=this._labels[k],p.position<this.viewportMinimum||p.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&
|
|
693
|
+
"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(q.x<<0)+0.5:q.x<<0,this.ctx.beginPath(),this.ctx.moveTo(b,q.y<<0),this.ctx.lineTo(b,q.y+this.tickLength<<0),this.ctx.stroke()),d&&0!==f++%2&&this.labelAutoFit||(0===p.textBlock.angle?(q.x-=p.textBlock.width/2,q.y="inside"===this.labelPlacement?q.y-(("inside"===this.tickPlacement?this.tickLength:0)+p.textBlock.height-p.textBlock.fontSize/2):q.y+("inside"===this.tickPlacement?
|
|
694
|
+
0:this.tickLength)+p.textBlock.fontSize/2+5):(q.x="inside"===this.labelPlacement?0>this.labelAngle?q.x:q.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):q.x-(0>this.labelAngle?p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0),q.y="inside"===this.labelPlacement?0>this.labelAngle?q.y-("inside"===this.tickPlacement?this.tickLength:0)-5:q.y-("inside"===this.tickPlacement?this.tickLength:0)-Math.abs(p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+5):q.y+("inside"===this.tickPlacement?
|
|
695
|
+
0:this.tickLength)+Math.abs(0>this.labelAngle?p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-5:5)),p.textBlock.x=q.x,p.textBlock.y=q.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(k=0;k<a._labels.length;k++)if(p=a._labels[k],!(p.position<a.viewportMinimum||p.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(p.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%
|
|
696
|
+
2?(q.x<<0)+0.5:q.x<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(b,q.y<<0);a.ctx.lineTo(b,q.y-a.tickLength<<0);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.lineCoordinates.x1+this.lineCoordinates.width/2-this._titleTextBlock.width/2,this._titleTextBlock.y=this.bounds.y2-this._titleTextBlock.height-3,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("top"===this._position){for(k=0;k<this._labels.length;k++)p=
|
|
697
|
+
this._labels[k],p.position<this.viewportMinimum||p.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(q.x<<0)+0.5:q.x<<0,this.ctx.beginPath(),this.ctx.moveTo(b,q.y<<0),this.ctx.lineTo(b,q.y-this.tickLength<<0),this.ctx.stroke()),d&&0!==f++%2&&this.labelAutoFit||(0===p.textBlock.angle?(q.x-=p.textBlock.width/2,q.y="inside"===
|
|
698
|
+
this.labelPlacement?q.y+this.labelFontSize/2+("inside"===this.tickPlacement?this.tickLength:0)+5:q.y-(("inside"===this.tickPlacement?0:this.tickLength)+p.textBlock.height-p.textBlock.fontSize/2)):(q.x="inside"===this.labelPlacement?0<this.labelAngle?q.x:q.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):q.x+(p.textBlock.height-this.labelFontSize)*Math.sin(Math.PI/180*this.labelAngle)-(0<this.labelAngle?p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0),q.y="inside"===this.labelPlacement?
|
|
699
|
+
0<this.labelAngle?q.y+("inside"===this.tickPlacement?this.tickLength:0)+5:q.y-p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?this.tickLength:0)+5:q.y-(("inside"===this.tickPlacement?0:this.tickLength)+((p.textBlock.height-p.textBlock.fontSize/2)*Math.cos(Math.PI/180*this.labelAngle)+(0<this.labelAngle?p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):0)))),p.textBlock.x=q.x,p.textBlock.y=q.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",
|
|
700
|
+
function(){for(k=0;k<a._labels.length;k++)if(p=a._labels[k],!(p.position<a.viewportMinimum||p.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(p.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.x<<0)+0.5:q.x<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(b,q.y<<0);a.ctx.lineTo(b,q.y+a.tickLength<<0);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.lineCoordinates.x1+
|
|
701
|
+
this.lineCoordinates.width/2-this._titleTextBlock.width/2,this._titleTextBlock.y=this.bounds.y1+1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("left"===this._position){for(k=0;k<this._labels.length;k++)p=this._labels[k],p.position<this.viewportMinimum||p.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,
|
|
702
|
+
b=1===this.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0,this.ctx.beginPath(),this.ctx.moveTo(q.x<<0,b),this.ctx.lineTo(q.x-this.tickLength<<0,b),this.ctx.stroke()),d&&0!==f++%2&&this.labelAutoFit||(0===this.labelAngle?(p.textBlock.y=q.y,p.textBlock.x="inside"===this.labelPlacement?q.x+("inside"===this.tickPlacement?this.tickLength:0)+5:q.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5):(p.textBlock.y="inside"===this.labelPlacement?q.y:q.y-p.textBlock.width*
|
|
703
|
+
Math.sin(Math.PI/180*this.labelAngle),p.textBlock.x="inside"===this.labelPlacement?q.x+("inside"===this.tickPlacement?this.tickLength:0)+5:0<this.labelAngle?q.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5:q.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+(p.textBlock.height-p.textBlock.fontSize/2-5)*Math.sin(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength))));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",
|
|
704
|
+
function(){for(k=0;k<a._labels.length;k++)if(p=a._labels[k],!(p.position<a.viewportMinimum||p.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(p.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(q.x<<0,b);a.ctx.lineTo(q.x+a.tickLength<<0,b);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.bounds.x1+
|
|
705
|
+
1,this._titleTextBlock.y=this.lineCoordinates.height/2+this._titleTextBlock.width/2+this.lineCoordinates.y1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("right"===this._position){for(k=0;k<this._labels.length;k++)p=this._labels[k],p.position<this.viewportMinimum||p.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,
|
|
706
|
+
b=1===this.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0,this.ctx.beginPath(),this.ctx.moveTo(q.x<<0,b),this.ctx.lineTo(q.x+this.tickLength<<0,b),this.ctx.stroke()),d&&0!==f++%2&&this.labelAutoFit||(0===this.labelAngle?(p.textBlock.y=q.y,p.textBlock.x="inside"===this.labelPlacement?q.x-p.textBlock.width-("inside"===this.tickPlacement?this.tickLength:0)-5:q.x+("inside"===this.tickPlacement?0:this.tickLength)+5):(p.textBlock.y="inside"===this.labelPlacement?q.y-p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):
|
|
707
|
+
0>this.labelAngle?q.y:q.y-(p.textBlock.height-p.textBlock.fontSize/2-5)*Math.cos(Math.PI/180*this.labelAngle),p.textBlock.x="inside"===this.labelPlacement?q.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?this.tickLength:0)-5:0<this.labelAngle?q.x+(p.textBlock.height-p.textBlock.fontSize/2-5)*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?0:this.tickLength):q.x+("inside"===this.tickPlacement?0:this.tickLength)+5)));"inside"===this.tickPlacement&&
|
|
708
|
+
this.chart.addEventListener("dataAnimationIterationEnd",function(){for(k=0;k<a._labels.length;k++)if(p=a._labels[k],!(p.position<a.viewportMinimum||p.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(p.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(q.x<<0,b);a.ctx.lineTo(q.x-a.tickLength<<0,b);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),
|
|
709
|
+
this._titleTextBlock.x=this.bounds.x2-1,this._titleTextBlock.y=this.lineCoordinates.height/2-this._titleTextBlock.width/2+this.lineCoordinates.y1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}f=0;if("inside"===this.labelPlacement)this.chart.addEventListener("dataAnimationIterationEnd",function(){for(k=0;k<a._labels.length;k++)p=a._labels[k],p.position<a.viewportMinimum||(p.position>a.viewportMaximum||d&&0!==f++%2&&a.labelAutoFit)||(a.ctx.save(),a.ctx.beginPath(),
|
|
710
|
+
p.textBlock.render(!0),a.ctx.restore())},this);else for(k=0;k<this._labels.length;k++)p=this._labels[k],p.position<this.viewportMinimum||(p.position>this.viewportMaximum||d&&0!==f++%2&&this.labelAutoFit)||p.textBlock.render(!0)};A.prototype.renderInterlacedColors=function(){var a=this.chart.plotArea.ctx,d,c,b=this.chart.plotArea,e=0;d=!0;if(("bottom"===this._position||"top"===this._position)&&this.interlacedColor)for(a.fillStyle=this.interlacedColor,e=0;e<this._labels.length;e++)d?(d=this.getPixelCoordinatesOnAxis(this._labels[e].position),
|
|
711
|
+
c=e+1>this._labels.length-1?this.getPixelCoordinatesOnAxis(this.viewportMaximum):this.getPixelCoordinatesOnAxis(this._labels[e+1].position),a.fillRect(Math.min(c.x,d.x),b.y1,Math.abs(c.x-d.x),Math.abs(b.y1-b.y2)),d=!1):d=!0;else if(("left"===this._position||"right"===this._position)&&this.interlacedColor)for(a.fillStyle=this.interlacedColor,e=0;e<this._labels.length;e++)d?(c=this.getPixelCoordinatesOnAxis(this._labels[e].position),d=e+1>this._labels.length-1?this.getPixelCoordinatesOnAxis(this.viewportMaximum):
|
|
712
|
+
this.getPixelCoordinatesOnAxis(this._labels[e+1].position),a.fillRect(b.x1,Math.min(c.y,d.y),Math.abs(b.x1-b.x2),Math.abs(d.y-c.y)),d=!1):d=!0;a.beginPath()};A.prototype.renderStripLinesOfThicknessType=function(a){if(this.stripLines&&0<this.stripLines.length&&a){for(var d=this,c,b=0,e=0,f=!1,l=!1,h=[],n=[],l=!1,b=0;b<this.stripLines.length;b++){var k=this.stripLines[b];k._thicknessType===a&&("pixel"===a&&(k.value<this.viewportMinimum||k.value>this.viewportMaximum||s(k.value)||isNaN(this.range))||
|
|
713
|
+
"value"===a&&(k.startValue<=this.viewportMinimum&&k.endValue<=this.viewportMinimum||k.startValue>=this.viewportMaximum&&k.endValue>=this.viewportMaximum||s(k.startValue)||s(k.endValue)||isNaN(this.range))||h.push(k))}for(b=0;b<this._stripLineLabels.length;b++)if(k=this.stripLines[b],c=this._stripLineLabels[b],!(c.position<this.viewportMinimum||c.position>this.viewportMaximum||isNaN(this.range))){a=this.getPixelCoordinatesOnAxis(c.position);if("outside"===c.stripLine.labelPlacement)if(k&&(this.ctx.strokeStyle=
|
|
714
|
+
k.color,this.ctx.lineWidth="pixel"===k._thicknessType?k.thickness:this.tickThickness),"bottom"===this._position){var m=1===this.ctx.lineWidth%2?(a.x<<0)+0.5:a.x<<0;this.ctx.beginPath();this.ctx.moveTo(m,a.y<<0);this.ctx.lineTo(m,a.y+this.tickLength<<0);this.ctx.stroke();0===this.labelAngle?(a.x-=c.textBlock.width/2,a.y+=this.tickLength+c.textBlock.fontSize/2+5):(a.x-=0>this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0,a.y+=this.tickLength+Math.abs(0>this.labelAngle?c.textBlock.width*
|
|
715
|
+
Math.sin(Math.PI/180*this.labelAngle)-5:5))}else"top"===this._position?(m=1===this.ctx.lineWidth%2?(a.x<<0)+0.5:a.x<<0,this.ctx.beginPath(),this.ctx.moveTo(m,a.y<<0),this.ctx.lineTo(m,a.y-this.tickLength<<0),this.ctx.stroke(),0===this.labelAngle?(a.x-=c.textBlock.width/2,a.y-=this.tickLength+c.textBlock.height-c.textBlock.fontSize/2):(a.x+=(c.textBlock.height-this.tickLength-this.labelFontSize/2)*Math.sin(Math.PI/180*this.labelAngle)-(0<this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):
|
|
716
|
+
0),a.y-=this.tickLength+(c.textBlock.height*Math.cos(Math.PI/180*this.labelAngle)+(0<this.labelAngle?c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):0)))):"left"===this._position?(m=1===this.ctx.lineWidth%2?(a.y<<0)+0.5:a.y<<0,this.ctx.beginPath(),this.ctx.moveTo(a.x<<0,m),this.ctx.lineTo(a.x-this.tickLength<<0,m),this.ctx.stroke(),0===this.labelAngle?a.x=a.x-c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-this.tickLength-5:(a.y-=c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle),
|
|
717
|
+
a.x=0<this.labelAngle?a.x-c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-this.tickLength-5:a.x-c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+(c.textBlock.height-c.textBlock.fontSize/2-5)*Math.sin(Math.PI/180*this.labelAngle)-this.tickLength)):"right"===this._position&&(m=1===this.ctx.lineWidth%2?(a.y<<0)+0.5:a.y<<0,this.ctx.beginPath(),this.ctx.moveTo(a.x<<0,m),this.ctx.lineTo(a.x+this.tickLength<<0,m),this.ctx.stroke(),0===this.labelAngle?a.x=a.x+this.tickLength+5:(a.y=0>this.labelAngle?
|
|
718
|
+
a.y:a.y-(c.textBlock.height-c.textBlock.fontSize/2-5)*Math.cos(Math.PI/180*this.labelAngle),a.x=0<this.labelAngle?a.x+(c.textBlock.height-c.textBlock.fontSize/2-5)*Math.sin(Math.PI/180*this.labelAngle)+this.tickLength:a.x+this.tickLength+5));else c.textBlock.angle=-90,"bottom"===this._position?(c.textBlock.maxWidth=this.options.stripLines[b].labelMaxWidth?this.options.stripLines[b].labelMaxWidth:this.chart.plotArea.height-3,c.textBlock.measureText(),a.x-c.textBlock.height-k.thickness/2>this.chart.plotArea.x1?
|
|
719
|
+
s(k.startValue)?a.x-=c.textBlock.height-c.textBlock.fontSize/2+k.thickness/2:a.x-=c.textBlock.height/2-c.textBlock.fontSize/2:(c.textBlock.angle=90,s(k.startValue)?a.x+=c.textBlock.height-c.textBlock.fontSize/2+k.thickness/2:a.x+=c.textBlock.height/2-c.textBlock.fontSize/2),a.y=-90===c.textBlock.angle?"near"===c.stripLine.labelAlign?this.chart.plotArea.y2-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1+c.textBlock.width)/2:this.chart.plotArea.y1+c.textBlock.width+
|
|
720
|
+
3:"near"===c.stripLine.labelAlign?this.chart.plotArea.y2-c.textBlock.width-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1-c.textBlock.width)/2:this.chart.plotArea.y1+3):"top"===this._position?(c.textBlock.maxWidth=this.options.stripLines[b].labelMaxWidth?this.options.stripLines[b].labelMaxWidth:this.chart.plotArea.height-3,c.textBlock.measureText(),a.x-c.textBlock.height-k.thickness/2>this.chart.plotArea.x1?s(k.startValue)?a.x-=c.textBlock.height-c.textBlock.fontSize/
|
|
721
|
+
2+k.thickness/2:a.x-=c.textBlock.height/2-c.textBlock.fontSize/2:(c.textBlock.angle=90,s(k.startValue)?a.x+=c.textBlock.height-c.textBlock.fontSize/2+k.thickness/2:a.x+=c.textBlock.height/2-c.textBlock.fontSize/2),a.y=-90===c.textBlock.angle?"near"===c.stripLine.labelAlign?this.chart.plotArea.y1+c.textBlock.width+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1+c.textBlock.width)/2:this.chart.plotArea.y2-3:"near"===c.stripLine.labelAlign?this.chart.plotArea.y1+3:
|
|
722
|
+
"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1-c.textBlock.width)/2:this.chart.plotArea.y2-c.textBlock.width-3):"left"===this._position?(c.textBlock.maxWidth=this.options.stripLines[b].labelMaxWidth?this.options.stripLines[b].labelMaxWidth:this.chart.plotArea.width-3,c.textBlock.angle=0,c.textBlock.measureText(),a.y-c.textBlock.height-k.thickness/2>this.chart.plotArea.y1?s(k.startValue)?a.y-=c.textBlock.height-c.textBlock.fontSize/2+k.thickness/2:a.y-=c.textBlock.height/
|
|
723
|
+
2-c.textBlock.fontSize/2:s(k.startValue)?a.y+=c.textBlock.height-c.textBlock.fontSize/2+k.thickness/2:a.y+=c.textBlock.height/2-c.textBlock.fontSize+3,a.x="near"===c.stripLine.labelAlign?this.chart.plotArea.x1+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.x2+this.chart.plotArea.x1)/2-c.textBlock.width/2:this.chart.plotArea.x2-c.textBlock.width-3):"right"===this._position&&(c.textBlock.maxWidth=this.options.stripLines[b].labelMaxWidth?this.options.stripLines[b].labelMaxWidth:this.chart.plotArea.width-
|
|
724
|
+
3,c.textBlock.angle=0,c.textBlock.measureText(),a.y-c.textBlock.height-k.thickness/2>this.chart.plotArea.y1?s(k.startValue)?a.y-=c.textBlock.height-c.textBlock.fontSize/2+k.thickness/2:a.y-=c.textBlock.height/2-c.textBlock.fontSize/2:s(k.startValue)?a.y+=c.textBlock.height-c.textBlock.fontSize/2+k.thickness/2:a.y-=c.textBlock.height/2-c.textBlock.fontSize/2+3,a.x="near"===c.stripLine.labelAlign?this.chart.plotArea.x2-c.textBlock.width-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.x2+this.chart.plotArea.x1)/
|
|
725
|
+
2-c.textBlock.width/2:this.chart.plotArea.x1+3);c.textBlock.x=a.x;c.textBlock.y=a.y;n.push(c)}if(!l){l=!1;this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();for(b=0;b<h.length;b++)k=h[b],k.showOnTop?f||(f=!0,this.chart.addEventListener("dataAnimationIterationEnd",function(){this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,
|
|
726
|
+
this.chart.plotArea.height);this.ctx.clip();for(e=0;e<h.length;e++)k=h[e],k.showOnTop&&k.render();this.ctx.restore()},k)):k.render();for(b=0;b<n.length;b++)c=n[b],c.stripLine.showOnTop?l||(l=!0,this.chart.addEventListener("dataAnimationIterationEnd",function(){for(e=0;e<n.length;e++)c=n[e],"inside"===c.stripLine.labelPlacement&&c.stripLine.showOnTop&&(d.ctx.save(),d.ctx.beginPath(),d.ctx.rect(d.chart.plotArea.x1,d.chart.plotArea.y1,d.chart.plotArea.width,d.chart.plotArea.height),d.ctx.clip(),c.textBlock.render(!0),
|
|
727
|
+
d.ctx.restore())},c.textBlock)):"inside"===c.stripLine.labelPlacement&&c.textBlock.render(!0);this.ctx.restore();l=!0}if(l)for(l=!1,b=0;b<n.length;b++)c=n[b],"outside"===c.stripLine.labelPlacement&&c.textBlock.render(!0)}};A.prototype.renderBreaksBackground=function(){this.chart._breaksCanvas&&(this.scaleBreaks&&0<this.scaleBreaks._appliedBreaks.length&&this.maskCanvas)&&(this.chart._breaksCanvasCtx.save(),this.chart._breaksCanvasCtx.beginPath(),this.chart._breaksCanvasCtx.rect(this.chart.plotArea.x1,
|
|
728
|
+
this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height),this.chart._breaksCanvasCtx.clip(),this.chart._breaksCanvasCtx.drawImage(this.maskCanvas,0,0,this.chart.width,this.chart.height),this.chart._breaksCanvasCtx.restore())};A.prototype.createMask=function(){if(this.scaleBreaks&&0<this.scaleBreaks._appliedBreaks.length){var a=this.scaleBreaks._appliedBreaks;w?(this.maskCanvas=ua(this.chart.width,this.chart.height),this.maskCtx=this.maskCanvas.getContext("2d")):(this.maskCanvas=
|
|
729
|
+
this.chart.plotArea.canvas,this.maskCtx=this.chart.plotArea.ctx);this.maskCtx.save();this.maskCtx.beginPath();this.maskCtx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.maskCtx.clip();for(var d=0;d<a.length;d++)a[d].endValue<this.viewportMinimum||(a[d].startValue>this.viewportMaximum||isNaN(this.range))||a[d].render(this.maskCtx);this.maskCtx.restore()}};A.prototype.renderCrosshair=function(a,d){isFinite(this.minimum)&&isFinite(this.maximum)&&
|
|
730
|
+
this.crosshair.render(a,d)};A.prototype.showCrosshair=function(a){s(a)||(a<this.viewportMinimum||a>this.viewportMaximum)||("top"===this._position||"bottom"===this._position?this.crosshair.render(this.convertValueToPixel(a),null,a):this.crosshair.render(null,this.convertValueToPixel(a),a))};A.prototype.renderGrid=function(){if(this.gridThickness&&0<this.gridThickness){var a=this.chart.ctx;a.save();var d,c=this.chart.plotArea;a.lineWidth=this.gridThickness;a.strokeStyle=this.gridColor;a.setLineDash&&
|
|
731
|
+
a.setLineDash(J(this.gridDashType,this.gridThickness));if("bottom"===this._position||"top"===this._position)for(b=0;b<this._labels.length;b++)this._labels[b].position<this.viewportMinimum||(this._labels[b].position>this.viewportMaximum||this._labels[b].breaksLabelType)||(a.beginPath(),d=this.getPixelCoordinatesOnAxis(this._labels[b].position),d=1===a.lineWidth%2?(d.x<<0)+0.5:d.x<<0,a.moveTo(d,c.y1<<0),a.lineTo(d,c.y2<<0),a.stroke());else if("left"===this._position||"right"===this._position)for(var b=
|
|
732
|
+
0;b<this._labels.length;b++)this._labels[b].position<this.viewportMinimum||(this._labels[b].position>this.viewportMaximum||this._labels[b].breaksLabelType)||(a.beginPath(),d=this.getPixelCoordinatesOnAxis(this._labels[b].position),d=1===a.lineWidth%2?(d.y<<0)+0.5:d.y<<0,a.moveTo(c.x1<<0,d),a.lineTo(c.x2<<0,d),a.stroke());a.restore()}};A.prototype.renderAxisLine=function(){var a=this.chart.ctx,d=w?this.chart._preRenderCtx:a,c=Math.ceil(this.tickThickness/(this.reversed?-2:2)),b=Math.ceil(this.tickThickness/
|
|
733
|
+
(this.reversed?2:-2)),e,f;d.save();if("bottom"===this._position||"top"===this._position){if(this.lineThickness){this.reversed?(e=this.lineCoordinates.x2,f=this.lineCoordinates.x1):(e=this.lineCoordinates.x1,f=this.lineCoordinates.x2);d.lineWidth=this.lineThickness;d.strokeStyle=this.lineColor?this.lineColor:"black";d.setLineDash&&d.setLineDash(J(this.lineDashType,this.lineThickness));var l=1===this.lineThickness%2?(this.lineCoordinates.y1<<0)+0.5:this.lineCoordinates.y1<<0;d.beginPath();if(this.scaleBreaks&&
|
|
734
|
+
!s(this.scaleBreaks.firstBreakIndex))if(s(this.scaleBreaks.lastBreakIndex))e=this.scaleBreaks._appliedBreaks[this.scaleBreaks.firstBreakIndex].endPixel+b;else for(var h=this.scaleBreaks.firstBreakIndex;h<=this.scaleBreaks.lastBreakIndex;h++)d.moveTo(e,l),d.lineTo(this.scaleBreaks._appliedBreaks[h].startPixel+c,l),e=this.scaleBreaks._appliedBreaks[h].endPixel+b;e&&(d.moveTo(e,l),d.lineTo(f,l));d.stroke()}}else if(("left"===this._position||"right"===this._position)&&this.lineThickness){this.reversed?
|
|
735
|
+
(e=this.lineCoordinates.y1,f=this.lineCoordinates.y2):(e=this.lineCoordinates.y2,f=this.lineCoordinates.y1);d.lineWidth=this.lineThickness;d.strokeStyle=this.lineColor;d.setLineDash&&d.setLineDash(J(this.lineDashType,this.lineThickness));l=1===this.lineThickness%2?(this.lineCoordinates.x1<<0)+0.5:this.lineCoordinates.x1<<0;d.beginPath();if(this.scaleBreaks&&!s(this.scaleBreaks.firstBreakIndex))if(s(this.scaleBreaks.lastBreakIndex))e=this.scaleBreaks._appliedBreaks[this.scaleBreaks.firstBreakIndex].endPixel+
|
|
736
|
+
c;else for(h=this.scaleBreaks.firstBreakIndex;h<=this.scaleBreaks.lastBreakIndex;h++)d.moveTo(l,e),d.lineTo(l,this.scaleBreaks._appliedBreaks[h].startPixel+b),e=this.scaleBreaks._appliedBreaks[h].endPixel+c;e&&(d.moveTo(l,e),d.lineTo(l,f));d.stroke()}w&&(a.drawImage(this.chart._preRenderCanvas,0,0,this.chart.width,this.chart.height),this.chart._breaksCanvasCtx&&this.chart._breaksCanvasCtx.drawImage(this.chart._preRenderCanvas,0,0,this.chart.width,this.chart.height),d.clearRect(0,0,this.chart.width,
|
|
737
|
+
this.chart.height));d.restore()};A.prototype.getPixelCoordinatesOnAxis=function(a){var d={};if("bottom"===this._position||"top"===this._position)d.x=this.convertValueToPixel(a),d.y=this.lineCoordinates.y1;if("left"===this._position||"right"===this._position)d.y=this.convertValueToPixel(a),d.x=this.lineCoordinates.x2;return d};A.prototype.convertPixelToValue=function(a){if("undefined"===typeof a)return null;var d=0,c=0,b,d=!0,e=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],c="number"===typeof a?
|
|
738
|
+
a:"left"===this._position||"right"===this._position?a.y:a.x;if(this.logarithmic){a=b=Math.pow(this.logarithmBase,(c-this.conversionParameters.reference)/this.conversionParameters.pixelPerUnit);if(c<=this.conversionParameters.reference===("left"===this._position||"right"===this._position)!==this.reversed)for(c=0;c<e.length;c++){if(!(e[c].endValue<this.conversionParameters.minimum))if(d)if(e[c].startValue<this.conversionParameters.minimum){if(1<e[c].size&&this.conversionParameters.minimum*Math.pow(e[c].endValue/
|
|
739
|
+
e[c].startValue,Math.log(b)/Math.log(e[c].size))<e[c].endValue){a=Math.pow(e[c].endValue/e[c].startValue,Math.log(b)/Math.log(e[c].size));break}else a*=e[c].endValue/this.conversionParameters.minimum/Math.pow(e[c].size,Math.log(e[c].endValue/this.conversionParameters.minimum)/Math.log(e[c].endValue/e[c].startValue)),b/=Math.pow(e[c].size,Math.log(e[c].endValue/this.conversionParameters.minimum)/Math.log(e[c].endValue/e[c].startValue));d=!1}else if(b>e[c].startValue/this.conversionParameters.minimum){b/=
|
|
740
|
+
e[c].startValue/this.conversionParameters.minimum;if(b<e[c].size){a*=Math.pow(e[c].endValue/e[c].startValue,1===e[c].size?1:Math.log(b)/Math.log(e[c].size))/b;break}else a*=e[c].endValue/e[c].startValue/e[c].size;b/=e[c].size;d=!1}else break;else if(b>e[c].startValue/e[c-1].endValue){b/=e[c].startValue/e[c-1].endValue;if(b<e[c].size){a*=Math.pow(e[c].endValue/e[c].startValue,1===e[c].size?1:Math.log(b)/Math.log(e[c].size))/b;break}else a*=e[c].endValue/e[c].startValue/e[c].size;b/=e[c].size}else break}else for(c=
|
|
741
|
+
e.length-1;0<=c;c--)if(!(e[c].startValue>this.conversionParameters.minimum))if(d)if(e[c].endValue>this.conversionParameters.minimum){if(1<e[c].size&&this.conversionParameters.minimum*Math.pow(e[c].endValue/e[c].startValue,Math.log(b)/Math.log(e[c].size))>e[c].startValue){a=Math.pow(e[c].endValue/e[c].startValue,Math.log(b)/Math.log(e[c].size));break}else a*=e[c].startValue/this.conversionParameters.minimum*Math.pow(e[c].size,Math.log(e[c].startValue/this.conversionParameters.minimum)/Math.log(e[c].endValue/
|
|
742
|
+
e[c].startValue))*b,b*=Math.pow(e[c].size,Math.log(this.conversionParameters.minimum/e[c].startValue)/Math.log(e[c].endValue/e[c].startValue));d=!1}else if(b<e[c].endValue/this.conversionParameters.minimum){b/=e[c].endValue/this.conversionParameters.minimum;if(b>1/e[c].size){a*=Math.pow(e[c].endValue/e[c].startValue,1>=e[c].size?1:Math.log(b)/Math.log(e[c].size))*b;break}else a/=e[c].endValue/e[c].startValue/e[c].size;b*=e[c].size;d=!1}else break;else if(b<e[c].endValue/e[c+1].startValue){b/=e[c].endValue/
|
|
743
|
+
e[c+1].startValue;if(b>1/e[c].size){a*=Math.pow(e[c].endValue/e[c].startValue,1>=e[c].size?1:Math.log(b)/Math.log(e[c].size))*b;break}else a/=e[c].endValue/e[c].startValue/e[c].size;b*=e[c].size}else break;d=a*this.viewportMinimum}else{a=b=(c-this.conversionParameters.reference)/this.conversionParameters.pixelPerUnit;if(c<=this.conversionParameters.reference===("left"===this._position||"right"===this._position)!==this.reversed)for(c=0;c<e.length;c++){if(!(e[c].endValue<this.conversionParameters.minimum))if(d)if(e[c].startValue<
|
|
744
|
+
this.conversionParameters.minimum){if(e[c].size&&this.conversionParameters.minimum+b*(e[c].endValue-e[c].startValue)/e[c].size<e[c].endValue){a=0>=e[c].size?0:b*(e[c].endValue-e[c].startValue)/e[c].size;break}else a+=e[c].endValue-this.conversionParameters.minimum-e[c].size*(e[c].endValue-this.conversionParameters.minimum)/(e[c].endValue-e[c].startValue),b-=e[c].size*(e[c].endValue-this.conversionParameters.minimum)/(e[c].endValue-e[c].startValue);d=!1}else if(b>e[c].startValue-this.conversionParameters.minimum){b-=
|
|
745
|
+
e[c].startValue-this.conversionParameters.minimum;if(b<e[c].size){a+=(e[c].endValue-e[c].startValue)*(0===e[c].size?1:b/e[c].size)-b;break}else a+=e[c].endValue-e[c].startValue-e[c].size;b-=e[c].size;d=!1}else break;else if(b>e[c].startValue-e[c-1].endValue){b-=e[c].startValue-e[c-1].endValue;if(b<e[c].size){a+=(e[c].endValue-e[c].startValue)*(0===e[c].size?1:b/e[c].size)-b;break}else a+=e[c].endValue-e[c].startValue-e[c].size;b-=e[c].size}else break}else for(c=e.length-1;0<=c;c--)if(!(e[c].startValue>
|
|
746
|
+
this.conversionParameters.minimum))if(d)if(e[c].endValue>this.conversionParameters.minimum)if(e[c].size&&this.conversionParameters.minimum+b*(e[c].endValue-e[c].startValue)/e[c].size>e[c].startValue){a=0>=e[c].size?0:b*(e[c].endValue-e[c].startValue)/e[c].size;break}else a+=e[c].startValue-this.conversionParameters.minimum+e[c].size*(this.conversionParameters.minimum-e[c].startValue)/(e[c].endValue-e[c].startValue),b+=e[c].size*(this.conversionParameters.minimum-e[c].startValue)/(e[c].endValue-e[c].startValue),
|
|
747
|
+
d=!1;else if(b<e[c].endValue-this.conversionParameters.minimum){b-=e[c].endValue-this.conversionParameters.minimum;if(b>-1*e[c].size){a+=(e[c].endValue-e[c].startValue)*(0===e[c].size?1:b/e[c].size)+b;break}else a-=e[c].endValue-e[c].startValue-e[c].size;b+=e[c].size;d=!1}else break;else if(b<e[c].endValue-e[c+1].startValue){b-=e[c].endValue-e[c+1].startValue;if(b>-1*e[c].size){a+=(e[c].endValue-e[c].startValue)*(0===e[c].size?1:b/e[c].size)+b;break}else a-=e[c].endValue-e[c].startValue-e[c].size;
|
|
748
|
+
b+=e[c].size}else break;d=this.conversionParameters.minimum+a}return d};A.prototype.convertValueToPixel=function(a){a=this.getApparentDifference(this.conversionParameters.minimum,a,a);return this.logarithmic?this.conversionParameters.reference+this.conversionParameters.pixelPerUnit*Math.log(a/this.conversionParameters.minimum)/this.conversionParameters.lnLogarithmBase+0.5<<0:"axisX"===this.type?this.conversionParameters.reference+this.conversionParameters.pixelPerUnit*(a-this.conversionParameters.minimum)+
|
|
749
|
+
0.5<<0:this.conversionParameters.reference+this.conversionParameters.pixelPerUnit*(a-this.conversionParameters.minimum)+0.5};A.prototype.getApparentDifference=function(a,d,c,b){var e=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];if(this.logarithmic){c=s(c)?d/a:c;for(var f=0;f<e.length&&!(d<e[f].startValue);f++)a>e[f].endValue||(a<=e[f].startValue&&d>=e[f].endValue?c=c/e[f].endValue*e[f].startValue*e[f].size:a>=e[f].startValue&&d>=e[f].endValue?c=c/e[f].endValue*a*Math.pow(e[f].size,Math.log(e[f].endValue/
|
|
750
|
+
a)/Math.log(e[f].endValue/e[f].startValue)):a<=e[f].startValue&&d<=e[f].endValue?c=c/d*e[f].startValue*Math.pow(e[f].size,Math.log(d/e[f].startValue)/Math.log(e[f].endValue/e[f].startValue)):!b&&(a>e[f].startValue&&d<e[f].endValue)&&(c=a*Math.pow(e[f].size,Math.log(d/a)/Math.log(e[f].endValue/e[f].startValue))))}else for(c=s(c)?Math.abs(d-a):c,f=0;f<e.length&&!(d<e[f].startValue);f++)a>e[f].endValue||(a<=e[f].startValue&&d>=e[f].endValue?c=c-e[f].endValue+e[f].startValue+e[f].size:a>e[f].startValue&&
|
|
751
|
+
d>=e[f].endValue?c=c-e[f].endValue+a+e[f].size*(e[f].endValue-a)/(e[f].endValue-e[f].startValue):a<=e[f].startValue&&d<e[f].endValue?c=c-d+e[f].startValue+e[f].size*(d-e[f].startValue)/(e[f].endValue-e[f].startValue):!b&&(a>e[f].startValue&&d<e[f].endValue)&&(c=a+e[f].size*(d-a)/(e[f].endValue-e[f].startValue)));return c};A.prototype.setViewPortRange=function(a,d){this.sessionVariables.newViewportMinimum=this.viewportMinimum=Math.min(a,d);this.sessionVariables.newViewportMaximum=this.viewportMaximum=
|
|
752
|
+
Math.max(a,d)};A.prototype.getXValueAt=function(a){if(!a)return null;var d=null;"left"===this._position?d=this.convertPixelToValue(a.y):"bottom"===this._position&&(d=this.convertPixelToValue(a.x));return d};A.prototype.calculateValueToPixelConversionParameters=function(a){a=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];var d={pixelPerUnit:null,minimum:null,reference:null},c=this.lineCoordinates.width,b=this.lineCoordinates.height,c="bottom"===this._position||"top"===this._position?c:b,b=Math.abs(this.range);
|
|
753
|
+
if(this.logarithmic)for(var e=0;e<a.length&&!(this.viewportMaximum<a[e].startValue);e++)this.viewportMinimum>a[e].endValue||(this.viewportMinimum>=a[e].startValue&&this.viewportMaximum<=a[e].endValue?c=0:this.viewportMinimum<=a[e].startValue&&this.viewportMaximum>=a[e].endValue?(b=b/a[e].endValue*a[e].startValue,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100):c-Math.min(a[e].spacing,0.1*c)):this.viewportMinimum>a[e].startValue&&this.viewportMaximum>=a[e].endValue?(b=b/
|
|
754
|
+
a[e].endValue*this.viewportMinimum,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100*Math.log(a[e].endValue/this.viewportMinimum)/Math.log(a[e].endValue/a[e].startValue)):c-Math.min(a[e].spacing,0.1*c)*Math.log(a[e].endValue/this.viewportMinimum)/Math.log(a[e].endValue/a[e].startValue)):this.viewportMinimum<=a[e].startValue&&this.viewportMaximum<a[e].endValue&&(b=b/this.viewportMaximum*a[e].startValue,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/
|
|
755
|
+
100*Math.log(this.viewportMaximum/a[e].startValue)/Math.log(a[e].endValue/a[e].startValue)):c-Math.min(a[e].spacing,0.1*c)*Math.log(this.viewportMaximum/a[e].startValue)/Math.log(a[e].endValue/a[e].startValue)));else for(e=0;e<a.length&&!(this.viewportMaximum<a[e].startValue);e++)this.viewportMinimum>a[e].endValue||(this.viewportMinimum>=a[e].startValue&&this.viewportMaximum<=a[e].endValue?c=0:this.viewportMinimum<=a[e].startValue&&this.viewportMaximum>=a[e].endValue?(b=b-a[e].endValue+a[e].startValue,
|
|
756
|
+
c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100):c-Math.min(a[e].spacing,0.1*c)):this.viewportMinimum>a[e].startValue&&this.viewportMaximum>=a[e].endValue?(b=b-a[e].endValue+this.viewportMinimum,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100*(a[e].endValue-this.viewportMinimum)/(a[e].endValue-a[e].startValue)):c-Math.min(a[e].spacing,0.1*c)*(a[e].endValue-this.viewportMinimum)/(a[e].endValue-a[e].startValue)):this.viewportMinimum<=a[e].startValue&&
|
|
757
|
+
this.viewportMaximum<a[e].endValue&&(b=b-this.viewportMaximum+a[e].startValue,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100*(this.viewportMaximum-a[e].startValue)/(a[e].endValue-a[e].startValue)):c-Math.min(a[e].spacing,0.1*c)*(this.viewportMaximum-a[e].startValue)/(a[e].endValue-a[e].startValue)));d.minimum=this.viewportMinimum;d.maximum=this.viewportMaximum;d.range=b;if("bottom"===this._position||"top"===this._position)this.logarithmic?(d.lnLogarithmBase=Math.log(this.logarithmBase),
|
|
758
|
+
d.pixelPerUnit=(this.reversed?-1:1)*c*d.lnLogarithmBase/Math.log(Math.abs(b))):d.pixelPerUnit=(this.reversed?-1:1)*c/Math.abs(b),d.reference=this.reversed?this.lineCoordinates.x2:this.lineCoordinates.x1;if("left"===this._position||"right"===this._position)this.logarithmic?(d.lnLogarithmBase=Math.log(this.logarithmBase),d.pixelPerUnit=(this.reversed?1:-1)*c*d.lnLogarithmBase/Math.log(Math.abs(b))):d.pixelPerUnit=(this.reversed?1:-1)*c/Math.abs(b),d.reference=this.reversed?this.lineCoordinates.y1:this.lineCoordinates.y2;
|
|
759
|
+
this.conversionParameters=d};A.prototype.calculateAxisParameters=function(){if(this.logarithmic)this.calculateLogarithmicAxisParameters();else{var a=this.chart.layoutManager.getFreeSpace(),d=!1,c=!1;"bottom"===this._position||"top"===this._position?(this.maxWidth=a.width,this.maxHeight=a.height):(this.maxWidth=a.height,this.maxHeight=a.width);var a="axisX"===this.type?"xySwapped"===this.chart.plotInfo.axisPlacement?62:70:"xySwapped"===this.chart.plotInfo.axisPlacement?50:40,b=4;"axisX"===this.type&&
|
|
760
|
+
(b=600>this.maxWidth?8:6);var a=Math.max(b,Math.floor(this.maxWidth/a)),e,f,l,b=0;!s(this.options.viewportMinimum)&&(!s(this.options.viewportMaximum)&&this.options.viewportMinimum>=this.options.viewportMaximum)&&(this.viewportMinimum=this.viewportMaximum=null);if(s(this.options.viewportMinimum)&&!s(this.sessionVariables.newViewportMinimum)&&!isNaN(this.sessionVariables.newViewportMinimum))this.viewportMinimum=this.sessionVariables.newViewportMinimum;else if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=
|
|
761
|
+
this.minimum;if(s(this.options.viewportMaximum)&&!s(this.sessionVariables.newViewportMaximum)&&!isNaN(this.sessionVariables.newViewportMaximum))this.viewportMaximum=this.sessionVariables.newViewportMaximum;else if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=this.maximum;if(this.scaleBreaks)for(b=0;b<this.scaleBreaks._appliedBreaks.length;b++)if((!s(this.sessionVariables.newViewportMinimum)&&this.sessionVariables.newViewportMinimum>=this.scaleBreaks._appliedBreaks[b].startValue||
|
|
762
|
+
!s(this.options.minimum)&&this.options.minimum>=this.scaleBreaks._appliedBreaks[b].startValue||!s(this.options.viewportMinimum)&&this.viewportMinimum>=this.scaleBreaks._appliedBreaks[b].startValue)&&(!s(this.sessionVariables.newViewportMaximum)&&this.sessionVariables.newViewportMaximum<=this.scaleBreaks._appliedBreaks[b].endValue||!s(this.options.maximum)&&this.options.maximum<=this.scaleBreaks._appliedBreaks[b].endValue||!s(this.options.viewportMaximum)&&this.viewportMaximum<=this.scaleBreaks._appliedBreaks[b].endValue)){this.scaleBreaks._appliedBreaks.splice(b,
|
|
763
|
+
1);break}if("axisX"===this.type){if(this.dataSeries&&0<this.dataSeries.length)for(e=0;e<this.dataSeries.length;e++)"dateTime"===this.dataSeries[e].xValueType&&(c=!0);e=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin;f=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax;0===f-e&&(b="undefined"===typeof this.options.interval?0.4:this.options.interval,f+=b,e-=b);Infinity!==this.dataInfo.minDiff?l=this.dataInfo.minDiff:1<f-e?l=0.5*Math.abs(f-e):(l=1,c&&
|
|
764
|
+
(d=!0))}else"axisY"===this.type&&(e=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,f=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,isFinite(e)||isFinite(f)?isFinite(e)?isFinite(f)||(f=e):e=f:(f="undefined"===typeof this.options.interval?-Infinity:this.options.interval,e="undefined"!==typeof this.options.interval||isFinite(this.dataInfo.minDiff)?0:Infinity),0===e&&0===f?(f+=9,e=0):0===f-e?(b=Math.min(Math.abs(0.01*Math.abs(f)),5),f+=b,e-=b):
|
|
765
|
+
e>f?(b=Math.min(0.01*Math.abs(this.getApparentDifference(f,e,null,!0)),5),0<=f?e=f-b:f=isFinite(e)?e+b:0):(b=Math.min(0.01*Math.abs(this.getApparentDifference(e,f,null,!0)),0.05),0!==f&&(f+=b),0!==e&&(e-=b)),l=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<f-e?0.5*Math.abs(f-e):1,this.includeZero&&(null===this.viewportMinimum||isNaN(this.viewportMinimum))&&0<e&&(e=0),this.includeZero&&(null===this.viewportMaximum||isNaN(this.viewportMaximum))&&0>f&&(f=0));b=this.getApparentDifference(isNaN(this.viewportMinimum)||
|
|
766
|
+
null===this.viewportMinimum?e:this.viewportMinimum,isNaN(this.viewportMaximum)||null===this.viewportMaximum?f:this.viewportMaximum,null,!0);if("axisX"===this.type&&c){this.valueType="dateTime";this.intervalType||(b/1<=a?(this.interval=1,this.intervalType="millisecond"):b/2<=a?(this.interval=2,this.intervalType="millisecond"):b/5<=a?(this.interval=5,this.intervalType="millisecond"):b/10<=a?(this.interval=10,this.intervalType="millisecond"):b/20<=a?(this.interval=20,this.intervalType="millisecond"):
|
|
767
|
+
b/50<=a?(this.interval=50,this.intervalType="millisecond"):b/100<=a?(this.interval=100,this.intervalType="millisecond"):b/200<=a?(this.interval=200,this.intervalType="millisecond"):b/250<=a?(this.interval=250,this.intervalType="millisecond"):b/300<=a?(this.interval=300,this.intervalType="millisecond"):b/400<=a?(this.interval=400,this.intervalType="millisecond"):b/500<=a?(this.interval=500,this.intervalType="millisecond"):b/(1*T.secondDuration)<=a?(this.interval=1,this.intervalType="second"):b/(2*
|
|
768
|
+
T.secondDuration)<=a?(this.interval=2,this.intervalType="second"):b/(5*T.secondDuration)<=a?(this.interval=5,this.intervalType="second"):b/(10*T.secondDuration)<=a?(this.interval=10,this.intervalType="second"):b/(15*T.secondDuration)<=a?(this.interval=15,this.intervalType="second"):b/(20*T.secondDuration)<=a?(this.interval=20,this.intervalType="second"):b/(30*T.secondDuration)<=a?(this.interval=30,this.intervalType="second"):b/(1*T.minuteDuration)<=a?(this.interval=1,this.intervalType="minute"):b/
|
|
769
|
+
(2*T.minuteDuration)<=a?(this.interval=2,this.intervalType="minute"):b/(5*T.minuteDuration)<=a?(this.interval=5,this.intervalType="minute"):b/(10*T.minuteDuration)<=a?(this.interval=10,this.intervalType="minute"):b/(15*T.minuteDuration)<=a?(this.interval=15,this.intervalType="minute"):b/(20*T.minuteDuration)<=a?(this.interval=20,this.intervalType="minute"):b/(30*T.minuteDuration)<=a?(this.interval=30,this.intervalType="minute"):b/(1*T.hourDuration)<=a?(this.interval=1,this.intervalType="hour"):b/
|
|
770
|
+
(2*T.hourDuration)<=a?(this.interval=2,this.intervalType="hour"):b/(3*T.hourDuration)<=a?(this.interval=3,this.intervalType="hour"):b/(6*T.hourDuration)<=a?(this.interval=6,this.intervalType="hour"):b/(1*T.dayDuration)<=a?(this.interval=1,this.intervalType="day"):b/(2*T.dayDuration)<=a?(this.interval=2,this.intervalType="day"):b/(4*T.dayDuration)<=a?(this.interval=4,this.intervalType="day"):b/(1*T.weekDuration)<=a?(this.interval=1,this.intervalType="week"):b/(2*T.weekDuration)<=a?(this.interval=2,
|
|
771
|
+
this.intervalType="week"):b/(3*T.weekDuration)<=a?(this.interval=3,this.intervalType="week"):b/(1*T.monthDuration)<=a?(this.interval=1,this.intervalType="month"):b/(2*T.monthDuration)<=a?(this.interval=2,this.intervalType="month"):b/(3*T.monthDuration)<=a?(this.interval=3,this.intervalType="month"):b/(6*T.monthDuration)<=a?(this.interval=6,this.intervalType="month"):(this.interval=b/(1*T.yearDuration)<=a?1:b/(2*T.yearDuration)<=a?2:b/(4*T.yearDuration)<=a?4:Math.floor(A.getNiceNumber(b/(a-1),!0)/
|
|
772
|
+
T.yearDuration),this.intervalType="year"));if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=e-l/2;if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=f+l/2;d?this.autoValueFormatString="MMM DD YYYY HH:mm":"year"===this.intervalType?this.autoValueFormatString="YYYY":"month"===this.intervalType?this.autoValueFormatString="MMM YYYY":"week"===this.intervalType?this.autoValueFormatString="MMM DD YYYY":"day"===this.intervalType?this.autoValueFormatString=
|
|
773
|
+
"MMM DD YYYY":"hour"===this.intervalType?this.autoValueFormatString="hh:mm TT":"minute"===this.intervalType?this.autoValueFormatString="hh:mm TT":"second"===this.intervalType?this.autoValueFormatString="hh:mm:ss TT":"millisecond"===this.intervalType&&(this.autoValueFormatString="fff'ms'");this.valueFormatString||(this.valueFormatString=this.autoValueFormatString)}else{this.intervalType="number";b=A.getNiceNumber(b,!1);this.interval=this.options&&0<this.options.interval?this.options.interval:A.getNiceNumber(b/
|
|
774
|
+
(a-1),!0);if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum="axisX"===this.type?e-l/2:Math.floor(e/this.interval)*this.interval;if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum="axisX"===this.type?f+l/2:Math.ceil(f/this.interval)*this.interval;0===this.viewportMaximum&&0===this.viewportMinimum&&(0===this.options.viewportMinimum?this.viewportMaximum+=10:0===this.options.viewportMaximum&&(this.viewportMinimum-=10),this.options&&"undefined"===
|
|
775
|
+
typeof this.options.interval&&(this.interval=A.getNiceNumber((this.viewportMaximum-this.viewportMinimum)/(a-1),!0)))}if(null===this.minimum||null===this.maximum)if("axisX"===this.type?(e=null!==this.minimum?this.minimum:this.dataInfo.min,f=null!==this.maximum?this.maximum:this.dataInfo.max,0===f-e&&(b="undefined"===typeof this.options.interval?0.4:this.options.interval,f+=b,e-=b),l=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<f-e?0.5*Math.abs(f-e):1):"axisY"===this.type&&(e=null!==this.minimum?
|
|
776
|
+
this.minimum:this.dataInfo.min,f=null!==this.maximum?this.maximum:this.dataInfo.max,isFinite(e)||isFinite(f)?0===e&&0===f?(f+=9,e=0):0===f-e?(b=Math.min(Math.abs(0.01*Math.abs(f)),5),f+=b,e-=b):e>f?(b=Math.min(0.01*Math.abs(this.getApparentDifference(f,e,null,!0)),5),0<=f?e=f-b:f=isFinite(e)?e+b:0):(b=Math.min(0.01*Math.abs(this.getApparentDifference(e,f,null,!0)),0.05),0!==f&&(f+=b),0!==e&&(e-=b)):(f="undefined"===typeof this.options.interval?-Infinity:this.options.interval,e="undefined"!==typeof this.options.interval||
|
|
777
|
+
isFinite(this.dataInfo.minDiff)?0:Infinity),l=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<f-e?0.5*Math.abs(f-e):1,this.includeZero&&(null===this.minimum||isNaN(this.minimum))&&0<e&&(e=0),this.includeZero&&(null===this.maximum||isNaN(this.maximum))&&0>f&&(f=0)),Math.abs(this.getApparentDifference(e,f,null,!0)),"axisX"===this.type&&c){this.valueType="dateTime";if(null===this.minimum||isNaN(this.minimum))this.minimum=e-l/2,this.minimum=Math.min(this.minimum,null===this.sessionVariables.viewportMinimum||
|
|
778
|
+
isNaN(this.sessionVariables.viewportMinimum)?Infinity:this.sessionVariables.viewportMinimum);if(null===this.maximum||isNaN(this.maximum))this.maximum=f+l/2,this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?-Infinity:this.sessionVariables.viewportMaximum)}else this.intervalType=this.valueType="number",null===this.minimum&&(this.minimum="axisX"===this.type?e-l/2:Math.floor(e/this.interval)*this.interval,this.minimum=Math.min(this.minimum,
|
|
779
|
+
null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?Infinity:this.sessionVariables.viewportMinimum)),null===this.maximum&&(this.maximum="axisX"===this.type?f+l/2:Math.ceil(f/this.interval)*this.interval,this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?-Infinity:this.sessionVariables.viewportMaximum)),0===this.maximum&&0===this.minimum&&(0===this.options.minimum?this.maximum+=10:0===
|
|
780
|
+
this.options.maximum&&(this.minimum-=10));s(this.sessionVariables.newViewportMinimum)&&(this.viewportMinimum=Math.max(this.viewportMinimum,this.minimum));s(this.sessionVariables.newViewportMaximum)&&(this.viewportMaximum=Math.min(this.viewportMaximum,this.maximum));this.range=this.viewportMaximum-this.viewportMinimum;this.intervalStartPosition="axisX"===this.type&&c?this.getLabelStartPoint(new Date(this.viewportMinimum),this.intervalType,this.interval):Math.floor((this.viewportMinimum+0.2*this.interval)/
|
|
781
|
+
this.interval)*this.interval;this.valueFormatString||(this.valueFormatString=A.generateValueFormatString(this.range,2))}};A.prototype.calculateLogarithmicAxisParameters=function(){var a=this.chart.layoutManager.getFreeSpace(),d=Math.log(this.logarithmBase),c;"bottom"===this._position||"top"===this._position?(this.maxWidth=a.width,this.maxHeight=a.height):(this.maxWidth=a.height,this.maxHeight=a.width);var a="axisX"===this.type?500>this.maxWidth?7:Math.max(7,Math.floor(this.maxWidth/100)):Math.max(Math.floor(this.maxWidth/
|
|
782
|
+
50),3),b,e,f,l;l=1;if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=this.minimum;if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=this.maximum;if(this.scaleBreaks)for(l=0;l<this.scaleBreaks._appliedBreaks.length;l++)if((!s(this.sessionVariables.newViewportMinimum)&&this.sessionVariables.newViewportMinimum>=this.scaleBreaks._appliedBreaks[l].startValue||!s(this.options.minimum)&&this.options.minimum>=this.scaleBreaks._appliedBreaks[l].startValue||
|
|
783
|
+
!s(this.options.viewportMinimum)&&this.viewportMinimum>=this.scaleBreaks._appliedBreaks[l].startValue)&&(!s(this.sessionVariables.newViewportMaximum)&&this.sessionVariables.newViewportMaximum<=this.scaleBreaks._appliedBreaks[l].endValue||!s(this.options.maximum)&&this.options.maximum<=this.scaleBreaks._appliedBreaks[l].endValue||!s(this.options.viewportMaximum)&&this.viewportMaximum<=this.scaleBreaks._appliedBreaks[l].endValue)){this.scaleBreaks._appliedBreaks.splice(l,1);break}"axisX"===this.type?
|
|
784
|
+
(b=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,e=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,1===e/b&&(l=Math.pow(this.logarithmBase,"undefined"===typeof this.options.interval?0.4:this.options.interval),e*=l,b/=l),f=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase):"axisY"===this.type&&(b=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,
|
|
785
|
+
e=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,0>=b&&!isFinite(e)?(e="undefined"===typeof this.options.interval?0:this.options.interval,b=1):0>=b?b=e:isFinite(e)||(e=b),1===b&&1===e?(e*=this.logarithmBase-1/this.logarithmBase,b=1):1===e/b?(l=Math.min(e*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,5)),e*=l,b/=l):b>e?(l=Math.min(b/e*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,5)),1<=e?b=e/l:e=b*l):(l=Math.min(e/b*Math.pow(this.logarithmBase,
|
|
786
|
+
0.01),Math.pow(this.logarithmBase,0.04)),1!==e&&(e*=l),1!==b&&(b/=l)),f=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase,this.includeZero&&(null===this.viewportMinimum||isNaN(this.viewportMinimum))&&1<b&&(b=1),this.includeZero&&(null===this.viewportMaximum||isNaN(this.viewportMaximum))&&1>e&&(e=1));l=(isNaN(this.viewportMaximum)||null===this.viewportMaximum?e:this.viewportMaximum)/(isNaN(this.viewportMinimum)||null===
|
|
787
|
+
this.viewportMinimum?b:this.viewportMinimum);var h=(isNaN(this.viewportMaximum)||null===this.viewportMaximum?e:this.viewportMaximum)-(isNaN(this.viewportMinimum)||null===this.viewportMinimum?b:this.viewportMinimum);this.intervalType="number";l=Math.pow(this.logarithmBase,A.getNiceNumber(Math.abs(Math.log(l)/d),!1));this.options&&0<this.options.interval?this.interval=this.options.interval:(this.interval=A.getNiceExponent(Math.log(l)/d/(a-1),!0),c=A.getNiceNumber(h/(a-1),!0));if(null===this.viewportMinimum||
|
|
788
|
+
isNaN(this.viewportMinimum))this.viewportMinimum="axisX"===this.type?b/Math.sqrt(f):Math.pow(this.logarithmBase,this.interval*Math.floor(Math.log(b)/d/this.interval));if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum="axisX"===this.type?e*Math.sqrt(f):Math.pow(this.logarithmBase,this.interval*Math.ceil(Math.log(e)/d/this.interval));1===this.viewportMaximum&&1===this.viewportMinimum&&(1===this.options.viewportMinimum?this.viewportMaximum*=this.logarithmBase-1/this.logarithmBase:
|
|
789
|
+
1===this.options.viewportMaximum&&(this.viewportMinimum/=this.logarithmBase-1/this.logarithmBase),this.options&&"undefined"===typeof this.options.interval&&(this.interval=A.getNiceExponent(Math.ceil(Math.log(l)/d)/(a-1)),c=A.getNiceNumber((this.viewportMaximum-this.viewportMinimum)/(a-1),!0)));if(null===this.minimum||null===this.maximum)"axisX"===this.type?(b=null!==this.minimum?this.minimum:this.dataInfo.min,e=null!==this.maximum?this.maximum:this.dataInfo.max,1===e/b&&(l=Math.pow(this.logarithmBase,
|
|
790
|
+
"undefined"===typeof this.options.interval?0.4:this.options.interval),e*=l,b/=l),f=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase):"axisY"===this.type&&(b=null!==this.minimum?this.minimum:this.dataInfo.min,e=null!==this.maximum?this.maximum:this.dataInfo.max,isFinite(b)||isFinite(e)?1===b&&1===e?(e*=this.logarithmBase,b/=this.logarithmBase):1===e/b?(l=Math.pow(this.logarithmBase,this.interval),e*=l,b/=l):b>e?(l=
|
|
791
|
+
Math.min(0.01*(b/e),5),1<=e?b=e/l:e=b*l):(l=Math.min(e/b*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,0.04)),1!==e&&(e*=l),1!==b&&(b/=l)):(e="undefined"===typeof this.options.interval?0:this.options.interval,b=1),f=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:e/b>this.logarithmBase?e/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase,this.includeZero&&(null===this.minimum||isNaN(this.minimum))&&1<b&&(b=1),this.includeZero&&(null===this.maximum||isNaN(this.maximum))&&
|
|
792
|
+
1>e&&(e=1)),this.intervalType="number",null===this.minimum&&(this.minimum="axisX"===this.type?b/Math.sqrt(f):Math.pow(this.logarithmBase,this.interval*Math.floor(Math.log(b)/d/this.interval)),s(null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?"undefined"===typeof this.sessionVariables.newViewportMinimum?Infinity:this.sessionVariables.newViewportMinimum:this.sessionVariables.viewportMinimum)||(this.minimum=Math.min(this.minimum,null===this.sessionVariables.viewportMinimum||
|
|
793
|
+
isNaN(this.sessionVariables.viewportMinimum)?"undefined"===typeof this.sessionVariables.newViewportMinimum?Infinity:this.sessionVariables.newViewportMinimum:this.sessionVariables.viewportMinimum))),null===this.maximum&&(this.maximum="axisX"===this.type?e*Math.sqrt(f):Math.pow(this.logarithmBase,this.interval*Math.ceil(Math.log(e)/d/this.interval)),s(null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?"undefined"===typeof this.sessionVariables.newViewportMaximum?
|
|
794
|
+
0:this.sessionVariables.newViewportMaximum:this.sessionVariables.viewportMaximum)||(this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?"undefined"===typeof this.sessionVariables.newViewportMaximum?0:this.sessionVariables.newViewportMaximum:this.sessionVariables.viewportMaximum))),1===this.maximum&&1===this.minimum&&(1===this.options.minimum?this.maximum*=this.logarithmBase-1/this.logarithmBase:1===this.options.maximum&&(this.minimum/=
|
|
795
|
+
this.logarithmBase-1/this.logarithmBase));this.viewportMinimum=Math.max(this.viewportMinimum,this.minimum);this.viewportMaximum=Math.min(this.viewportMaximum,this.maximum);this.viewportMinimum>this.viewportMaximum&&(!this.options.viewportMinimum&&!this.options.minimum||this.options.viewportMaximum||this.options.maximum?this.options.viewportMinimum||this.options.minimum||!this.options.viewportMaximum&&!this.options.maximum||(this.viewportMinimum=this.minimum=(this.options.viewportMaximum||this.options.maximum)/
|
|
796
|
+
Math.pow(this.logarithmBase,2*Math.ceil(this.interval))):this.viewportMaximum=this.maximum=this.options.viewportMinimum||this.options.minimum);b=Math.pow(this.logarithmBase,Math.floor(Math.log(this.viewportMinimum)/(d*this.interval)+0.2)*this.interval);this.range=this.viewportMaximum/this.viewportMinimum;this.noTicks=a;if(!this.options.interval&&this.range<Math.pow(this.logarithmBase,8>this.viewportMaximum||3>a?2:3)){for(d=Math.floor(this.viewportMinimum/c+0.5)*c;d<this.viewportMinimum;)d+=c;this.equidistantInterval=
|
|
797
|
+
!1;this.intervalStartPosition=d;this.interval=c}else this.options.interval||(c=Math.ceil(this.interval),this.range>this.interval&&(this.interval=c,b=Math.pow(this.logarithmBase,Math.floor(Math.log(this.viewportMinimum)/(d*this.interval)+0.2)*this.interval))),this.equidistantInterval=!0,this.intervalStartPosition=b;if(!this.valueFormatString&&(this.valueFormatString="#,##0.##",1>this.viewportMinimum)){d=Math.floor(Math.abs(Math.log(this.viewportMinimum)/Math.LN10))+2;if(isNaN(d)||!isFinite(d))d=2;
|
|
798
|
+
if(2<d)for(l=0;l<d-2;l++)this.valueFormatString+="#"}};A.generateValueFormatString=function(a,d){var c="#,##0.",b=d;1>a&&(b+=Math.floor(Math.abs(Math.log(a)/Math.LN10)),isNaN(b)||!isFinite(b))&&(b=d);for(var e=0;e<b;e++)c+="#";return c};A.getNiceExponent=function(a,d){var c=Math.floor(Math.log(a)/Math.LN10),b=a/Math.pow(10,c),b=0>c?1>=b?1:5>=b?5:10:Math.max(Math.floor(b),1);return-20>c?Number(b*Math.pow(10,c)):Number((b*Math.pow(10,c)).toFixed(20))};A.getNiceNumber=function(a,d){var c=Math.floor(Math.log(a)/
|
|
799
|
+
Math.LN10),b=a/Math.pow(10,c),b=d?1.5>b?1:3>b?2:7>b?5:10:1>=b?1:2>=b?2:5>=b?5:10;return-20>c?Number(b*Math.pow(10,c)):Number((b*Math.pow(10,c)).toFixed(20))};A.prototype.getLabelStartPoint=function(){var a=T[this.intervalType+"Duration"]*this.interval,a=new Date(Math.floor(this.viewportMinimum/a)*a);if("millisecond"!==this.intervalType)if("second"===this.intervalType)0<a.getMilliseconds()&&(a.setSeconds(a.getSeconds()+1),a.setMilliseconds(0));else if("minute"===this.intervalType){if(0<a.getSeconds()||
|
|
800
|
+
0<a.getMilliseconds())a.setMinutes(a.getMinutes()+1),a.setSeconds(0),a.setMilliseconds(0)}else if("hour"===this.intervalType){if(0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setHours(a.getHours()+1),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else if("day"===this.intervalType){if(0<a.getHours()||0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setDate(a.getDate()+1),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else if("week"===this.intervalType){if(0<
|
|
801
|
+
a.getDay()||0<a.getHours()||0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setDate(a.getDate()+(7-a.getDay())),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else if("month"===this.intervalType){if(1<a.getDate()||0<a.getHours()||0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setMonth(a.getMonth()+1),a.setDate(1),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else"year"===this.intervalType&&(0<a.getMonth()||1<a.getDate()||0<a.getHours()||
|
|
802
|
+
0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())&&(a.setFullYear(a.getFullYear()+1),a.setMonth(0),a.setDate(1),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0));return a};oa(fa,G);oa(aa,G);aa.prototype.createUserOptions=function(a){if("undefined"!==typeof a||this.options._isPlaceholder){var d=0;this.parent.options._isPlaceholder&&this.parent.createUserOptions();this.options._isPlaceholder||(Ea(this.parent[this.optionsName]),d=this.parent.options[this.optionsName].indexOf(this.options));
|
|
803
|
+
this.options="undefined"===typeof a?{}:a;this.parent.options[this.optionsName][d]=this.options}};aa.prototype.render=function(a){if(0!==this.spacing||0!==this.options.lineThickness&&("undefined"!==typeof this.options.lineThickness||0!==this.parent.lineThickness)){var d=this.ctx,c=this.ctx.globalAlpha;this.ctx=a||this.ctx;this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();var b=this.scaleBreaks.parent.getPixelCoordinatesOnAxis(this.startValue),
|
|
804
|
+
e=this.scaleBreaks.parent.getPixelCoordinatesOnAxis(this.endValue);this.ctx.strokeStyle=this.lineColor;this.ctx.fillStyle=this.color;this.ctx.beginPath();this.ctx.globalAlpha=1;X(this.id);var f,l,h,n,k,m;a=Math.max(this.spacing,3);var p=Math.max(0,this.lineThickness);this.ctx.lineWidth=p;this.ctx.setLineDash&&this.ctx.setLineDash(J(this.lineDashType,p));if("bottom"===this.scaleBreaks.parent._position||"top"===this.scaleBreaks.parent._position)if(b=1===p%2?(b.x<<0)+0.5:b.x<<0,l=1===p%2?(e.x<<0)+0.5:
|
|
805
|
+
e.x<<0,"top"===this.scaleBreaks.parent._position?(e=this.chart.plotArea.y1,h=this.chart.plotArea.y2+p/2+0.5<<0):(e=this.chart.plotArea.y2,h=this.chart.plotArea.y1-p/2+0.5<<0,a*=-1),this.bounds={x1:b-p/2,y1:e,x2:l+p/2,y2:h},this.ctx.moveTo(b,e),"straight"===this.type||"top"===this.scaleBreaks.parent._position&&0>=a||"bottom"===this.scaleBreaks.parent._position&&0<=a)this.ctx.lineTo(b,h),this.ctx.lineTo(l,h),this.ctx.lineTo(l,e);else if("wavy"===this.type){n=b;k=e;f=0.5;m=(h-k)/a/3;for(var q=0;q<m;q++)this.ctx.bezierCurveTo(n+
|
|
806
|
+
f*a,k+a,n+f*a,k+2*a,n,k+3*a),k+=3*a,f*=-1;this.ctx.bezierCurveTo(n+f*a,k+a,n+f*a,k+2*a,n,k+3*a);n=l;f*=-1;this.ctx.lineTo(n,k);for(q=0;q<m;q++)this.ctx.bezierCurveTo(n+f*a,k-a,n+f*a,k-2*a,n,k-3*a),k-=3*a,f*=-1}else{if("zigzag"===this.type){f=-1;k=e+a;n=b+a;m=(h-k)/a/2;for(q=0;q<m;q++)this.ctx.lineTo(n,k),n+=2*f*a,k+=2*a,f*=-1;this.ctx.lineTo(n,k);n+=l-b;for(q=0;q<m+1;q++)this.ctx.lineTo(n,k),n+=2*f*a,k-=2*a,f*=-1;this.ctx.lineTo(n+f*a,k+a)}}else if("left"===this.scaleBreaks.parent._position||"right"===
|
|
807
|
+
this.scaleBreaks.parent._position)if(e=1===p%2?(e.y<<0)+0.5:e.y<<0,h=1===p%2?(b.y<<0)+0.5:b.y<<0,"left"===this.scaleBreaks.parent._position?(b=this.chart.plotArea.x1,l=this.chart.plotArea.x2+p/2+0.5<<0):(b=this.chart.plotArea.x2,l=this.chart.plotArea.x1-p/2+0.5<<0,a*=-1),this.bounds={x1:b,y1:e-p/2,x2:l,y2:h+p/2},this.ctx.moveTo(b,e),"straight"===this.type||"left"===this.scaleBreaks.parent._position&&0>=a||"right"===this.scaleBreaks.parent._position&&0<=a)this.ctx.lineTo(l,e),this.ctx.lineTo(l,h),
|
|
808
|
+
this.ctx.lineTo(b,h);else if("wavy"===this.type){n=b;k=e;f=0.5;m=(l-n)/a/3;for(q=0;q<m;q++)this.ctx.bezierCurveTo(n+a,k+f*a,n+2*a,k+f*a,n+3*a,k),n+=3*a,f*=-1;this.ctx.bezierCurveTo(n+a,k+f*a,n+2*a,k+f*a,n+3*a,k);k=h;f*=-1;this.ctx.lineTo(n,k);for(q=0;q<m;q++)this.ctx.bezierCurveTo(n-a,k+f*a,n-2*a,k+f*a,n-3*a,k),n-=3*a,f*=-1}else if("zigzag"===this.type){f=1;k=e-a;n=b+a;m=(l-n)/a/2;for(q=0;q<m;q++)this.ctx.lineTo(n,k),k+=2*f*a,n+=2*a,f*=-1;this.ctx.lineTo(n,k);k+=h-e;for(q=0;q<m+1;q++)this.ctx.lineTo(n,
|
|
809
|
+
k),k+=2*f*a,n-=2*a,f*=-1;this.ctx.lineTo(n+a,k+f*a)}0<p&&this.ctx.stroke();this.ctx.closePath();this.ctx.globalAlpha=this.fillOpacity;this.ctx.globalCompositeOperation="destination-over";this.ctx.fill();this.ctx.restore();this.ctx.globalAlpha=c;this.ctx=d}};oa(N,G);N.prototype.createUserOptions=function(a){if("undefined"!==typeof a||this.options._isPlaceholder){var d=0;this.parent.options._isPlaceholder&&this.parent.createUserOptions();this.options._isPlaceholder||(Ea(this.parent.stripLines),d=this.parent.options.stripLines.indexOf(this.options));
|
|
810
|
+
this.options="undefined"===typeof a?{}:a;this.parent.options.stripLines[d]=this.options}};N.prototype.render=function(){this.ctx.save();var a=this.parent.getPixelCoordinatesOnAxis(this.value),d=Math.abs("pixel"===this._thicknessType?this.thickness:Math.abs(this.parent.convertValueToPixel(this.endValue)-this.parent.convertValueToPixel(this.startValue)));if(0<d){var c=null===this.opacity?1:this.opacity;this.ctx.strokeStyle=this.color;this.ctx.beginPath();var b=this.ctx.globalAlpha;this.ctx.globalAlpha=
|
|
811
|
+
c;X(this.id);var e,f,h,n;this.ctx.lineWidth=d;this.ctx.setLineDash&&this.ctx.setLineDash(J(this.lineDashType,d));if("bottom"===this.parent._position||"top"===this.parent._position)e=f=1===this.ctx.lineWidth%2?(a.x<<0)+0.5:a.x<<0,h=this.chart.plotArea.y1,n=this.chart.plotArea.y2,this.bounds={x1:e-d/2,y1:h,x2:f+d/2,y2:n};else if("left"===this.parent._position||"right"===this.parent._position)h=n=1===this.ctx.lineWidth%2?(a.y<<0)+0.5:a.y<<0,e=this.chart.plotArea.x1,f=this.chart.plotArea.x2,this.bounds=
|
|
812
|
+
{x1:e,y1:h-d/2,x2:f,y2:n+d/2};this.ctx.moveTo(e,h);this.ctx.lineTo(f,n);this.ctx.stroke();this.ctx.globalAlpha=b}this.ctx.restore()};oa(ca,G);ca.prototype.showAt=function(a){if(!this.enabled)return!1;var d=this.chart,c=!1;d.resetOverlayedCanvas();d.clearedOverlayedCanvas=this.parent.type;this.chart.renderCrosshairs(this.parent);if("xySwapped"===d.plotInfo.axisPlacement)if("bottom"===this.parent._position)for(var b=0;b<d.axisY.length;b++)this.parent===d.axisY[b]&&(d.axisY[b]._crosshairValue=a>=d.axisY[b].viewportMinimum&&
|
|
813
813
|
a<=d.axisY[b].viewportMaximum?a:null);else if("top"===this.parent._position)for(b=0;b<d.axisY2.length;b++)this.parent===d.axisY2[b]&&(d.axisY2[b]._crosshairValue=a>=d.axisY2[b].viewportMinimum&&a<=d.axisY2[b].viewportMaximum?a:null);else if("left"===this.parent._position)for(b=0;b<d.axisX.length;b++)this.parent===d.axisX[b]&&(d.axisX[b]._crosshairValue=a>=d.axisX[b].viewportMinimum&&a<=d.axisX[b].viewportMaximum?a:null);else{if("right"===this.parent._position)for(b=0;b<d.axisX2.length;b++)this.parent===
|
|
814
814
|
d.axisX2[b]&&(d.axisX2[b]._crosshairValue=a>=d.axisX2[b].viewportMinimum&&a<=d.axisX2[b].viewportMaximum?a:null)}else if("bottom"===this.parent._position)for(b=0;b<d.axisX.length;b++)this.parent===d.axisX[b]&&(d.axisX[b]._crosshairValue=a>=d.axisX[b].viewportMinimum&&a<=d.axisX[b].viewportMaximum?a:null);else if("top"===this.parent._position)for(b=0;b<d.axisX2.length;b++)this.parent===d.axisX2[b]&&(d.axisX2[b]._crosshairValue=a>=d.axisX2[b].viewportMinimum&&a<=d.axisX2[b].viewportMaximum?a:null);
|
|
815
815
|
else if("left"===this.parent._position)for(b=0;b<d.axisY.length;b++)this.parent===d.axisY[b]&&(d.axisY[b]._crosshairValue=a>=d.axisY[b].viewportMinimum&&a<=d.axisY[b].viewportMaximum?a:null);else if("right"===this.parent._position)for(b=0;b<d.axisY2.length;b++)this.parent===d.axisY2[b]&&(d.axisY2[b]._crosshairValue=a>=d.axisY2[b].viewportMinimum&&a<=d.axisY2[b].viewportMaximum?a:null);for(b=0;b<d.axisX.length;b++)a=d.axisX[b]._crosshairValue,d.axisX[b].crosshair&&(d.axisX[b].crosshair.enabled&&!s(a)&&
|
|
@@ -929,7 +929,7 @@ this.chart.requestAnimFrame.call(window,function(){f.animate.call(f)}):this.char
|
|
|
929
929
|
d){if(0!==a){var c=d.dest,b=d.source.canvas,e=d.animationBase;c.drawImage(b,0,0,b.width,b.height,e-e*a,0,a*c.canvas.width/la,c.canvas.height/la)}},xClipAnimation:function(a,d){if(0!==a){var c=d.dest,b=d.source.canvas;c.save();0<a&&c.drawImage(b,0,0,b.width*a,b.height,0,0,b.width*a/la,b.height/la);c.restore()}},fadeInAnimation:function(a,d){if(0!==a){var c=d.dest,b=d.source.canvas;c.save();c.globalAlpha=a;c.drawImage(b,0,0,b.width,b.height,0,0,c.canvas.width/la,c.canvas.height/la);c.restore()}},easing:{linear:function(a,
|
|
930
930
|
d,c,b){return c*a/b+d},easeOutQuad:function(a,d,c,b){return-c*(a/=b)*(a-2)+d},easeOutQuart:function(a,d,c,b){return-c*((a=a/b-1)*a*a*a-1)+d},easeInQuad:function(a,d,c,b){return c*(a/=b)*a+d},easeInQuart:function(a,d,c,b){return c*(a/=b)*a*a*a+d}}},W={drawMarker:function(a,d,c,b,e,f,h,n){if(c){var s=1;c.fillStyle=f?f:"#000000";c.strokeStyle=h?h:"#000000";c.lineWidth=n?n:0;c.setLineDash&&c.setLineDash(J("solid",n));"circle"===b?(c.moveTo(a,d),c.beginPath(),c.arc(a,d,e/2,0,2*Math.PI,!1),f&&c.fill(),
|
|
931
931
|
n&&(h?c.stroke():(s=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=s))):"square"===b?(c.beginPath(),c.rect(a-e/2,d-e/2,e,e),f&&c.fill(),n&&(h?c.stroke():(s=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=s))):"triangle"===b?(c.beginPath(),c.moveTo(a-e/2,d+e/2),c.lineTo(a+e/2,d+e/2),c.lineTo(a,d-e/2),c.closePath(),f&&c.fill(),n&&(h?c.stroke():(s=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=s)),c.beginPath()):
|
|
932
|
-
"cross"===b&&(c.strokeStyle=f,c.lineWidth=e/4,c.beginPath(),c.moveTo(a-e/2,d-e/2),c.lineTo(a+e/2,d+e/2),c.stroke(),c.moveTo(a+e/2,d-e/2),c.lineTo(a-e/2,d+e/2),c.stroke())}},drawMarkers:function(a){for(var d=0;d<a.length;d++){var c=a[d];W.drawMarker(c.x,c.y,c.ctx,c.type,c.size,c.color,c.borderColor,c.borderThickness)}}};return n}();B.version="v3.7.
|
|
932
|
+
"cross"===b&&(c.strokeStyle=f,c.lineWidth=e/4,c.beginPath(),c.moveTo(a-e/2,d-e/2),c.lineTo(a+e/2,d+e/2),c.stroke(),c.moveTo(a+e/2,d-e/2),c.lineTo(a-e/2,d+e/2),c.stroke())}},drawMarkers:function(a){for(var d=0;d<a.length;d++){var c=a[d];W.drawMarker(c.x,c.y,c.ctx,c.type,c.size,c.color,c.borderColor,c.borderThickness)}}};return n}();B.version="v3.7.31 GA";window.CanvasJS&&(B&&!window.CanvasJS.Chart)&&(window.CanvasJS.Chart=B)})();
|
|
933
933
|
|
|
934
934
|
/*
|
|
935
935
|
excanvas is used to support IE678 which do not implement HTML5 Canvas Element. You can safely remove the following excanvas code if you don't need to support older browsers.
|