@canvasjs/stockcharts 1.14.10 → 1.15.0
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.stock.min.js +206 -206
- package/package.json +1 -1
package/LICENSE
CHANGED
package/canvasjs.stock.min.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
CanvasJS StockChart - v1.
|
|
2
|
+
CanvasJS StockChart - v1.15.0 GA - https://canvasjs.com/
|
|
3
3
|
Copyright 2025 fenopix
|
|
4
4
|
|
|
5
5
|
--------------------- License Information --------------------
|
|
@@ -547,16 +547,16 @@ null!==m.innerRadius?Xa(m.innerRadius,A,0.7*A):0.7*A,F=Math.min(E/A,(A-1)/A);thi
|
|
|
547
547
|
0,function(a){var b=B.plotArea.ctx;b.clearRect(r.x1,r.y1,r.width,r.height);b.fillStyle=B.backgroundColor;b.fillRect(r.x1,r.y1,r.width,r.height);for(var b=h[0].startAngle+2*Math.PI*a,c=0;c<p.length;c++){var f=0===c?h[c].startAngle:g,g=f+(h[c].endAngle-h[c].startAngle),l=!1;g>b&&(g=b,l=!0);var e=p[c].color?p[c].color:m._colorSet[c%m._colorSet.length];g>f&&d(B.plotArea.ctx,h[c].center,h[c].radius,e,m.type,f,g,m.fillOpacity,h[c].percentInnerRadius);if(l)break}k();B.dispatchEvent("dataAnimationIterationEnd",
|
|
548
548
|
{chart:B});1<=a&&B.dispatchEvent("dataAnimationEnd",{chart:B})},function(){B.disableToolTip=!1;B._animator.animate(0,B.animatedRender?500:0,function(a){c(a,!1);k();B.dispatchEvent("dataAnimationIterationEnd",{chart:B})});B.dispatchEvent("dataAnimationEnd",{chart:B})});m.radius=A;"doughnut"===m.type&&(m.innerRadius=E)}}};var q=function(a,g,c,b){"undefined"===typeof c&&(c=1);0>=Math.round(g.y4-g.y1)||(a.save(),a.globalAlpha=c,a.beginPath(),a.moveTo(Math.round(g.x1),Math.round(g.y1)),a.lineTo(Math.round(g.x2),
|
|
549
549
|
Math.round(g.y2)),a.lineTo(Math.round(g.x3),Math.round(g.y3)),a.lineTo(Math.round(g.x4),Math.round(g.y4)),"undefined"!==g.x5&&(a.lineTo(Math.round(g.x5),Math.round(g.y5)),a.lineTo(Math.round(g.x6),Math.round(g.y6))),a.closePath(),a.fillStyle=b?b:g.color,a.fill(),a.globalAplha=1,a.restore())};k.prototype.renderFunnel=function(a){function g(){for(var a=0,b=[],c=0;c<x.length;c++){if("undefined"===typeof x[c].y)return-1;x[c].y="number"===typeof x[c].y?x[c].y:0;a+=Math.abs(x[c].y)}if(0===a)return-1;for(c=
|
|
550
|
-
b[0]=0;c<x.length;c++)b.push(Math.abs(x[c].y)*F/a);return b}function c(){var a=X,b=V,c=ca,f
|
|
551
|
-
m)/2,a-=d,n=
|
|
552
|
-
x[E]:x[S];a=b.color?b.color:u.reversed?u._colorSet[(x.length-1-S)%u._colorSet.length]:u._colorSet[S%u._colorSet.length];c=b.indexLabelPlacement||u.indexLabelPlacement||"outside";s=b.indexLabelTextAlign||u.indexLabelTextAlign||"left";
|
|
550
|
+
b[0]=0;c<x.length;c++)b.push(Math.abs(x[c].y)*F/a);return b}function c(){var a=X,b=V,c=ca,g=$,f,l;f=M;l=O-ia;g=Math.abs((l-f)*(b-a+(g-c))/2);c=$-ca;f=l-f;l=c*(l-O);l=Math.abs(l);l=g+l;for(var g=[],h=0,e=0;e<x.length;e++){if("undefined"===typeof x[e].y)return-1;x[e].y="number"===typeof x[e].y?x[e].y:0;h+=Math.abs(x[e].y)}if(0===h)return-1;for(var d=g[0]=0,m=0,n,p,b=b-a,d=!1,e=0;e<x.length;e++)a=Math.abs(x[e].y)*l/h,d?n=0==Number(c.toFixed(3))?0:a/c:(p=ga*ga*b*b-4*Math.abs(ga)*a,0>p?(p=c,d=(b+p)*(f-
|
|
551
|
+
m)/2,a-=d,n=f-m,m+=f-m,n+=0==p?0:a/p,m+=a/p,d=!0):(n=(Math.abs(ga)*b-Math.sqrt(p))/2,p=b-2*n/Math.abs(ga),m+=n,m>f&&(m-=n,p=c,d=(b+p)*(f-m)/2,a-=d,n=f-m,m+=f-m,n+=a/p,m+=a/p,d=!0),b=p)),g.push(n);return g}function b(){if(u&&x){for(var a,b,c,f,g,l,d,m,n,p,r,q,D,B,k,t,s,z,w=[],C=[],A={percent:null,total:null},N=null,S=0;S<x.length;S++)z=P[S],z="undefined"!==typeof z.x5?(z.y2+z.y4)/2:(z.y2+z.y3)/2,z=h(z).x2+1,w[S]=L-(isNaN(z)?0:z)-ba;z=0.5*ba;for(var S=0,E=x.length-1;S<x.length||0<=E;S++,E--){b=u.reversed?
|
|
552
|
+
x[E]:x[S];a=b.color?b.color:u.reversed?u._colorSet[(x.length-1-S)%u._colorSet.length]:u._colorSet[S%u._colorSet.length];c=b.indexLabelPlacement||u.indexLabelPlacement||"outside";s=b.indexLabelTextAlign||u.indexLabelTextAlign||"left";f=b.indexLabelBackgroundColor||u.indexLabelBackgroundColor||(v?"transparent":null);g=b.indexLabelBorderColor||u.indexLabelBorderColor||(v?"transparent":null);l=e(b.indexLabelBorderThickness)?u.indexLabelBorderThickness:b.indexLabelBorderThickness;d=e(b.indexLabelPadding)?
|
|
553
553
|
u.options.indexLabelPadding?u.options.indexLabelPadding:u.indexLabelPadding:b.indexLabelPadding;m=b.indexLabelFontColor||u.indexLabelFontColor||"#979797";n=e(b.indexLabelFontSize)?u.indexLabelFontSize:b.indexLabelFontSize;p=b.indexLabelFontStyle||u.indexLabelFontStyle||"normal";r=b.indexLabelFontFamily||u.indexLabelFontFamily||"arial";q=b.indexLabelFontWeight||u.indexLabelFontWeight||"normal";a=b.indexLabelLineColor||u.options.indexLabelLineColor||a;D="number"===typeof b.indexLabelLineThickness?b.indexLabelLineThickness:
|
|
554
554
|
"number"===typeof u.indexLabelLineThickness?u.indexLabelLineThickness:2;B=b.indexLabelLineDashType||u.indexLabelLineDashType||"solid";k="undefined"!==typeof b.indexLabelWrap?b.indexLabelWrap:"undefined"!==typeof u.indexLabelWrap?u.indexLabelWrap:!0;t=u.dataPointIds[S];y._eventManager.objectMap[t]={id:t,objectType:"dataPoint",dataPointIndex:S,dataSeriesIndex:0,funnelSection:P[u.reversed?x.length-1-S:S]};"inside"===u.indexLabelPlacement&&(w[S]=S!==Z?u.reversed?P[S].x2-P[S].x1:P[S].x3-P[S].x4:P[S].x3-
|
|
555
555
|
P[S].x6,20>w[S]&&(w[S]=S!==Z?u.reversed?P[S].x3-P[S].x4:P[S].x2-P[S].x1:P[S].x2-P[S].x1,w[S]/=2));t=b.indexLabelMaxWidth?b.indexLabelMaxWidth:u.options.indexLabelMaxWidth?u.indexLabelMaxWidth:w[S];if(t>w[S]||0>t)t=w[S];C[S]="inside"===u.indexLabelPlacement?k?Math.max(P[S].height,n):1.5*n+("object"===typeof d?(d.top||0)+(d.bottom||0):2*d):!1;A=y.getPercentAndTotal(u,b);if(u.indexLabelFormatter||b.indexLabelFormatter)N={chart:y.options,dataSeries:u,dataPoint:b,total:A.total,percent:A.percent};b=b.indexLabelFormatter?
|
|
556
|
-
b.indexLabelFormatter(N):b.indexLabel?y.replaceKeywordsWithValue(b.indexLabel,b,u,S):u.indexLabelFormatter?u.indexLabelFormatter(N):u.indexLabel?y.replaceKeywordsWithValue(u.indexLabel,b,u,S):b.label?b.label:"";0>=D&&(D=0);1E3>t&&1E3-t<z&&(t+=1E3-t);e(u.options.indexLabelMaxWidth)&&(u.indexLabelMaxWidth=e(u.indexLabelMaxWidth)?t:Math.max(t,u.indexLabelMaxWidth));Q.roundRect||Fa(Q);c=new na(Q,{fontSize:n,fontFamily:r,fontColor:m,fontStyle:p,fontWeight:q,horizontalAlign:c,textAlign:s,backgroundColor:
|
|
557
|
-
borderColor:
|
|
558
|
-
|
|
559
|
-
J[d].textBlock.width=J[d].textBlock.width===2*J[d].textBlock.padding?0:J[d].textBlock.width,J[d].textBlock.x=L-e,c=J[d].textBlock.height<J[d].textBlock.maxHeight?J[d].textBlock.height:J[d].textBlock.maxHeight,
|
|
556
|
+
b.indexLabelFormatter(N):b.indexLabel?y.replaceKeywordsWithValue(b.indexLabel,b,u,S):u.indexLabelFormatter?u.indexLabelFormatter(N):u.indexLabel?y.replaceKeywordsWithValue(u.indexLabel,b,u,S):b.label?b.label:"";0>=D&&(D=0);1E3>t&&1E3-t<z&&(t+=1E3-t);e(u.options.indexLabelMaxWidth)&&(u.indexLabelMaxWidth=e(u.indexLabelMaxWidth)?t:Math.max(t,u.indexLabelMaxWidth));Q.roundRect||Fa(Q);c=new na(Q,{fontSize:n,fontFamily:r,fontColor:m,fontStyle:p,fontWeight:q,horizontalAlign:c,textAlign:s,backgroundColor:f,
|
|
557
|
+
borderColor:g,borderThickness:l,maxWidth:t,maxHeight:!1===C[S]?(k?4.28571429*n:1.5*n)+("object"===typeof d?(d.top||0)+(d.bottom||0):2*d):C[S],text:b,padding:d,textBaseline:"middle"});c.measureText();c.height=c.height===2*c.padding?0:c.height;c.width=c.width===2*c.padding?0:c.width;J.push({textBlock:c,id:u.reversed?E:S,isDirty:!1,lineColor:a,lineThickness:D,lineDashType:B,height:c.height<c.maxHeight?c.height:c.maxHeight,width:c.width<c.maxWidth?c.width:c.maxWidth})}}}function f(){var a,b,c,f,g,l=[];
|
|
558
|
+
g=!1;c=0;for(var h,e=L-V-ba/2,e=u.options.indexLabelMaxWidth?u.indexLabelMaxWidth>e?e:u.indexLabelMaxWidth:e,d=J.length-1;0<=d;d--){h=x[J[d].id];c=J[d];f=c.textBlock;b=(a=r(d)<P.length?J[r(d)]:null)?a.textBlock:null;c=c.height;a&&f.y+c+ha>b.y&&(g=!0);c=h.indexLabelMaxWidth||e;if(c>e||0>c)c=e;l.push(c)}if(g)for(d=J.length-1;0<=d;d--)a=P[d],J[d].textBlock.maxWidth=l[l.length-(d+1)],J[d].textBlock.measureText(),J[d].textBlock.height=J[d].textBlock.height===2*J[d].textBlock.padding?0:J[d].textBlock.height,
|
|
559
|
+
J[d].textBlock.width=J[d].textBlock.width===2*J[d].textBlock.padding?0:J[d].textBlock.width,J[d].textBlock.x=L-e,c=J[d].textBlock.height<J[d].textBlock.maxHeight?J[d].textBlock.height:J[d].textBlock.maxHeight,g=J[d].textBlock.width<J[d].textBlock.maxWidth?J[d].textBlock.width:J[d].textBlock.maxWidth,J[d].height=c,J[d].width=g,c="undefined"!==typeof a.x5?(a.y2+a.y4)/2:(a.y2+a.y3)/2,J[d].textBlock.y=c-J[d].height/2,u.reversed?(J[d].textBlock.y+J[d].height>Y+A&&(J[d].textBlock.y=Y+A-J[d].height),J[d].textBlock.y<
|
|
560
560
|
ya-A&&(J[d].textBlock.y=ya-A)):(J[d].textBlock.y<Y-A&&(J[d].textBlock.y=Y-A),J[d].textBlock.y+J[d].height>ya+A&&(J[d].textBlock.y=ya+A-J[d].height))}function l(){var a,b,c,f;if("inside"!==u.indexLabelPlacement)for(var g=0;g<P.length;g++)0==J[g].textBlock.text.length?J[g].isDirty=!0:(a=P[g],c="undefined"!==typeof a.x5?(a.y2+a.y4)/2:(a.y2+a.y3)/2,b=u.reversed?"undefined"!==typeof a.x5?c>aa?h(c).x2+1:(a.x2+a.x3)/2+1:(a.x2+a.x3)/2+1:"undefined"!==typeof a.x5?c<aa?h(c).x2+1:(a.x4+a.x3)/2+1:(a.x2+a.x3)/
|
|
561
561
|
2+1,J[g].textBlock.x=b+ba,J[g].textBlock.y=c-J[g].height/2,u.reversed?(J[g].textBlock.y+J[g].height>Y+A&&(J[g].textBlock.y=Y+A-J[g].height),J[g].textBlock.y<ya-A&&(J[g].textBlock.y=ya-A)):(J[g].textBlock.y<Y-A&&(J[g].textBlock.y=Y-A),J[g].textBlock.y+J[g].height>ya+A&&(J[g].textBlock.y=ya+A-J[g].height)));else for(g=0;g<P.length;g++)0==J[g].textBlock.text.length?J[g].isDirty=!0:(a=P[g],b=a.height,c=J[g].height,f=J[g].width,b>=c?(b=g!=Z?(a.x4+a.x3)/2-f/2:(a.x5+a.x4)/2-f/2,c=g!=Z?(a.y1+a.y3)/2-c/2:
|
|
562
562
|
(a.y1+a.y4)/2-c/2,J[g].textBlock.x=b,J[g].textBlock.y=c):J[g].isDirty=!0)}function d(){function a(b,c){var g;if(0>b||b>=J.length)return 0;var f,l=J[b].textBlock;if(0>c){c*=-1;f=n(b);g=k(f,b);if(g>=c)return l.y-=c,c;if(0==b)return 0<g&&(l.y-=g),g;g+=a(f,-(c-g));0<g&&(l.y-=g);return g}f=r(b);g=k(b,f);if(g>=c)return l.y+=c,c;if(b==P.length-1)return 0<g&&(l.y+=g),g;g+=a(f,c-g);0<g&&(l.y+=g);return g}function b(){var a,g,f,l,h=0,e;l=(O-M+2*A)/p;e=p;for(var d,m=1;m<e;m++){f=m*l;for(var q=J.length-1;0<=
|
|
@@ -668,122 +668,122 @@ this.sessionVariables.labelMaxHeight=d:this.sessionVariables.labelMaxHeight,a.me
|
|
|
668
668
|
0)+(d.labelPadding.bottom||0):2*d.labelPadding);if("left"===this._position||"right"===this._position)e(d.options.labelWrap)&&!e(this.sessionVariables.stripLineLabelMaxHeight)?s=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=s=d.labelWrap?0.8*this.chart.width>>0:1.5*d.labelFontSize+("object"===typeof d.labelPadding?(d.labelPadding.top||0)+(d.labelPadding.bottom||0):2*d.labelPadding);e(d.labelBackgroundColor)&&(d.labelBackgroundColor="#EEEEEE")}else g="bottom"===
|
|
669
669
|
this._position||"top"===this._position?0.9*this.chart.width>>0:0.9*this.chart.height>>0,s=e(d.options.labelWrap)||d.labelWrap?"bottom"===this._position||"top"===this._position?0.8*this.chart.width>>0:0.8*this.chart.height>>0:1.5*d.labelFontSize+("object"===typeof d.labelPadding?(d.labelPadding.top||0)+(d.labelPadding.bottom||0):2*d.labelPadding),e(d.labelBackgroundColor)&&(e(d.startValue)&&0!==d.startValue?d.labelBackgroundColor=v?"transparent":null:d.labelBackgroundColor="#EEEEEE");a=new na(this.ctx,
|
|
670
670
|
{x:0,y:0,backgroundColor:d.labelBackgroundColor,borderColor:d.labelBorderColor,borderThickness:d.labelBorderThickness,cornerRadius:d.labelCornerRadius,maxWidth:d.options.labelMaxWidth?d.options.labelMaxWidth:g,maxHeight:s,angle:this.labelAngle,text:d.labelFormatter?d.labelFormatter({chart:this.chart,axis:this,stripLine:d}):d.label,textAlign:d.labelTextAlign,fontSize:d.labelFontSize,fontFamily:d.labelFontFamily,fontWeight:d.labelFontWeight,fontColor:d.labelFontColor||d.color,fontStyle:d.labelFontStyle,
|
|
671
|
-
textBaseline:"middle",padding:d.labelPadding});this._stripLineLabels.push({position:d.value,textBlock:a,effectiveHeight:null,stripLine:d})}};y.prototype.createLabelsAndCalculateWidth=function(){var a=0,g=0;this._labels=[];this._stripLineLabels=[];var c=0,b=[],f=this.chart.isNavigator?0:5;this.labelEffectiveWidth=e(this.labelEffectiveWidth)?0:this.labelEffectiveWidth;if("left"===this._position||"right"===this._position){this.createLabels();for(g=0;g<this._labels.length;g++)
|
|
672
|
-
d=d.measureText(),q=0,q=0===this.labelAngle?d.width:d.width*Math.cos(Math.PI/180*Math.abs(this.labelAngle))+d.height*Math.sin(Math.PI/180*Math.abs(this.labelAngle));a<=q&&(this.labelEffectiveWidth=a=q);this._labels[g].effectiveWidth=q}for(g=0;g<this._stripLineLabels.length;g++)"outside"===this._stripLineLabels[g].stripLine.labelPlacement&&(this._stripLineLabels[g].stripLine.value>=this.viewportMinimum&&
|
|
673
|
-
d=d.measureText(),q=0===this.labelAngle?d.width:d.width*Math.cos(Math.PI/180*Math.abs(this.labelAngle))+d.height*Math.sin(Math.PI/180*Math.abs(this.labelAngle)),c=Math.max(c,this._stripLineLabels[g].stripLine.tickLength),"inside"===this.labelPlacement&&(a-=0<b.length?Math.max.apply(null,b):0,a+=Math.max(q,0<b.length?Math.max.apply(null,b):q)),a<=q&&(a=q),this.stripLineLabelEffectiveWidth=this._stripLineLabels[g].effectiveWidth=
|
|
674
|
-
this._titleTextBlock.measureText().height+2:0)+a+("inside"===this.tickPlacement?c+this.tickLength:Math.max(c,this.tickLength))+f};y.prototype.createLabelsAndCalculateHeight=function(){var a=0;this._labels=[];this._stripLineLabels=[];var g=0,c,b=0,f=this.chart.isNavigator?0:"bottom"===this._position&&"inside"===this.labelPlacement||"top"===this._position&&"outside"===this.labelPlacement?2:5;this.labelEffectiveHeight=e(this.labelEffectiveHeight)?
|
|
675
|
-
"top"===this._position){this.createLabels();for(b=0;b<this._labels.length;b++){c=this._labels[b].textBlock;c=c.measureText();var q=0,q=0===this.labelAngle?c.height:c.width*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+c.height*Math.cos(Math.PI/180*Math.abs(this.labelAngle));a<=q&&(this.labelEffectiveHeight=a=q);this._labels[b].effectiveHeight=
|
|
676
|
-
this._stripLineLabels[b].stripLine.value<=this.viewportMaximum)&&(c=this._stripLineLabels[b].textBlock,c=c.measureText(),q=0===this.labelAngle?c.height:c.width*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+c.height*Math.cos(Math.PI/180*Math.abs(this.labelAngle)),g=Math.max(g,this._stripLineLabels[b].stripLine.tickLength),"inside"===
|
|
677
|
-
q,d.push(q));"inside"===this.labelPlacement&&(a+=f)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===this.tickPlacement?g+this.tickLength:Math.max(g,this.tickLength))+f};y.setLayout=function(a,g,c,b,f,d){var q,k,B,m,p=a[0]?a[0].chart:g[0].chart,n=p.isNavigator?0:10,r=p._axes;
|
|
678
|
-
if(b&&0<b.length)for(h=0;h<b.length;h++)b[h].calculateAxisParameters();for(h=0;h<r.length;h++)if(r[h]&&r[h].scaleBreaks&&r[h].scaleBreaks._appliedBreaks.length)for(var t=r[h].scaleBreaks._appliedBreaks,s=0;s<t.length&&!(t[s].startValue>r[h].viewportMaximum);s++)t[s].endValue<r[h].viewportMinimum||
|
|
679
|
-
G=L=M=!1,h=0;h<r.length;h++)r[h]&&r[h].title&&(r[h]._titleTextBlock=new na(r[h].ctx,{text:r[h].title,fontSize:r[h].titleFontSize,fontFamily:r[h].titleFontFamily,fontWeight:r[h].titleFontWeight,fontColor:r[h].titleFontColor,fontStyle:r[h].titleFontStyle,borderColor:r[h].titleBorderColor,borderThickness:r[h].titleBorderThickness,
|
|
680
|
-
1.5*r[h].titleFontSize+("object"===typeof r[h].titlePadding?(r[h].titlePadding.top||0)+(r[h].titlePadding.bottom||0):2*r[h].titlePadding);r[h]._titleTextBlock.maxWidth=r[h].titleMaxWidth||d.height;r[h]._titleTextBlock.maxHeight=r[h].titleWrap?0.8*d.width:Math.min(O,0.8*d.width);switch(r[h]._position){case "left":r[h]._titleTextBlock.angle
|
|
681
|
-
0.8*d.height:Math.min(O,0.8*d.height),r[h]._titleTextBlock.angle=0}}if("normal"===f){for(var x=[],w=[],v=[],y=[],Q=[],R=[],Y=[],I=[];4>s;){var ba=0,X=0,V=0,$=0,ca=O=f=0,fa=0,aa=0,Z=0,P=q=0;if(c&&0<c.length)for(v=[],h=q=0;h<c.length;h++)v.push(Math.ceil(c[h]?c[h].createLabelsAndCalculateWidth():0)),q+=v[h],ca+=c[h]&&!p.isNavigator?
|
|
682
|
-
0)),P+=y[h],fa+=b[h]?b[h].margin:0;else y.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateWidth():0));I.push(y);q=Math.round(d.x1+q+ca-(c[0]?("inside"===c[0].labelPlacement?c[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===c[0].tickPlacement?c[0].tickLength:0):0))+(!c.length||"inside"!==c[c.length-
|
|
683
|
-
(p.isNavigator?0:5):0)+("inside"===b[0].tickPlacement?b[0].tickLength:0):0),p.width-n));if(a&&0<a.length)for(x=[],h=aa=0;h<a.length;h++)a[h]&&(a[h].lineCoordinates={}),a[h].lineCoordinates.width=Math.abs(B-q),a[h].title&&(a[h]._titleTextBlock.maxWidth=0<a[h].titleMaxWidth&&a[h].titleMaxWidth<a[h].lineCoordinates.width?
|
|
684
|
-
a[0].createLabelsAndCalculateHeight():0));Q.push(x);if(g&&0<g.length)for(w=[],h=Z=0;h<g.length;h++)g[h]&&(g[h].lineCoordinates={}),g[h].lineCoordinates.width=Math.abs(B-q),g[h].title&&(g[h]._titleTextBlock.maxWidth=0<g[h].titleMaxWidth&&g[h].titleMaxWidth<g[h].lineCoordinates.width?g[h].titleMaxWidth:g[h].lineCoordinates.width),
|
|
685
|
-
0));R.push(w);if(a&&0<a.length){for(h=0;h<a.length;h++){if(a[h]){a[h].lineCoordinates.x1=q;B=Math.round(Math.min(d.x2-P-fa+(b[0]?("inside"===b[0].labelPlacement?b[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===b[0].tickPlacement?b[0].tickLength:0):0)-(!b.length||"inside"!==b[b.length-1].labelPlacement||b[b.length-
|
|
686
|
-
a[h]._labels[a[h]._labels.length-2]:a[h]._labels[a[h]._labels.length-1];C=k.textBlock.width*Math.cos(Math.PI/180*Math.abs(k.textBlock.angle))+(k.textBlock.height-k.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(k.textBlock.angle));u=W.textBlock.width*Math.cos(Math.PI/180*Math.abs(W.textBlock.angle))+W.textBlock.height*
|
|
687
|
-
2)*Math.sin(Math.PI/180*W.textBlock.angle),E+m>B&&(a[h].convertPixelToValue(E)>=a[h].viewportMinimum&&a[h].convertPixelToValue(E)<=a[h].viewportMaximum)&&(k+=E+m-B-P)):0>a[h].labelAngle?A-C<q&&A-C<a[h].viewportMinimum&&(F=q-(ca+a[h].tickLength+v+A-C+a[h].labelFontSize/2)):0===a[h].labelAngle&&(E+u>B&&(a[h].convertPixelToValue(E)>=
|
|
688
|
-
a[h].maximum&&a[h].viewportMinimum===a[h].minimum&&0<a[h].labelAngle&&0<k?B-=k:a[h].viewportMaximum===a[h].maximum&&a[h].viewportMinimum===a[h].minimum&&0>a[h].labelAngle&&0<F?q+=F:a[h].viewportMaximum===a[h].maximum&&a[h].viewportMinimum===a[h].minimum&&0===a[h].labelAngle&&(0<F&&(q+=F),0<k&&(B-=k)));p.panEnabled?aa=e(p.sessionVariables.axisX.height)||
|
|
689
|
-
a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5);m=Math.round(d.y2)-("inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5);a[h].lineCoordinates.x2=B;a[h].lineCoordinates.width=B-q;a[h].lineCoordinates.y1=k;a[h].lineCoordinates.y2=
|
|
690
|
-
(a[h].lineCoordinates.y1=a[0].bounds.y1+ba+(a[h].labelEffectiveHeight||0)+(p.isNavigator?0:2),a[h].lineCoordinates.y2=a[h].lineCoordinates.y1+a[h].lineThickness/2);"inside"===a[h].tickPlacement&&(a[h].lineCoordinates.y1+=a[h].tickLength,a[h].lineCoordinates.y2=a[h].lineCoordinates.y1+a[h].lineThickness/2)}ba+=x[h]+a[h].margin}ca=0===a[0].dataSeries.length;if(!ca)for(h=
|
|
691
|
-
(ca?a[h].lineCoordinates.x2>a[0].lineCoordinates.x2&&(a[0].lineCoordinates.x2=a[h].lineCoordinates.x2):(a[0].lineCoordinates.x2=a[h].lineCoordinates.x2,ca=!0),a[0].lineCoordinates.width=a[0].lineCoordinates.x2-a[0].lineCoordinates.x1)}if(g&&0<g.length)for(h=0;h<g.length;h++)g[h].lineCoordinates.x1=q,g[h].lineCoordinates.x2=B,g[h].lineCoordinates.width=
|
|
692
|
-
1],C=k.textBlock.width*Math.cos(Math.PI/180*Math.abs(k.textBlock.angle))+(k.textBlock.height-W.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(k.textBlock.angle)),u=W.textBlock.width*Math.cos(Math.PI/180*Math.abs(W.textBlock.angle))+(W.textBlock.height-W.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(W.textBlock.angle))),
|
|
693
|
-
Math.round(d.y1)+("inside"!==g[g.length-1].labelPlacement||g[g.length-1].title||g[g.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),m=g[h].lineCoordinates.y1=k+Z+O-X,g[h].lineCoordinates.y2=k,g[h].bounds={x1:q,y1:k+(Z+O-w[h]-X),x2:B,y2:m,width:B-q},g[h].bounds.height=g[h].bounds.y2-g[h].bounds.y1,"inside"===g[h].labelPlacement&&
|
|
694
|
-
if(c&&0<c.length)for(h=0;h<c.length;h++)ca=p.isNavigator?0:10,c[h]&&(q=B=Math.round((a[0]?a[0].lineCoordinates.x1:g[0].lineCoordinates.x1)+(c[0]?("inside"===c[0].labelPlacement?c[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===c[0].tickPlacement?c[0].tickLength:0):0)),ca=Math.max(c[h]._labels&&0<c[h]._labels.length?c[h]._labels[c[h]._labels.length-
|
|
695
|
-
g[0].tickPlacement?g[0].tickLength:0):0),0<g.length?0:ca))+(!g.length||"inside"!==g[g.length-1].labelPlacement||g[g.length-1].title||g[g.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),ca=0<a.length?0:c[h]._labels&&0<c[h]._labels.length?c[h]._labels[0].textBlock.height/2:n,m=Math.round(d.y2-aa+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveHeight+
|
|
696
|
-
a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),c[h].lineCoordinates={x1:q-V,y1:k,x2:B-V,y2:m,height:Math.abs(m-k)},c[h].bounds={x1:q-(v[h]+V),y1:k,x2:B-V,y2:m,height:m-k},c[h].bounds.width=c[h].bounds.x2-c[h].bounds.x1,"inside"===c[h].labelPlacement&&(c[h].lineCoordinates.x1=Math.round(c[0].bounds.x1+v[0]-V-(c[h].labelEffectiveWidth||
|
|
697
|
-
c[h].tickLength,c[h].lineCoordinates.x2=c[h].lineCoordinates.x1+c[h].lineThickness/2),c[h].title&&(c[h]._titleTextBlock.maxWidth=0<c[h].titleMaxWidth&&c[h].titleMaxWidth<c[h].lineCoordinates.height?c[h].titleMaxWidth:c[h].lineCoordinates.height),V+=v[h]+c[h].margin);if(b&&0<b.length)for(h=0;h<b.length;h++)b[h]&&(q=B=Math.round((a[0]?a[0].lineCoordinates.x2:g[0].lineCoordinates.x2)-
|
|
698
|
-
b[0].tickLength:0):0)),ca=Math.max(b[h]._labels&&0<b[h]._labels.length?b[h]._labels[b[h]._labels.length-1].textBlock.height/2:0,n),k=Math.round(Math.max(d.y1+Z+O-(g[0]?("inside"===g[0].labelPlacement?g[0].labelEffectiveHeight+(p.isNavigator?0:5):0)+("inside"===g[0].tickPlacement?g[0].tickLength:0):0)+(!g.length||"inside"!==g[g.length-1].labelPlacement||g[g.length-1].title||g[g.length-
|
|
699
|
-
b[h]._labels[0].textBlock.height/2:0,m=Math.round(d.y2-(aa+f+ca)+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveHeight+(p.isNavigator?0:2):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0))-(!a.length||"inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),b[h].lineCoordinates={x1:q+$,y1:k,
|
|
700
|
-
"inside"===b[h].labelPlacement&&(b[h].lineCoordinates.x1=Math.round(b[0].bounds.x1+$+(b[h].labelEffectiveWidth||0)+(p.isNavigator?0:5)),b[h].lineCoordinates.x2=b[h].lineCoordinates.x1+b[h].lineThickness/2),"inside"===b[h].tickPlacement&&(b[h].lineCoordinates.x1+=b[h].tickLength,b[h].lineCoordinates.x2=b[h].lineCoordinates.x1+b[h].lineThickness/2),b[h].title&&(b[h]._titleTextBlock.maxWidth=
|
|
701
|
-
|
|
702
|
-
q=a[h].getApparentDifference(a[h].viewportMinimum,q),E=a[h].logarithmic?(1<q?Math.log(q)/a[h].conversionParameters.lnLogarithmBase*Math.abs(a[h].conversionParameters.pixelPerUnit):0)+a[h].lineCoordinates.x1:(0<q?q*Math.abs(a[h].conversionParameters.pixelPerUnit):0)+a[h].lineCoordinates.x1));if(g&&0<g.length)for(h=0;h<g.length;h++)g[h].calculateValueToPixelConversionParameters(),g[h].calculateBreaksSizeInValues(),
|
|
703
|
-
g[h].viewportMinimum)/g[h].conversionParameters.lnLogarithmBase:g[h]._labels[1].position-g[h].viewportMinimum)*Math.abs(g[h].conversionParameters.pixelPerUnit)+g[h].lineCoordinates.x1,q=g[h]._labels[g[h]._labels.length-("dateTime"===g[h].valueType?2:1)].position,q=g[h].getApparentDifference(g[h].viewportMinimum,q),E=g[h].logarithmic?(1<q?Math.log(q)/g[h].conversionParameters.lnLogarithmBase*Math.abs(g[h].conversionParameters.pixelPerUnit):
|
|
704
|
-
0)+g[h].lineCoordinates.x1);for(h=0;h<r.length;h++)"axisY"===r[h].type&&(r[h].calculateValueToPixelConversionParameters(),r[h].calculateBreaksSizeInValues());if(0<s){if(a&&0<a.length)for(h=0;h<a.length;h++)t=Q[s-1][h]===Q[s][h]?!0:!1;else t=!0;if(g&&0<g.length)for(h=0;h<g.length;h++)G=R[s-1][h]===R[s][h]?!0:!1;else G=!0;if(c&&0<c.length)for(h=0;h<c.length;h++)L=Y[s-1][h]===Y[s][h]?!0:!1;else L=!0;if(b&&0<b.length)for(h=
|
|
705
|
-
0<a.length)for(h=0;h<a.length;h++)a[h].calculateStripLinesThicknessInValues(),a[h].calculateBreaksInPixels();if(g&&0<g.length)for(h=0;h<g.length;h++)g[h].calculateStripLinesThicknessInValues(),g[h].calculateBreaksInPixels();if(c&&0<c.length)for(h=0;h<c.length;h++)c[h].calculateStripLinesThicknessInValues(),c[h].calculateBreaksInPixels();if(b&&0<b.length)for(h=0;h<b.length;h++)b[h].calculateStripLinesThicknessInValues(),
|
|
706
|
-
s;){aa=$=V=fa=ca=O=f=I=Y=X=Z=0;if(a&&0<a.length)for(F=[],h=$=0;h<a.length;h++)F.push(Math.ceil(a[h]?a[h].createLabelsAndCalculateWidth():0)),$+=F[h],f+=a[h]&&!p.isNavigator?a[h].margin:0;else F.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateWidth():0));Q.push(F);if(g&&0<g.length)for(C=[],h=aa=0;h<g.length;h++)C.push(Math.ceil(g[h]?g[h].createLabelsAndCalculateWidth():0)),aa+=C[h],O+=g[h]?g[h].margin:0;else C.push(Math.ceil(g[0]?
|
|
707
|
-
0;h<c.length;h++)c[h].lineCoordinates={},q=Math.round(d.x1+$+f-(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0))+(!a.length||"inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveWidth||p.isNavigator?0:5),B=Math.round(Math.min(d.x2-aa-O+(g[0]?("inside"===g[0].labelPlacement?g[0].labelEffectiveWidth+
|
|
708
|
-
0):0)-(!g.length||"inside"!==g[g.length-1].labelPlacement||g[g.length-1].title||g[g.length-1].stripLineLabelEffectiveWidth||p.isNavigator?0:5),p.width-10)),c[h].labelAutoFit&&!e(x)&&(0<!a.length&&(q=0>c[h].labelAngle?Math.max(q,x):0===c[h].labelAngle?Math.max(q,x/2):q),0<!g.length&&(B=0<c[h].labelAngle?B-w/2:0===c[h].labelAngle?B-w/2:B)),c[h].lineCoordinates.x1=q,c[h].lineCoordinates.x2=B,c[h].lineCoordinates.width=Math.abs(B-q),
|
|
709
|
-
c[h].lineCoordinates.width?c[h].titleMaxWidth:c[h].lineCoordinates.width);if(b&&0<b.length)for(h=0;h<b.length;h++)b[h].lineCoordinates={},q=Math.round(d.x1+$+f-(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0))+(!a.length||"inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveWidth||
|
|
710
|
-
g[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===g[0].tickPlacement?g[0].tickLength:0):0)-(!g.length||"inside"!==g[g.length-1].labelPlacement||g[g.length-1].title||g[g.length-1].stripLineLabelEffectiveWidth||p.isNavigator?0:5),b[h].chart.width-10)),b[h]&&b[h].labelAutoFit&&!e(v)&&(0<!a.length&&(q=0<b[h].labelAngle?Math.max(q,v):0===b[h].labelAngle?Math.max(q,v/2):q),0<!g.length&&(B-=y/2)),b[h].lineCoordinates.x1=
|
|
711
|
-
(b[h]._titleTextBlock.maxWidth=0<b[h].titleMaxWidth&&b[h].titleMaxWidth<b[h].lineCoordinates.width?b[h].titleMaxWidth:b[h].lineCoordinates.width);if(c&&0<c.length)for(n=[],h=V=0;h<c.length;h++)n.push(Math.ceil(c[h]?c[h].createLabelsAndCalculateHeight():0)),V+=n[h]+c[h].margin,ca+=c[h].margin;else n.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateHeight():0));u.push(n);if(b&&0<b.length)for(A=[],h=0;h<b.length;h++)A.push(Math.ceil(b[h]?
|
|
712
|
-
b[0].createLabelsAndCalculateHeight():0));E.push(A);if(c&&0<c.length)for(h=0;h<c.length;h++)0<c[h]._labels.length&&(k=c[h]._labels[0],W=c[h]._labels[c[h]._labels.length-1],x=k.textBlock.width*Math.cos(Math.PI/180*Math.abs(k.textBlock.angle))+(k.textBlock.height-W.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(k.textBlock.angle)),w=W.textBlock.width*Math.cos(Math.PI/180*Math.abs(W.textBlock.angle))+(W.textBlock.height-
|
|
713
|
-
if(b&&0<b.length)for(h=0;h<b.length;h++)b[h]&&0<b[h]._labels.length&&(k=b[h]._labels[0],W=b[h]._labels[b[h]._labels.length-1],v=k.textBlock.width*Math.cos(Math.PI/180*Math.abs(k.textBlock.angle))+(k.textBlock.height-W.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(k.textBlock.angle)),y=W.textBlock.width*Math.cos(Math.PI/180*Math.abs(W.textBlock.angle))+(W.textBlock.height-W.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(W.textBlock.angle)));
|
|
714
|
-
p.sessionVariables.axisY[h].height=n[h]:p.sessionVariables.axisY[h].height;else for(h=0;h<c.length;h++)p.sessionVariables.axisY[h].height=n[h];if(c&&0<c.length)for(h=c.length-1;0<=h;h--)k=Math.round(d.y2)-("inside"!==c[c.length-1].labelPlacement||c[c.length-1].title||c[c.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),m=Math.round(d.y2>c[h].chart.height?c[h].chart.height:d.y2)-("inside"!==c[c.length-1].labelPlacement||
|
|
715
|
-
0:5),c[h].lineCoordinates.y1=k-(n[h]+c[h].margin+Z),c[h].lineCoordinates.y2=k-(n[h]+c[h].margin+Z),"inside"===c[h].labelPlacement&&(c[h].lineCoordinates.y1=c[h].lineCoordinates.y1+c[h].labelEffectiveHeight+(p.isNavigator?0:2),c[h].lineCoordinates.y2=c[h].lineCoordinates.y1+c[h].lineThickness/2),"inside"===c[h].tickPlacement&&(c[h].lineCoordinates.y1+=c[h].tickLength,c[h].lineCoordinates.y2=c[h].lineCoordinates.y1+c[h].lineThickness/
|
|
716
|
-
width:B-q,height:n[h]},c[h].title&&(c[h]._titleTextBlock.maxWidth=0<c[h].titleMaxWidth&&c[h].titleMaxWidth<c[h].lineCoordinates.width?c[h].titleMaxWidth:c[h].lineCoordinates.width),Z+=n[h]+c[h].margin;if(b&&0<b.length)for(h=b.length-1;0<=h;h--)b[h]&&(k=Math.round(d.y1)+("inside"!==b[b.length-1].labelPlacement||b[b.length-1].title||b[b.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),m=Math.round(d.y1+(A[h]+b[h].margin+
|
|
717
|
-
1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),b[h].lineCoordinates.y1=m,b[h].lineCoordinates.y2=m,"inside"===b[h].labelPlacement&&(b[h].lineCoordinates.y1=m-b[h].labelEffectiveHeight-5,b[h].lineCoordinates.y2=b[h].lineCoordinates.y1-b[h].lineThickness/2),"inside"===b[h].tickPlacement&&(b[h].lineCoordinates.y1-=b[h].tickLength,b[h].lineCoordinates.y2=b[h].lineCoordinates.y1-b[h].lineThickness/2),b[h].bounds={x1:q,
|
|
718
|
-
b[h].title&&(b[h]._titleTextBlock.maxWidth=0<b[h].titleMaxWidth&&b[h].titleMaxWidth<b[h].lineCoordinates.width?b[h].titleMaxWidth:b[h].lineCoordinates.width),X+=A[h]+b[h].margin);if(a&&0<a.length)for(h=0;h<a.length;h++){ca=a[h]._labels&&0<a[h]._labels.length?a[h]._labels[0].textBlock.fontSize/2:0;q=Math.round(d.x1+f);k=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:d.y1<Math.max(ca,10)?Math.max(ca,10):
|
|
719
|
-
c[0].lineCoordinates.y1:d.y2-V>p.height-Math.max(ca,10)?p.height-Math.max(ca,10):d.y2-V):d.y2>p.height-Math.max(ca,10)?p.height-Math.max(ca,10):d.y2;if(c&&0<c.length)for(W=0;W<c.length;W++)c[W]&&c[W].labelAutoFit&&(B=c[W].lineCoordinates.x1+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0),q=0>c[W].labelAngle||
|
|
720
|
-
(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0),q=B-$);a[h].lineCoordinates={x1:B-Y,y1:k,x2:B-Y,y2:m,height:Math.abs(m-k)};"inside"===a[h].labelPlacement&&(a[h].lineCoordinates.x1=a[h].lineCoordinates.x1-a[h].labelEffectiveWidth-5,a[h].lineCoordinates.x2=a[h].lineCoordinates.x1+a[h].lineThickness/
|
|
721
|
-
a[h].lineThickness/2);a[h].bounds={x1:B-(F[h]+Y),y1:k,x2:B-Y,y2:m,height:m-k};a[h].bounds.width=a[h].bounds.x2-a[h].bounds.x1;a[h].title&&(a[h]._titleTextBlock.maxWidth=0<a[h].titleMaxWidth&&a[h].titleMaxWidth<a[h].lineCoordinates.height?a[h].titleMaxWidth:a[h].lineCoordinates.height);a[h].calculateValueToPixelConversionParameters();a[h].calculateBreaksSizeInValues();Y+=F[h]+
|
|
722
|
-
2:0;B=Math.round(d.x1-O);k=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:d.y1<Math.max(ca,10)?Math.max(ca,10):d.y1):d.y1<Math.max(ca,10)?Math.max(ca,10):d.y1;q=Math.round(d.x2-aa-O);m=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:d.y2-V>p.height-Math.max(ca,10)?p.height-Math.max(ca,10):d.y2-V):d.y2>p.height-Math.max(ca,10)?p.height-Math.max(ca,10):d.y2;if(c&&
|
|
723
|
-
g[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===g[0].tickPlacement?g[0].tickLength:0):0),B=0>c[W].labelAngle||0===c[W].labelAngle?q+aa:q);if(b&&0<b.length)for(W=0;W<b.length;W++)b[W]&&b[W].labelAutoFit&&(q=b[W].lineCoordinates.x2-(g[0]?("inside"===g[0].labelPlacement?g[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===g[0].tickPlacement?g[0].tickLength:0):
|
|
724
|
-
g[h].lineCoordinates.x1+g[h].labelEffectiveWidth+(p.isNavigator?0:5),g[h].lineCoordinates.x2=g[h].lineCoordinates.x1+g[h].lineThickness/2);"inside"===g[h].tickPlacement&&(g[h].lineCoordinates.x1+=g[h].tickLength,g[h].lineCoordinates.x2=g[h].lineCoordinates.x1+g[h].lineThickness/2);g[h].bounds={x1:q+I,y1:k,x2:q+C[h]+I,y2:m,height:m-k};g[h].bounds.width=g[h].bounds.x2-
|
|
725
|
-
g[h].lineCoordinates.height);g[h].calculateValueToPixelConversionParameters();g[h].calculateBreaksSizeInValues();I+=C[h]+g[h].margin}for(h=0;h<r.length;h++)"axisY"===r[h].type&&(r[h].calculateValueToPixelConversionParameters(),r[h].calculateBreaksSizeInValues());if(0<s){if(a&&0<a.length)for(h=0;h<a.length;h++)t=Q[s-1][h]===Q[s][h]?!0:!1;else t=!0;if(g&&
|
|
726
|
-
|
|
727
|
-
g[h].calculateBreaksInPixels()}};y.render=function(a,g,c,b,f){var d=a[0]?a[0].chart:g[0].chart,e=d.ctx,q=[];q.push.apply(q,a);q.push.apply(q,g);q.push.apply(q,c);q.push.apply(q,b);d.alignVerticalAxes&&d.alignVerticalAxes();e.save();"normal"===f&&(e.beginPath(),a&&a.length&&e.rect(2,a[0].bounds.y1,a[0].chart.width-4,a[a.length-
|
|
728
|
-
if(g&&0<g.length)for(f=0;f<g.length;f++)g[f].renderLabelsTicksAndTitle();e.restore();if(c&&0<c.length)for(f=0;f<c.length;f++)c[f].renderLabelsTicksAndTitle();if(b&&0<b.length)for(f=0;f<b.length;f++)b[f].renderLabelsTicksAndTitle();d.preparePlotArea();a=d.plotArea;e.save();e.beginPath();e.rect(a.x1,a.y1,Math.abs(a.x2-a.x1),
|
|
729
|
-
e=!1;if(q&&0<q.length){for(f=0;f<q.length;f++)q[f].renderGrid(),v&&(q[f].createMask(),q[f].renderBreaksBackground());for(f=0;f<q.length;f++)q[f].renderAxisLine();for(f=0;f<q.length;f++)q[f].renderStripLinesOfThicknessType("pixel"),q[f].crosshair&&q[f].crosshair.enabled&&(e=!0,d.clearedOverlayedCanvas=q[f].type)}if(e
|
|
730
|
-
0;a<this.stripLines.length;a++)if(null!==this.stripLines[a].startValue&&null!==this.stripLines[a].endValue){var g=Math.min(this.stripLines[a].startValue,this.stripLines[a].endValue),c=Math.max(this.stripLines[a].startValue,this.stripLines[a].endValue),b=this.getApparentDifference(g,c);this.stripLines[a].value=
|
|
731
|
-
function(){for(var a="left"===this._position||"right"===this._position?this.lineCoordinates.height||this.chart.height:this.lineCoordinates.width||this.chart.width,g=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],c=this.conversionParameters.pixelPerUnit||a/(this.logarithmic?this.conversionParameters.maximum/
|
|
732
|
-
g[d].spacing=Xa(g[d].spacing,a,8,f?0.1*a:8,f?0:3)<<0,g[d].size=0>g[d].spacing?0:Math.abs(g[d].spacing/c),this.logarithmic&&(g[d].size=Math.pow(this.logarithmBase,g[d].size))};y.prototype.calculateBreaksInPixels=function(){if(!(this.scaleBreaks&&0>=this.scaleBreaks._appliedBreaks.length)){var a=
|
|
733
|
-
this.conversionParameters.minimum||(e(this.scaleBreaks.firstBreakIndex)&&(this.scaleBreaks.firstBreakIndex=g),a[g].startValue>=this.conversionParameters.minimum&&(a[g].startPixel=this.convertValueToPixel(a[g].startValue),this.scaleBreaks.lastBreakIndex=g),a[g].endValue<=this.conversionParameters.maximum&&
|
|
734
|
-
typeof this.options.interval){if("bottom"===this._position||"top"===this._position)if(this.logarithmic&&!this.equidistantInterval&&this.labelAutoFit){for(var c=[],f=0!==this.labelAngle&&360!==this.labelAngle?1:1.2,e,q=this.viewportMaximum,k=this.lineCoordinates.width/Math.log(this.range),m=this._labels.length-
|
|
735
|
-
n.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(m=0;m<this._labels.length;m++)n=this._labels[m],n.position<this.viewportMinimum||(e=n.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.height*
|
|
736
|
-
|
|
737
|
-
0;m<this._labels.length;m++)n=this._labels[m],n.position<this.viewportMinimum||(p=n.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),b+=p);b>this.lineCoordinates.height*f&&this.labelAutoFit&&(g=!0)}}this.logarithmic&&(!this.equidistantInterval&&
|
|
738
|
-
n.position<this.viewportMinimum||n.position>this.viewportMaximum||(r=this.getPixelCoordinatesOnAxis(n.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(r.x<<0)+0.5:r.x<<0,this.ctx.beginPath(),this.ctx.moveTo(b,r.y<<
|
|
739
|
-
r.y-(("inside"===this.tickPlacement?this.tickLength:0)+n.textBlock.height-n.textBlock._lineHeight/2+2):r.y+("inside"===this.tickPlacement?0:this.tickLength)+n.textBlock._lineHeight/2+5):0>this.labelAngle?(r.x=r.x-("inside"===this.labelPlacement?0:n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.topPadding*
|
|
740
|
-
Math.
|
|
741
|
-
180*this.labelAngle)-(n.textBlock.height-n.textBlock._lineHeight/2)*Math.cos(Math.PI/180*this.labelAngle):r.y+("inside"===this.tickPlacement?0:this.tickLength)+5+Math.abs(n.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle))),n.textBlock.x=r.x,n.textBlock.y=r.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",
|
|
742
|
-
a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(r.x<<0)+0.5:r.x<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(b,r.y<<0);a.ctx.lineTo(b,r.y-a.tickLength<<0);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.lineCoordinates.x1+
|
|
743
|
-
2-1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("top"===this._position){for(m=0;m<this._labels.length;m++)n=this._labels[m],n.position<this.viewportMinimum||n.position>this.viewportMaximum||(r=this.getPixelCoordinatesOnAxis(n.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=
|
|
744
|
-
this.ctx.lineTo(b,r.y-this.tickLength<<0),this.ctx.stroke()),g&&0!==d++%2&&this.labelAutoFit||(0===n.textBlock.angle?(r.x-=n.textBlock.width/2,r.y="inside"===this.labelPlacement?r.y+n.textBlock._lineHeight/2+("inside"===this.tickPlacement?this.tickLength:0)+5:r.y-(("inside"===this.tickPlacement?0:this.tickLength)+n.textBlock.height-n.textBlock._lineHeight/
|
|
745
|
-
Math.sin(Math.PI/180*this.labelAngle),r.y="inside"===this.labelPlacement?r.y+("inside"===this.tickPlacement?this.tickLength:0)+5-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+n.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle):r.y-("inside"===this.tickPlacement?0:this.tickLength)-2-(n.textBlock.height-n.textBlock._lineHeight/2)*Math.cos(Math.PI/
|
|
746
|
-
Math.sin(Math.PI/180*this.labelAngle),r.y="inside"===this.labelPlacement?r.y+("inside"===this.tickPlacement?this.tickLength:0)+5+n.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle):r.y-("inside"===this.tickPlacement?0:this.tickLength)-2-((n.textBlock.height-n.textBlock._lineHeight/2)*Math.cos(Math.PI/180*this.labelAngle)+n.textBlock.width*Math.sin(Math.PI/
|
|
747
|
-
function(){for(m=0;m<a._labels.length;m++)if(n=a._labels[m],!(n.position<a.viewportMinimum||n.position>a.viewportMaximum)&&(r=a.getPixelCoordinatesOnAxis(n.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(r.x<<0)+0.5:r.x<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(b,r.y<<0);a.ctx.lineTo(b,
|
|
748
|
-
this.lineCoordinates.width/2-this._titleTextBlock.width/2,this._titleTextBlock.y=this.bounds.y1+this._titleTextBlock._lineHeight/2+1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("left"===this._position){for(m=0;m<this._labels.length;m++)n=this._labels[m],n.position<this.viewportMinimum||n.position>this.viewportMaximum||
|
|
749
|
-
this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(r.y<<0)+0.5:r.y<<0,this.ctx.beginPath(),this.ctx.moveTo(r.x<<0,b),this.ctx.lineTo(r.x-this.tickLength<<0,b),this.ctx.stroke()),g&&0!==d++%2&&this.labelAutoFit||(0===this.labelAngle?(n.textBlock.y=r.y-n.textBlock.topPadding,n.textBlock.x="inside"===this.labelPlacement?r.x+("inside"===this.tickPlacement?
|
|
750
|
-
0>this.labelAngle?(n.textBlock.y=("inside"===this.labelPlacement?r.y:r.y-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle))-n.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),n.textBlock.x="inside"===this.labelPlacement?r.x-n.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?this.tickLength:0)+5:r.x-n.textBlock.width*
|
|
751
|
-
this.tickPlacement?0:this.tickLength)-5):(n.textBlock.y=("inside"===this.labelPlacement?r.y:r.y-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle))-n.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),n.textBlock.x="inside"===this.labelPlacement?r.x+(n.textBlock.height-n.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?
|
|
752
|
-
this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5)));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(m=0;m<a._labels.length;m++)if(n=a._labels[m],!(n.position<a.viewportMinimum||n.position>a.viewportMaximum)&&(r=a.getPixelCoordinatesOnAxis(n.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=
|
|
753
|
-
0,b);a.ctx.lineTo(r.x+a.tickLength<<0,b);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.bounds.x1+this._titleTextBlock._lineHeight/2,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"===
|
|
754
|
-
n.position>this.viewportMaximum||(r=this.getPixelCoordinatesOnAxis(n.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(r.y<<0)+0.5:r.y<<0,this.ctx.beginPath(),this.ctx.moveTo(r.x<<0,b),this.ctx.lineTo(r.x+this.tickLength<<0,b),this.ctx.stroke()),g&&0!==d++%2&&this.labelAutoFit||(0===this.labelAngle?
|
|
755
|
-
n.textBlock.width-("inside"===this.tickPlacement?this.tickLength:0)-5:r.x+("inside"===this.tickPlacement?0:this.tickLength)+5):0>this.labelAngle?(n.textBlock.y=("inside"===this.labelPlacement?r.y-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):r.y)-n.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),n.textBlock.x="inside"===this.labelPlacement?r.x-n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+
|
|
756
|
-
("inside"===this.tickPlacement?this.tickLength:0)-5:r.x-n.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?0:this.tickLength)+5):(n.textBlock.y=("inside"===this.labelPlacement?r.y-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):r.y)-n.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),n.textBlock.x="inside"===this.labelPlacement?r.x-n.textBlock.width*Math.cos(Math.PI/
|
|
757
|
-
("inside"===this.tickPlacement?this.tickLength:0)-5:r.x+(n.textBlock.height-n.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?0:this.tickLength)+5)));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(m=0;m<a._labels.length;m++)if(n=a._labels[m],!(n.position<a.viewportMinimum||n.position>a.viewportMaximum)&&(r=a.getPixelCoordinatesOnAxis(n.position),
|
|
758
|
-
a.tickColor;var b=1===a.ctx.lineWidth%2?(r.y<<0)+0.5:r.y<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(r.x<<0,b);a.ctx.lineTo(r.x-a.tickLength<<0,b);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.bounds.x2-this._titleTextBlock._lineHeight/2,this._titleTextBlock.y=this.lineCoordinates.height/2-this._titleTextBlock.width/2+this.lineCoordinates.y1,this.titleMaxWidth=
|
|
759
|
-
if("inside"===this.labelPlacement)this.chart.addEventListener("dataAnimationIterationEnd",function(){for(m=0;m<a._labels.length;m++)n=a._labels[m],n.position<a.viewportMinimum||(n.position>a.viewportMaximum||g&&0!==d++%2&&a.labelAutoFit)||(a.ctx.save(),a.ctx.beginPath(),n.textBlock.render(!0),a.ctx.restore())},this);else for(m=0;m<this._labels.length;m++)n=this._labels[m],n.position<this.viewportMinimum||(n.position>this.viewportMaximum||
|
|
760
|
-
function(){var a=this.chart.plotArea.ctx,g,c,b=this.chart.plotArea,f=0;g=!0;if(("bottom"===this._position||"top"===this._position)&&this.interlacedColor)for(a.fillStyle=this.interlacedColor,f=0;f<this._labels.length;f++)g?(g=this.getPixelCoordinatesOnAxis(this._labels[f].position),c=f+1>this._labels.length-1?this.getPixelCoordinatesOnAxis(this.viewportMaximum):this.getPixelCoordinatesOnAxis(this._labels[f+
|
|
761
|
-
g=!0;else if(("left"===this._position||"right"===this._position)&&this.interlacedColor)for(a.fillStyle=this.interlacedColor,f=0;f<this._labels.length;f++)g?(c=this.getPixelCoordinatesOnAxis(this._labels[f].position),g=f+1>this._labels.length-1?this.getPixelCoordinatesOnAxis(this.viewportMaximum):this.getPixelCoordinatesOnAxis(this._labels[f+1].position),a.fillRect(b.x1,Math.min(c.y,g.y),Math.abs(b.x1-b.x2),
|
|
762
|
-
0<this.stripLines.length&&a){var g=this,c,b,f=0,d=0,q=!1;b=!1;for(var k=[],B=[],m=!1,p,f=0;f<this.stripLines.length;f++){var n=this.stripLines[f];n._thicknessType===a&&("pixel"===a&&(n.value<this.viewportMinimum||n.value>this.viewportMaximum||e(n.value)||isNaN(this.range))||"value"===a&&(n.startValue<=this.viewportMinimum&&n.endValue<=this.viewportMinimum||n.startValue>=this.viewportMaximum&&
|
|
763
|
-
this._stripLineLabels.length;f++)if(n=this.stripLines[f],c=this._stripLineLabels[f],!(c.position<this.viewportMinimum||c.position>this.viewportMaximum||isNaN(this.range)))if(b=this.getPixelCoordinatesOnAxis(c.position),"outside"===c.stripLine.labelPlacement){n&&(this.ctx.strokeStyle=n.tickColor?n.tickColor:n.color,this.ctx.lineWidth=n.tickThickness=e(n.tickThickness)?"pixel"===n._thicknessType?
|
|
764
|
-
n.ctx.globalAlpha=n.opacity));if("bottom"===this._position){var r=1===this.ctx.lineWidth%2?(b.x<<0)+0.5:b.x<<0;0<n.tickThickness&&(this.ctx.beginPath(),this.ctx.moveTo(r,b.y<<0),this.ctx.lineTo(r,b.y+n.tickLength<<0),this.ctx.stroke());0===this.labelAngle?(b.x-=c.textBlock.width/2,b.y+=n.tickLength+c.textBlock.fontSize/2+5):(b.x-=(0>this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):
|
|
765
|
-
Math.abs(c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-c.textBlock.fontSize/2*Math.cos(Math.PI/180*this.labelAngle)):Math.abs(c.textBlock.fontSize/2*Math.cos(Math.PI/180*this.labelAngle))))}else"top"===this._position?(r=1===this.ctx.lineWidth%2?(b.x<<0)+0.5:b.x<<0,0<n.tickThickness&&(this.ctx.beginPath(),this.ctx.moveTo(r,b.y<<0),this.ctx.lineTo(r,b.y-n.tickLength<<0),this.ctx.stroke()),
|
|
766
|
-
2):(b.x-=(0<this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0)-c.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),b.y-=n.tickLength+2+(0<this.labelAngle?(c.textBlock.height-c.textBlock.fontSize/2)*Math.cos(Math.PI/180*this.labelAngle)+c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):(c.textBlock.height-c.textBlock.fontSize/2)*Math.cos(Math.PI/180*this.labelAngle)))):
|
|
767
|
-
(this.ctx.beginPath(),this.ctx.moveTo(b.x<<0,r),this.ctx.lineTo(b.x-n.tickLength<<0,r),this.ctx.stroke()),0===this.labelAngle?(b.x=b.x-c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-n.tickLength-5,b.y-=c.textBlock.topPadding):(b.y-=c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+c.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),b.x-=n.tickLength+5+(0<this.labelAngle?c.textBlock.width*
|
|
768
|
-
c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-(c.textBlock.height-c.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)))):"right"===this._position&&(r=1===this.ctx.lineWidth%2?(b.y<<0)+0.5:b.y<<0,0<n.tickThickness&&(this.ctx.beginPath(),this.ctx.moveTo(b.x<<0,r),this.ctx.lineTo(b.x+n.tickLength<<0,r),this.ctx.stroke()),0===this.labelAngle?(b.x=b.x+n.tickLength+5,b.y-=c.textBlock.topPadding):
|
|
769
|
-
this.labelAngle?b.x+(c.textBlock.height-c.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle):b.x-c.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle))));p&&(n.ctx.globalAlpha=p);c.textBlock.x=b.x;c.textBlock.y=b.y;B.push(c)}else n._thicknessType===a&&(c.textBlock.angle=-90,"bottom"===this._position?(c.textBlock.maxWidth=this.options.stripLines[f].labelMaxWidth?this.options.stripLines[f].labelMaxWidth:
|
|
770
|
-
2>this.chart.plotArea.x1?e(n.startValue)?b.x-=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.x-=c.textBlock.height/2-c.textBlock.fontSize/2:(c.textBlock.angle=90,e(n.startValue)?b.x+=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.x+=c.textBlock.height/2-c.textBlock.fontSize/2),b.y=-90===c.textBlock.angle?"near"===c.stripLine.labelAlign?this.chart.plotArea.y2-3:"center"===c.stripLine.labelAlign?
|
|
771
|
-
c.textBlock.width+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[f].labelMaxWidth?this.options.stripLines[f].labelMaxWidth:this.chart.plotArea.height-3,c.textBlock.measureText(),b.x-c.textBlock.height-
|
|
772
|
-
c.textBlock.fontSize/2+n.thickness/2:b.x-=c.textBlock.height/2-c.textBlock.fontSize/2:(c.textBlock.angle=90,e(n.startValue)?b.x+=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.x+=c.textBlock.height/2-c.textBlock.fontSize/2),b.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)/
|
|
773
|
-
3:"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[f].labelMaxWidth?this.options.stripLines[f].labelMaxWidth:this.chart.plotArea.width-3,c.textBlock.angle=0,c.textBlock.measureText(),b.y-c.textBlock.height-n.thickness/2>this.chart.plotArea.y1?e(n.startValue)?
|
|
774
|
-
2-c.textBlock.fontSize/2:e(n.startValue)?b.y+=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.y+=c.textBlock.height/2-c.textBlock.fontSize+3,b.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[f].labelMaxWidth?
|
|
775
|
-
3,c.textBlock.angle=0,c.textBlock.measureText(),b.y-c.textBlock.height-n.thickness/2>this.chart.plotArea.y1?e(n.startValue)?b.y-=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.y-=c.textBlock.height/2-c.textBlock.fontSize/2:e(n.startValue)?b.y+=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.y-=c.textBlock.height/2-c.textBlock.fontSize/2+3,b.x="near"===c.stripLine.labelAlign?this.chart.plotArea.x2-c.textBlock.width-
|
|
776
|
-
2-c.textBlock.width/2:this.chart.plotArea.x1+3),c.textBlock.x=b.x,c.textBlock.y=b.y,B.push(c));if(!m){b=!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(f=0;f<k.length;f++)n=k[f],n.showOnTop?q||(q=!0,this.chart.addEventListener("dataAnimationIterationEnd",function(){this.ctx.save();this.ctx.beginPath();
|
|
777
|
-
this.chart.plotArea.height);this.ctx.clip();for(d=0;d<k.length;d++)n=k[d],n.showOnTop&&n.render();this.ctx.restore()},n)):n.render();for(f=0;f<B.length;f++)c=B[f],c.stripLine.showOnTop?b||(b=!0,this.chart.addEventListener("dataAnimationIterationEnd",function(){for(d=0;d<B.length;d++)c=B[d],"inside"===c.stripLine.labelPlacement&&c.stripLine.showOnTop&&(g.ctx.save(),g.ctx.beginPath(),g.ctx.rect(g.chart.plotArea.x1,
|
|
778
|
-
g.ctx.restore())},c.textBlock)):"inside"===c.stripLine.labelPlacement&&c.textBlock.render(!0);this.ctx.restore();m=!0}if(m)for(b=!1,f=0;f<B.length;f++)c=B[f],"outside"===c.stripLine.labelPlacement&&c.textBlock.render(!0)}};y.prototype.renderBreaksBackground=function(){this.chart._breaksCanvas&&(this.scaleBreaks&&0<this.scaleBreaks._appliedBreaks.length&&this.maskCanvas)&&(this.chart._breaksCanvasCtx.save(),
|
|
779
|
-
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())};y.prototype.createMask=function(){if(this.scaleBreaks&&0<this.scaleBreaks._appliedBreaks.length){var a=this.scaleBreaks._appliedBreaks;v?(this.maskCanvas=ta(this.chart.width,
|
|
780
|
-
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 g=0;g<a.length;g++)a[g].endValue<this.viewportMinimum||(a[g].startValue>this.viewportMaximum||isNaN(this.range))||a[g].render(this.maskCtx);this.maskCtx.restore()}};
|
|
781
|
-
this.crosshair.render(a,g)};y.prototype.showCrosshair=function(a){e(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))};y.prototype.renderGrid=function(){if(this.gridThickness&&0<this.gridThickness){var a=this.chart.ctx;a.save();var g,c=this.chart.plotArea;
|
|
782
|
-
a.setLineDash(R(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(),g=this.getPixelCoordinatesOnAxis(this._labels[b].position),g=1===a.lineWidth%2?(g.x<<0)+0.5:g.x<<0,a.moveTo(g,c.y1<<0),a.lineTo(g,c.y2<<0),a.stroke());
|
|
783
|
-
0;b<this._labels.length;b++)this._labels[b].position<this.viewportMinimum||(this._labels[b].position>this.viewportMaximum||this._labels[b].breaksLabelType)||(a.beginPath(),g=this.getPixelCoordinatesOnAxis(this._labels[b].position),g=1===a.lineWidth%2?(g.y<<0)+0.5:g.y<<0,a.moveTo(c.x1<<0,g),a.lineTo(c.x2<<0,g),a.stroke());a.restore()}};y.prototype.renderAxisLine=function(){var a=this.chart.ctx,g=v?this.chart._preRenderCtx:a,c=Math.ceil(this.tickThickness/
|
|
784
|
-
(this.reversed?2:-2)),f,d;g.save();if("bottom"===this._position||"top"===this._position){if(this.lineThickness){this.reversed?(f=this.lineCoordinates.x2,d=this.lineCoordinates.x1):(f=this.lineCoordinates.x1,d=this.lineCoordinates.x2);g.lineWidth=this.lineThickness;g.strokeStyle=this.lineColor?this.lineColor:"black";g.setLineDash&&g.setLineDash(R(this.lineDashType,this.lineThickness));var q=1===this.lineThickness%2?(this.lineCoordinates.y1<<0)+0.5:
|
|
785
|
-
|
|
786
|
-
(f=this.lineCoordinates.y1,d=this.lineCoordinates.y2):(f=this.lineCoordinates.y2,d=this.lineCoordinates.y1);g.lineWidth=this.lineThickness;g.strokeStyle=this.lineColor;g.setLineDash&&g.setLineDash(R(this.lineDashType,this.lineThickness));q=1===this.lineThickness%2?(this.lineCoordinates.x1<<0)+0.5:this.lineCoordinates.x1<<0;g.beginPath();if(this.scaleBreaks&&!e(this.scaleBreaks.firstBreakIndex))if(e(this.scaleBreaks.lastBreakIndex))f=this.scaleBreaks._appliedBreaks[this.scaleBreaks.firstBreakIndex].endPixel+
|
|
671
|
+
textBaseline:"middle",padding:d.labelPadding});this._stripLineLabels.push({position:d.value,textBlock:a,effectiveHeight:null,stripLine:d})}};y.prototype.createLabelsAndCalculateWidth=function(){var a=0,g=0;this._labels=[];this._stripLineLabels=[];var c=0,b=[],f=this.chart.isNavigator?0:5;this.labelEffectiveWidth=e(this.labelEffectiveWidth)?0:this.labelEffectiveWidth;if("left"===this._position||"right"===this._position){this.createLabels();for(g=0;g<this._labels.length;g++)if(!(this._labels[g].position<
|
|
672
|
+
this.viewportMinimum||this._labels[g].position>this.viewportMaximum)){var d=this._labels[g].textBlock,d=d.measureText(),q=0,q=0===this.labelAngle?d.width:d.width*Math.cos(Math.PI/180*Math.abs(this.labelAngle))+d.height*Math.sin(Math.PI/180*Math.abs(this.labelAngle));a<=q&&(this.labelEffectiveWidth=a=q);this._labels[g].effectiveWidth=q}for(g=0;g<this._stripLineLabels.length;g++)"outside"===this._stripLineLabels[g].stripLine.labelPlacement&&(this._stripLineLabels[g].stripLine.value>=this.viewportMinimum&&
|
|
673
|
+
this._stripLineLabels[g].stripLine.value<=this.viewportMaximum)&&(d=this._stripLineLabels[g].textBlock,d=d.measureText(),q=0===this.labelAngle?d.width:d.width*Math.cos(Math.PI/180*Math.abs(this.labelAngle))+d.height*Math.sin(Math.PI/180*Math.abs(this.labelAngle)),c=Math.max(c,this._stripLineLabels[g].stripLine.tickLength),"inside"===this.labelPlacement&&(a-=0<b.length?Math.max.apply(null,b):0,a+=Math.max(q,0<b.length?Math.max.apply(null,b):q)),a<=q&&(a=q),this.stripLineLabelEffectiveWidth=this._stripLineLabels[g].effectiveWidth=
|
|
674
|
+
q,b.push(q));"inside"===this.labelPlacement&&(a+=f)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===this.tickPlacement?c+this.tickLength:Math.max(c,this.tickLength))+f};y.prototype.createLabelsAndCalculateHeight=function(){var a=0;this._labels=[];this._stripLineLabels=[];var g=0,c,b=0,f=this.chart.isNavigator?0:"bottom"===this._position&&"inside"===this.labelPlacement||"top"===this._position&&"outside"===this.labelPlacement?2:5;this.labelEffectiveHeight=e(this.labelEffectiveHeight)?
|
|
675
|
+
0:this.labelEffectiveHeight;var d=[];if("bottom"===this._position||"top"===this._position){this.createLabels();for(b=0;b<this._labels.length;b++)if(!(this._labels[b].position<this.viewportMinimum||this._labels[b].position>this.viewportMaximum)){c=this._labels[b].textBlock;c=c.measureText();var q=0,q=0===this.labelAngle?c.height:c.width*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+c.height*Math.cos(Math.PI/180*Math.abs(this.labelAngle));a<=q&&(this.labelEffectiveHeight=a=q);this._labels[b].effectiveHeight=
|
|
676
|
+
q}for(b=0;b<this._stripLineLabels.length;b++)"outside"===this._stripLineLabels[b].stripLine.labelPlacement&&(this._stripLineLabels[b].stripLine.value>=this.viewportMinimum&&this._stripLineLabels[b].stripLine.value<=this.viewportMaximum)&&(c=this._stripLineLabels[b].textBlock,c=c.measureText(),q=0===this.labelAngle?c.height:c.width*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+c.height*Math.cos(Math.PI/180*Math.abs(this.labelAngle)),g=Math.max(g,this._stripLineLabels[b].stripLine.tickLength),"inside"===
|
|
677
|
+
this.labelPlacement&&(a-=0<d.length?Math.max.apply(null,d):0,a+=Math.max(q,0<d.length?Math.max.apply(null,d):q)),a<=q&&(a=q),this.stripLineLabelEffectiveHeight=this._stripLineLabels[b].effectiveHeight=q,d.push(q));"inside"===this.labelPlacement&&(a+=f)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===this.tickPlacement?g+this.tickLength:Math.max(g,this.tickLength))+f};y.setLayout=function(a,g,c,b,f,d){var q,k,B,m,p=a[0]?a[0].chart:g[0].chart,n=p.isNavigator?0:10,r=p._axes;
|
|
678
|
+
if(a&&0<a.length)for(var h=0;h<a.length;h++)a[h]&&a[h].calculateAxisParameters();if(g&&0<g.length)for(h=0;h<g.length;h++)g[h].calculateAxisParameters();if(c&&0<c.length)for(h=0;h<c.length;h++)c[h].calculateAxisParameters();if(b&&0<b.length)for(h=0;h<b.length;h++)b[h].calculateAxisParameters();for(h=0;h<r.length;h++)if(r[h]&&r[h].scaleBreaks&&r[h].scaleBreaks._appliedBreaks.length)for(var t=r[h].scaleBreaks._appliedBreaks,s=0;s<t.length&&!(t[s].startValue>r[h].viewportMaximum);s++)t[s].endValue<r[h].viewportMinimum||
|
|
679
|
+
(e(r[h].scaleBreaks.firstBreakIndex)&&(r[h].scaleBreaks.firstBreakIndex=s),t[s].startValue>=r[h].viewPortMinimum&&(r[h].scaleBreaks.lastBreakIndex=s));for(var C=s=0,u=0,x=0,w=0,v=0,y=0,A,E,F=k=0,G,L,M,t=G=L=M=!1,h=0;h<r.length;h++)r[h]&&r[h].title&&(r[h]._titleTextBlock=new na(r[h].ctx,{text:r[h].title,fontSize:r[h].titleFontSize,fontFamily:r[h].titleFontFamily,fontWeight:r[h].titleFontWeight,fontColor:r[h].titleFontColor,fontStyle:r[h].titleFontStyle,borderColor:r[h].titleBorderColor,borderThickness:r[h].titleBorderThickness,
|
|
680
|
+
backgroundColor:r[h].titleBackgroundColor,cornerRadius:r[h].titleCornerRadius,textBaseline:"middle",textAlign:r[h].titleTextAlign,padding:r[h].titlePadding}));for(h=0;h<r.length;h++)if(r[h].title){var O=1.5*r[h].titleFontSize+("object"===typeof r[h].titlePadding?(r[h].titlePadding.top||0)+(r[h].titlePadding.bottom||0):2*r[h].titlePadding);r[h]._titleTextBlock.maxWidth=r[h].titleMaxWidth||d.height;r[h]._titleTextBlock.maxHeight=r[h].titleWrap?0.8*d.width:Math.min(O,0.8*d.width);switch(r[h]._position){case "left":r[h]._titleTextBlock.angle=
|
|
681
|
+
-90;break;case "right":r[h]._titleTextBlock.angle=90;break;default:r[h]._titleTextBlock.maxWidth=r[h].titleMaxWidth||d.width,r[h]._titleTextBlock.maxHeight=r[h].titleWrap?0.8*d.height:Math.min(O,0.8*d.height),r[h]._titleTextBlock.angle=0}}if("normal"===f){for(var x=[],w=[],v=[],y=[],Q=[],R=[],Y=[],I=[];4>s;){var ba=0,X=0,V=0,$=0,ca=O=f=0,fa=0,aa=0,Z=0,P=q=0;if(c&&0<c.length)for(v=[],h=q=0;h<c.length;h++)v.push(Math.ceil(c[h]?c[h].createLabelsAndCalculateWidth():0)),q+=v[h],ca+=c[h]&&!p.isNavigator?
|
|
682
|
+
c[h].margin:0;else v.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateWidth():0));Y.push(v);if(b&&0<b.length)for(y=[],h=P=0;h<b.length;h++)y.push(Math.ceil(b[h]?b[h].createLabelsAndCalculateWidth():0)),P+=y[h],fa+=b[h]?b[h].margin:0;else y.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateWidth():0));I.push(y);q=Math.round(d.x1+q+ca-(c[0]?("inside"===c[0].labelPlacement?c[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===c[0].tickPlacement?c[0].tickLength:0):0))+(!c.length||"inside"!==c[c.length-
|
|
683
|
+
1].labelPlacement||c[c.length-1].title||c[c.length-1].stripLineLabelEffectiveWidth||p.isNavigator?0:5);B=Math.round(Math.min(d.x2-P-fa+(b[0]?("inside"===b[0].labelPlacement?b[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===b[0].tickPlacement?b[0].tickLength:0):0),p.width-n));if(a&&0<a.length)for(x=[],h=aa=0;h<a.length;h++)a[h]&&(a[h].lineCoordinates={}),a[h].lineCoordinates.width=Math.abs(B-q),a[h].title&&(a[h]._titleTextBlock.maxWidth=0<a[h].titleMaxWidth&&a[h].titleMaxWidth<a[h].lineCoordinates.width?
|
|
684
|
+
a[h].titleMaxWidth:a[h].lineCoordinates.width),x.push(Math.ceil(a[h]?a[h].createLabelsAndCalculateHeight():0)),aa+=x[h],f+=a[h]&&!p.isNavigator?a[h].margin:0;else x.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateHeight():0));Q.push(x);if(g&&0<g.length)for(w=[],h=Z=0;h<g.length;h++)g[h]&&(g[h].lineCoordinates={}),g[h].lineCoordinates.width=Math.abs(B-q),g[h].title&&(g[h]._titleTextBlock.maxWidth=0<g[h].titleMaxWidth&&g[h].titleMaxWidth<g[h].lineCoordinates.width?g[h].titleMaxWidth:g[h].lineCoordinates.width),
|
|
685
|
+
w.push(Math.ceil(g[h]?g[h].createLabelsAndCalculateHeight():0)),Z+=w[h],O+=g[h]&&!p.isNavigator?g[h].margin:0;else w.push(Math.ceil(g[0]?g[0].createLabelsAndCalculateHeight():0));R.push(w);if(a&&0<a.length){for(h=0;h<a.length;h++){if(a[h]){a[h].lineCoordinates.x1=q;B=Math.round(Math.min(d.x2-P-fa+(b[0]?("inside"===b[0].labelPlacement?b[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===b[0].tickPlacement?b[0].tickLength:0):0)-(!b.length||"inside"!==b[b.length-1].labelPlacement||b[b.length-
|
|
686
|
+
1].title||b[b.length-1].stripLineLabelEffectiveWidth||p.isNavigator?0:5),p.width-n));if(a[h]._labels&&1<a[h]._labels.length){var W=k=0;k=a[h]._labels[1];W="dateTime"===a[h].valueType?a[h]._labels[a[h]._labels.length-2]:a[h]._labels[a[h]._labels.length-1];C=k.textBlock.width*Math.cos(Math.PI/180*Math.abs(k.textBlock.angle))+(k.textBlock.height-k.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(k.textBlock.angle));u=W.textBlock.width*Math.cos(Math.PI/180*Math.abs(W.textBlock.angle))+W.textBlock.height*
|
|
687
|
+
Math.sin(Math.PI/180*Math.abs(W.textBlock.angle))}!a[h]||(!a[h].labelAutoFit||e(A)||e(E)||p.isNavigator||p.stockChart)||(k=0,0<a[h].labelAngle?(m=u-(W.textBlock.height-W.textBlock._lineHeight/2)*Math.sin(Math.PI/180*W.textBlock.angle),E+m>B&&(a[h].convertPixelToValue(E)>=a[h].viewportMinimum&&a[h].convertPixelToValue(E)<=a[h].viewportMaximum)&&(k+=E+m-B-P)):0>a[h].labelAngle?A-C<q&&A-C<a[h].viewportMinimum&&(F=q-(ca+a[h].tickLength+v+A-C+a[h].labelFontSize/2)):0===a[h].labelAngle&&(E+u>B&&(a[h].convertPixelToValue(E)>=
|
|
688
|
+
a[h].viewportMinimum&&a[h].convertPixelToValue(E)<=a[h].viewportMaximum)&&(k=E+u/2-B-P),A-C<q&&A-C<a[h].viewportMinimum&&(F=q-ca-a[h].tickLength-v-A+C/2)),a[h].viewportMaximum===a[h].maximum&&a[h].viewportMinimum===a[h].minimum&&0<a[h].labelAngle&&0<k?B-=k:a[h].viewportMaximum===a[h].maximum&&a[h].viewportMinimum===a[h].minimum&&0>a[h].labelAngle&&0<F?q+=F:a[h].viewportMaximum===a[h].maximum&&a[h].viewportMinimum===a[h].minimum&&0===a[h].labelAngle&&(0<F&&(q+=F),0<k&&(B-=k)));p.panEnabled?aa=e(p.sessionVariables.axisX.height)||
|
|
689
|
+
p.stockChart?p.sessionVariables.axisX.height=aa:p.sessionVariables.axisX.height:p.sessionVariables.axisX.height=aa;k=Math.round(d.y2-aa-f+ba)-("inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5);m=Math.round(d.y2)-("inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5);a[h].lineCoordinates.x2=B;a[h].lineCoordinates.width=B-q;a[h].lineCoordinates.y1=k;a[h].lineCoordinates.y2=
|
|
690
|
+
k;a[h].bounds={x1:q,y1:k,x2:B,y2:m-(aa+f-x[h]-ba),width:B-q};a[h].bounds.height=a[h].bounds.y2-a[h].bounds.y1;"inside"===a[h].labelPlacement&&(a[h].lineCoordinates.y1=a[0].bounds.y1+ba+(a[h].labelEffectiveHeight||0)+(p.isNavigator?0:2),a[h].lineCoordinates.y2=a[h].lineCoordinates.y1+a[h].lineThickness/2);"inside"===a[h].tickPlacement&&(a[h].lineCoordinates.y1+=a[h].tickLength,a[h].lineCoordinates.y2=a[h].lineCoordinates.y1+a[h].lineThickness/2)}ba+=x[h]+a[h].margin}ca=0===a[0].dataSeries.length;if(!ca)for(h=
|
|
691
|
+
0;h<a[0].dataSeries.length;h++){if(a[0].dataSeries[h].dataPoints){ca=!1;break}ca=!0}if(ca)for(ca=!1,h=1;h<a.length;h++)0!==a[h].dataSeries.length&&(ca?a[h].lineCoordinates.x2>a[0].lineCoordinates.x2&&(a[0].lineCoordinates.x2=a[h].lineCoordinates.x2):(a[0].lineCoordinates.x2=a[h].lineCoordinates.x2,ca=!0),a[0].lineCoordinates.width=a[0].lineCoordinates.x2-a[0].lineCoordinates.x1)}if(g&&0<g.length)for(h=0;h<g.length;h++)g[h].lineCoordinates.x1=q,g[h].lineCoordinates.x2=B,g[h].lineCoordinates.width=
|
|
692
|
+
Math.abs(B-q),g[h]._labels&&1<g[h]._labels.length&&(k=g[h]._labels[1],W="dateTime"===g[h].valueType?g[h]._labels[g[h]._labels.length-2]:g[h]._labels[g[h]._labels.length-1],C=k.textBlock.width*Math.cos(Math.PI/180*Math.abs(k.textBlock.angle))+(k.textBlock.height-W.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(k.textBlock.angle)),u=W.textBlock.width*Math.cos(Math.PI/180*Math.abs(W.textBlock.angle))+(W.textBlock.height-W.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(W.textBlock.angle))),
|
|
693
|
+
p.panEnabled?Z=e(p.sessionVariables.axisX2.height)||p.stockChart?p.sessionVariables.axisX2.height=Z:p.sessionVariables.axisX2.height:p.sessionVariables.axisX2.height=Z,k=Math.round(d.y1)+("inside"!==g[g.length-1].labelPlacement||g[g.length-1].title||g[g.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),m=g[h].lineCoordinates.y1=k+Z+O-X,g[h].lineCoordinates.y2=k,g[h].bounds={x1:q,y1:k+(Z+O-w[h]-X),x2:B,y2:m,width:B-q},g[h].bounds.height=g[h].bounds.y2-g[h].bounds.y1,"inside"===g[h].labelPlacement&&
|
|
694
|
+
(g[h].lineCoordinates.y1=g[0].bounds.y2-X-(g[h].labelEffectiveHeight||0)-5),"inside"===g[h].tickPlacement&&(g[h].lineCoordinates.y1-=g[h].tickLength),X+=w[h]+g[h].margin;if(c&&0<c.length)for(h=0;h<c.length;h++)ca=p.isNavigator?0:10,c[h]&&(q=B=Math.round((a[0]?a[0].lineCoordinates.x1:g[0].lineCoordinates.x1)+(c[0]?("inside"===c[0].labelPlacement?c[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===c[0].tickPlacement?c[0].tickLength:0):0)),ca=Math.max(c[h]._labels&&0<c[h]._labels.length?c[h]._labels[c[h]._labels.length-
|
|
695
|
+
1].textBlock._lineHeight/2:n,n),k=Math.round(Math.max(d.y1+Z+O-(g[0]?("inside"===g[0].labelPlacement?g[0].labelEffectiveHeight+5:0)+("inside"===g[0].tickPlacement?g[0].tickLength:0):0),0<g.length?0:ca))+(!g.length||"inside"!==g[g.length-1].labelPlacement||g[g.length-1].title||g[g.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),ca=0<a.length?0:c[h]._labels&&0<c[h]._labels.length?c[h]._labels[0].textBlock.height/2:n,m=Math.round(d.y2-aa+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveHeight+
|
|
696
|
+
(p.isNavigator?0:2):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0)-f-ca)-(!a.length||"inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),c[h].lineCoordinates={x1:q-V,y1:k,x2:B-V,y2:m,height:Math.abs(m-k)},c[h].bounds={x1:q-(v[h]+V),y1:k,x2:B-V,y2:m,height:m-k},c[h].bounds.width=c[h].bounds.x2-c[h].bounds.x1,"inside"===c[h].labelPlacement&&(c[h].lineCoordinates.x1=Math.round(c[0].bounds.x1+v[0]-V-(c[h].labelEffectiveWidth||
|
|
697
|
+
0)-5),c[h].lineCoordinates.x2=c[h].lineCoordinates.x1+c[h].lineThickness/2),"inside"===c[h].tickPlacement&&(c[h].lineCoordinates.x1-=c[h].tickLength,c[h].lineCoordinates.x2=c[h].lineCoordinates.x1+c[h].lineThickness/2),c[h].title&&(c[h]._titleTextBlock.maxWidth=0<c[h].titleMaxWidth&&c[h].titleMaxWidth<c[h].lineCoordinates.height?c[h].titleMaxWidth:c[h].lineCoordinates.height),V+=v[h]+c[h].margin);if(b&&0<b.length)for(h=0;h<b.length;h++)b[h]&&(q=B=Math.round((a[0]?a[0].lineCoordinates.x2:g[0].lineCoordinates.x2)-
|
|
698
|
+
(b[0]?("inside"===b[0].labelPlacement?b[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===b[0].tickPlacement?b[0].tickLength:0):0)),ca=Math.max(b[h]._labels&&0<b[h]._labels.length?b[h]._labels[b[h]._labels.length-1].textBlock.height/2:0,n),k=Math.round(Math.max(d.y1+Z+O-(g[0]?("inside"===g[0].labelPlacement?g[0].labelEffectiveHeight+(p.isNavigator?0:5):0)+("inside"===g[0].tickPlacement?g[0].tickLength:0):0)+(!g.length||"inside"!==g[g.length-1].labelPlacement||g[g.length-1].title||g[g.length-
|
|
699
|
+
1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),0<g.length?0:ca)),ca=0<a.length?0:b[h]._labels&&0<b[h]._labels.length?b[h]._labels[0].textBlock.height/2:0,m=Math.round(d.y2-(aa+f+ca)+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveHeight+(p.isNavigator?0:2):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0))-(!a.length||"inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),b[h].lineCoordinates={x1:q+$,y1:k,
|
|
700
|
+
x2:q+$,y2:m,height:Math.abs(m-k)},b[h].bounds={x1:q+$,y1:k,x2:B+y[h]+$,y2:m,height:m-k},b[h].bounds.width=b[h].bounds.x2-b[h].bounds.x1,"inside"===b[h].labelPlacement&&(b[h].lineCoordinates.x1=Math.round(b[0].bounds.x1+$+(b[h].labelEffectiveWidth||0)+(p.isNavigator?0:5)),b[h].lineCoordinates.x2=b[h].lineCoordinates.x1+b[h].lineThickness/2),"inside"===b[h].tickPlacement&&(b[h].lineCoordinates.x1+=b[h].tickLength,b[h].lineCoordinates.x2=b[h].lineCoordinates.x1+b[h].lineThickness/2),b[h].title&&(b[h]._titleTextBlock.maxWidth=
|
|
701
|
+
0<b[h].titleMaxWidth&&b[h].titleMaxWidth<b[h].lineCoordinates.height?b[h].titleMaxWidth:b[h].lineCoordinates.height),$+=y[h]+b[h].margin);if(a&&0<a.length)for(h=0;h<a.length;h++)a[h]&&(a[h].calculateValueToPixelConversionParameters(),a[h].calculateBreaksSizeInValues(),a[h]._labels&&1<a[h]._labels.length&&(A=(a[h].logarithmic?Math.log(a[h]._labels[1].position/a[h].viewportMinimum)/a[h].conversionParameters.lnLogarithmBase:a[h]._labels[1].position-a[h].viewportMinimum)*Math.abs(a[h].conversionParameters.pixelPerUnit)+
|
|
702
|
+
a[h].lineCoordinates.x1,q=a[h]._labels[a[h]._labels.length-("dateTime"===a[h].valueType?2:1)].position,q=a[h].getApparentDifference(a[h].viewportMinimum,q),E=a[h].logarithmic?(1<q?Math.log(q)/a[h].conversionParameters.lnLogarithmBase*Math.abs(a[h].conversionParameters.pixelPerUnit):0)+a[h].lineCoordinates.x1:(0<q?q*Math.abs(a[h].conversionParameters.pixelPerUnit):0)+a[h].lineCoordinates.x1));if(g&&0<g.length)for(h=0;h<g.length;h++)g[h].calculateValueToPixelConversionParameters(),g[h].calculateBreaksSizeInValues(),
|
|
703
|
+
g[h]._labels&&1<g[h]._labels.length&&(A=(g[h].logarithmic?Math.log(g[h]._labels[1].position/g[h].viewportMinimum)/g[h].conversionParameters.lnLogarithmBase:g[h]._labels[1].position-g[h].viewportMinimum)*Math.abs(g[h].conversionParameters.pixelPerUnit)+g[h].lineCoordinates.x1,q=g[h]._labels[g[h]._labels.length-("dateTime"===g[h].valueType?2:1)].position,q=g[h].getApparentDifference(g[h].viewportMinimum,q),E=g[h].logarithmic?(1<q?Math.log(q)/g[h].conversionParameters.lnLogarithmBase*Math.abs(g[h].conversionParameters.pixelPerUnit):
|
|
704
|
+
0)+g[h].lineCoordinates.x1:(0<q?q*Math.abs(g[h].conversionParameters.pixelPerUnit):0)+g[h].lineCoordinates.x1);for(h=0;h<r.length;h++)"axisY"===r[h].type&&(r[h].calculateValueToPixelConversionParameters(),r[h].calculateBreaksSizeInValues());if(0<s){if(a&&0<a.length)for(h=0;h<a.length;h++)t=Q[s-1][h]===Q[s][h]?!0:!1;else t=!0;if(g&&0<g.length)for(h=0;h<g.length;h++)G=R[s-1][h]===R[s][h]?!0:!1;else G=!0;if(c&&0<c.length)for(h=0;h<c.length;h++)L=Y[s-1][h]===Y[s][h]?!0:!1;else L=!0;if(b&&0<b.length)for(h=
|
|
705
|
+
0;h<b.length;h++)M=I[s-1][h]===I[s][h]?!0:!1;else M=!0}if(t&&G&&L&&M)break;s++}if(a&&0<a.length)for(h=0;h<a.length;h++)a[h].calculateStripLinesThicknessInValues(),a[h].calculateBreaksInPixels();if(g&&0<g.length)for(h=0;h<g.length;h++)g[h].calculateStripLinesThicknessInValues(),g[h].calculateBreaksInPixels();if(c&&0<c.length)for(h=0;h<c.length;h++)c[h].calculateStripLinesThicknessInValues(),c[h].calculateBreaksInPixels();if(b&&0<b.length)for(h=0;h<b.length;h++)b[h].calculateStripLinesThicknessInValues(),
|
|
706
|
+
b[h].calculateBreaksInPixels()}else{n=[];A=[];F=[];C=[];u=[];E=[];Q=[];for(R=[];4>s;){aa=$=V=fa=ca=O=f=I=Y=X=Z=0;if(a&&0<a.length)for(F=[],h=$=0;h<a.length;h++)F.push(Math.ceil(a[h]?a[h].createLabelsAndCalculateWidth():0)),$+=F[h],f+=a[h]&&!p.isNavigator?a[h].margin:0;else F.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateWidth():0));Q.push(F);if(g&&0<g.length)for(C=[],h=aa=0;h<g.length;h++)C.push(Math.ceil(g[h]?g[h].createLabelsAndCalculateWidth():0)),aa+=C[h],O+=g[h]?g[h].margin:0;else C.push(Math.ceil(g[0]?
|
|
707
|
+
g[0].createLabelsAndCalculateWidth():0));R.push(C);if(c&&0<c.length)for(h=0;h<c.length;h++)c[h].lineCoordinates={},q=Math.round(d.x1+$+f-(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0))+(!a.length||"inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveWidth||p.isNavigator?0:5),B=Math.round(Math.min(d.x2-aa-O+(g[0]?("inside"===g[0].labelPlacement?g[0].labelEffectiveWidth+
|
|
708
|
+
(p.isNavigator?0:5):0)+("inside"===g[0].tickPlacement?g[0].tickLength:0):0)-(!g.length||"inside"!==g[g.length-1].labelPlacement||g[g.length-1].title||g[g.length-1].stripLineLabelEffectiveWidth||p.isNavigator?0:5),p.width-10)),c[h].labelAutoFit&&!e(x)&&(0<!a.length&&(q=0>c[h].labelAngle?Math.max(q,x):0===c[h].labelAngle?Math.max(q,x/2):q),0<!g.length&&(B=0<c[h].labelAngle?B-w/2:0===c[h].labelAngle?B-w/2:B)),c[h].lineCoordinates.x1=q,c[h].lineCoordinates.x2=B,c[h].lineCoordinates.width=Math.abs(B-q),
|
|
709
|
+
c[h].title&&(c[h]._titleTextBlock.maxWidth=0<c[h].titleMaxWidth&&c[h].titleMaxWidth<c[h].lineCoordinates.width?c[h].titleMaxWidth:c[h].lineCoordinates.width);if(b&&0<b.length)for(h=0;h<b.length;h++)b[h].lineCoordinates={},q=Math.round(d.x1+$+f-(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0))+(!a.length||"inside"!==a[a.length-1].labelPlacement||a[a.length-1].title||a[a.length-1].stripLineLabelEffectiveWidth||
|
|
710
|
+
p.isNavigator?0:5),B=Math.round(Math.min(d.x2-aa-O+(g[0]?("inside"===g[0].labelPlacement?g[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===g[0].tickPlacement?g[0].tickLength:0):0)-(!g.length||"inside"!==g[g.length-1].labelPlacement||g[g.length-1].title||g[g.length-1].stripLineLabelEffectiveWidth||p.isNavigator?0:5),b[h].chart.width-10)),b[h]&&b[h].labelAutoFit&&!e(v)&&(0<!a.length&&(q=0<b[h].labelAngle?Math.max(q,v):0===b[h].labelAngle?Math.max(q,v/2):q),0<!g.length&&(B-=y/2)),b[h].lineCoordinates.x1=
|
|
711
|
+
q,b[h].lineCoordinates.x2=B,b[h].lineCoordinates.width=Math.abs(B-q),b[h].title&&(b[h]._titleTextBlock.maxWidth=0<b[h].titleMaxWidth&&b[h].titleMaxWidth<b[h].lineCoordinates.width?b[h].titleMaxWidth:b[h].lineCoordinates.width);if(c&&0<c.length)for(n=[],h=V=0;h<c.length;h++)n.push(Math.ceil(c[h]?c[h].createLabelsAndCalculateHeight():0)),V+=n[h]+c[h].margin,ca+=c[h].margin;else n.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateHeight():0));u.push(n);if(b&&0<b.length)for(A=[],h=0;h<b.length;h++)A.push(Math.ceil(b[h]?
|
|
712
|
+
b[h].createLabelsAndCalculateHeight():0)),fa+=b[h].margin;else A.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateHeight():0));E.push(A);if(c&&0<c.length)for(h=0;h<c.length;h++)0<c[h]._labels.length&&(k=c[h]._labels[0],W=c[h]._labels[c[h]._labels.length-1],x=k.textBlock.width*Math.cos(Math.PI/180*Math.abs(k.textBlock.angle))+(k.textBlock.height-W.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(k.textBlock.angle)),w=W.textBlock.width*Math.cos(Math.PI/180*Math.abs(W.textBlock.angle))+(W.textBlock.height-
|
|
713
|
+
W.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(W.textBlock.angle)));if(b&&0<b.length)for(h=0;h<b.length;h++)b[h]&&0<b[h]._labels.length&&(k=b[h]._labels[0],W=b[h]._labels[b[h]._labels.length-1],v=k.textBlock.width*Math.cos(Math.PI/180*Math.abs(k.textBlock.angle))+(k.textBlock.height-W.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(k.textBlock.angle)),y=W.textBlock.width*Math.cos(Math.PI/180*Math.abs(W.textBlock.angle))+(W.textBlock.height-W.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(W.textBlock.angle)));
|
|
714
|
+
if(p.panEnabled)for(h=0;h<c.length;h++)n[h]=e(p.sessionVariables.axisY[h].height)?p.sessionVariables.axisY[h].height=n[h]:p.sessionVariables.axisY[h].height;else for(h=0;h<c.length;h++)p.sessionVariables.axisY[h].height=n[h];if(c&&0<c.length)for(h=c.length-1;0<=h;h--)k=Math.round(d.y2)-("inside"!==c[c.length-1].labelPlacement||c[c.length-1].title||c[c.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),m=Math.round(d.y2>c[h].chart.height?c[h].chart.height:d.y2)-("inside"!==c[c.length-1].labelPlacement||
|
|
715
|
+
c[c.length-1].title||c[c.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),c[h].lineCoordinates.y1=k-(n[h]+c[h].margin+Z),c[h].lineCoordinates.y2=k-(n[h]+c[h].margin+Z),"inside"===c[h].labelPlacement&&(c[h].lineCoordinates.y1=c[h].lineCoordinates.y1+c[h].labelEffectiveHeight+(p.isNavigator?0:2),c[h].lineCoordinates.y2=c[h].lineCoordinates.y1+c[h].lineThickness/2),"inside"===c[h].tickPlacement&&(c[h].lineCoordinates.y1+=c[h].tickLength,c[h].lineCoordinates.y2=c[h].lineCoordinates.y1+c[h].lineThickness/
|
|
716
|
+
2),c[h].bounds={x1:q,y1:k-(n[h]+Z+c[h].margin),x2:B,y2:m-(Z+c[h].margin),width:B-q,height:n[h]},c[h].title&&(c[h]._titleTextBlock.maxWidth=0<c[h].titleMaxWidth&&c[h].titleMaxWidth<c[h].lineCoordinates.width?c[h].titleMaxWidth:c[h].lineCoordinates.width),Z+=n[h]+c[h].margin;if(b&&0<b.length)for(h=b.length-1;0<=h;h--)b[h]&&(k=Math.round(d.y1)+("inside"!==b[b.length-1].labelPlacement||b[b.length-1].title||b[b.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),m=Math.round(d.y1+(A[h]+b[h].margin+
|
|
717
|
+
X))+("inside"!==b[b.length-1].labelPlacement||b[b.length-1].title||b[b.length-1].stripLineLabelEffectiveHeight||p.isNavigator?0:5),b[h].lineCoordinates.y1=m,b[h].lineCoordinates.y2=m,"inside"===b[h].labelPlacement&&(b[h].lineCoordinates.y1=m-b[h].labelEffectiveHeight-5,b[h].lineCoordinates.y2=b[h].lineCoordinates.y1-b[h].lineThickness/2),"inside"===b[h].tickPlacement&&(b[h].lineCoordinates.y1-=b[h].tickLength,b[h].lineCoordinates.y2=b[h].lineCoordinates.y1-b[h].lineThickness/2),b[h].bounds={x1:q,
|
|
718
|
+
y1:k+(b[h].margin+X),x2:B,y2:m,width:B-q},b[h].bounds.height=b[h].bounds.y2-b[h].bounds.y1,b[h].title&&(b[h]._titleTextBlock.maxWidth=0<b[h].titleMaxWidth&&b[h].titleMaxWidth<b[h].lineCoordinates.width?b[h].titleMaxWidth:b[h].lineCoordinates.width),X+=A[h]+b[h].margin);if(a&&0<a.length)for(h=0;h<a.length;h++){ca=a[h]._labels&&0<a[h]._labels.length?a[h]._labels[0].textBlock.fontSize/2:0;q=Math.round(d.x1+f);k=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:d.y1<Math.max(ca,10)?Math.max(ca,10):
|
|
719
|
+
d.y1):d.y1<Math.max(ca,10)?Math.max(ca,10):d.y1;B=Math.round(d.x1+$+f);m=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:d.y2-V>p.height-Math.max(ca,10)?p.height-Math.max(ca,10):d.y2-V):d.y2>p.height-Math.max(ca,10)?p.height-Math.max(ca,10):d.y2;if(c&&0<c.length)for(W=0;W<c.length;W++)c[W]&&c[W].labelAutoFit&&(B=c[W].lineCoordinates.x1+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0),q=0>c[W].labelAngle||
|
|
720
|
+
0===c[W].labelAngle?B-$:q);if(b&&0<b.length)for(W=0;W<b.length;W++)b[W]&&b[W].labelAutoFit&&(B=b[W].lineCoordinates.x1+(a[0]?("inside"===a[0].labelPlacement?a[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===a[0].tickPlacement?a[0].tickLength:0):0),q=B-$);a[h].lineCoordinates={x1:B-Y,y1:k,x2:B-Y,y2:m,height:Math.abs(m-k)};"inside"===a[h].labelPlacement&&(a[h].lineCoordinates.x1=a[h].lineCoordinates.x1-a[h].labelEffectiveWidth-5,a[h].lineCoordinates.x2=a[h].lineCoordinates.x1+a[h].lineThickness/
|
|
721
|
+
2);"inside"===a[h].tickPlacement&&(a[h].lineCoordinates.x1-=a[h].tickLength,a[h].lineCoordinates.x2=a[h].lineCoordinates.x1+a[h].lineThickness/2);a[h].bounds={x1:B-(F[h]+Y),y1:k,x2:B-Y,y2:m,height:m-k};a[h].bounds.width=a[h].bounds.x2-a[h].bounds.x1;a[h].title&&(a[h]._titleTextBlock.maxWidth=0<a[h].titleMaxWidth&&a[h].titleMaxWidth<a[h].lineCoordinates.height?a[h].titleMaxWidth:a[h].lineCoordinates.height);a[h].calculateValueToPixelConversionParameters();a[h].calculateBreaksSizeInValues();Y+=F[h]+
|
|
722
|
+
a[h].margin}if(g&&0<g.length)for(h=0;h<g.length;h++){ca=g[h]._labels&&0<g[h]._labels.length?g[h]._labels[0].textBlock.fontSize/2:0;B=Math.round(d.x1-O);k=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:d.y1<Math.max(ca,10)?Math.max(ca,10):d.y1):d.y1<Math.max(ca,10)?Math.max(ca,10):d.y1;q=Math.round(d.x2-aa-O);m=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:d.y2-V>p.height-Math.max(ca,10)?p.height-Math.max(ca,10):d.y2-V):d.y2>p.height-Math.max(ca,10)?p.height-Math.max(ca,10):d.y2;if(c&&
|
|
723
|
+
0<c.length)for(W=0;W<c.length;W++)c[W]&&c[W].labelAutoFit&&(q=c[W].lineCoordinates.x2-(g[0]?("inside"===g[0].labelPlacement?g[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===g[0].tickPlacement?g[0].tickLength:0):0),B=0>c[W].labelAngle||0===c[W].labelAngle?q+aa:q);if(b&&0<b.length)for(W=0;W<b.length;W++)b[W]&&b[W].labelAutoFit&&(q=b[W].lineCoordinates.x2-(g[0]?("inside"===g[0].labelPlacement?g[0].labelEffectiveWidth+(p.isNavigator?0:5):0)+("inside"===g[0].tickPlacement?g[0].tickLength:0):
|
|
724
|
+
0),B=q+aa);g[h].lineCoordinates={x1:q+I,y1:k,x2:q+I,y2:m,height:Math.abs(m-k)};"inside"===g[h].labelPlacement&&(g[h].lineCoordinates.x1=g[h].lineCoordinates.x1+g[h].labelEffectiveWidth+(p.isNavigator?0:5),g[h].lineCoordinates.x2=g[h].lineCoordinates.x1+g[h].lineThickness/2);"inside"===g[h].tickPlacement&&(g[h].lineCoordinates.x1+=g[h].tickLength,g[h].lineCoordinates.x2=g[h].lineCoordinates.x1+g[h].lineThickness/2);g[h].bounds={x1:q+I,y1:k,x2:q+C[h]+I,y2:m,height:m-k};g[h].bounds.width=g[h].bounds.x2-
|
|
725
|
+
g[h].bounds.x1;g[h].title&&(g[h]._titleTextBlock.maxWidth=0<g[h].titleMaxWidth&&g[h].titleMaxWidth<g[h].lineCoordinates.height?g[h].titleMaxWidth:g[h].lineCoordinates.height);g[h].calculateValueToPixelConversionParameters();g[h].calculateBreaksSizeInValues();I+=C[h]+g[h].margin}for(h=0;h<r.length;h++)"axisY"===r[h].type&&(r[h].calculateValueToPixelConversionParameters(),r[h].calculateBreaksSizeInValues());if(0<s){if(a&&0<a.length)for(h=0;h<a.length;h++)t=Q[s-1][h]===Q[s][h]?!0:!1;else t=!0;if(g&&
|
|
726
|
+
0<g.length)for(h=0;h<g.length;h++)G=R[s-1][h]===R[s][h]?!0:!1;else G=!0;if(c&&0<c.length)for(h=0;h<c.length;h++)L=u[s-1][h]===u[s][h]?!0:!1;else L=!0;if(b&&0<b.length)for(h=0;h<b.length;h++)M=E[s-1][h]===E[s][h]?!0:!1;else M=!0}if(t&&G&&L&&M)break;s++}if(c&&0<c.length)for(h=0;h<c.length;h++)c[h].calculateStripLinesThicknessInValues(),c[h].calculateBreaksInPixels();if(b&&0<b.length)for(h=0;h<b.length;h++)b[h].calculateStripLinesThicknessInValues(),b[h].calculateBreaksInPixels();if(a&&0<a.length)for(h=
|
|
727
|
+
0;h<a.length;h++)a[h].calculateStripLinesThicknessInValues(),a[h].calculateBreaksInPixels();if(g&&0<g.length)for(h=0;h<g.length;h++)g[h].calculateStripLinesThicknessInValues(),g[h].calculateBreaksInPixels()}};y.render=function(a,g,c,b,f){var d=a[0]?a[0].chart:g[0].chart,e=d.ctx,q=[];q.push.apply(q,a);q.push.apply(q,g);q.push.apply(q,c);q.push.apply(q,b);d.alignVerticalAxes&&d.alignVerticalAxes();e.save();"normal"===f&&(e.beginPath(),a&&a.length&&e.rect(2,a[0].bounds.y1,a[0].chart.width-4,a[a.length-
|
|
728
|
+
1].bounds.y2),g&&g.length&&e.rect(2,g[g.length-1].bounds.y1,g[0].chart.width-4,g[0].bounds.y2),e.clip());if(a&&0<a.length)for(f=0;f<a.length;f++)a[f].renderLabelsTicksAndTitle();if(g&&0<g.length)for(f=0;f<g.length;f++)g[f].renderLabelsTicksAndTitle();e.restore();if(c&&0<c.length)for(f=0;f<c.length;f++)c[f].renderLabelsTicksAndTitle();if(b&&0<b.length)for(f=0;f<b.length;f++)b[f].renderLabelsTicksAndTitle();d.preparePlotArea();a=d.plotArea;e.save();e.beginPath();e.rect(a.x1,a.y1,Math.abs(a.x2-a.x1),
|
|
729
|
+
Math.abs(a.y2-a.y1));e.clip();if(q&&0<q.length){for(f=0;f<q.length;f++)q[f].renderStripLinesOfThicknessType("value");for(f=0;f<q.length;f++)q[f].renderInterlacedColors()}e.restore();e=!1;if(q&&0<q.length){for(f=0;f<q.length;f++)q[f].renderGrid(),v&&(q[f].createMask(),q[f].renderBreaksBackground());for(f=0;f<q.length;f++)q[f].renderAxisLine();for(f=0;f<q.length;f++)q[f].renderStripLinesOfThicknessType("pixel"),q[f].crosshair&&q[f].crosshair.enabled&&(e=!0,d.clearedOverlayedCanvas=q[f].type)}if(e||
|
|
730
|
+
!e&&d.clearedOverlayedCanvas&&0<=d.clearedOverlayedCanvas.indexOf("axis"))d.resetOverlayedCanvas(),d.renderCrosshairs(null,!0)};y.prototype.calculateStripLinesThicknessInValues=function(){for(var a=0;a<this.stripLines.length;a++)if(null!==this.stripLines[a].startValue&&null!==this.stripLines[a].endValue){var g=Math.min(this.stripLines[a].startValue,this.stripLines[a].endValue),c=Math.max(this.stripLines[a].startValue,this.stripLines[a].endValue),b=this.getApparentDifference(g,c);this.stripLines[a].value=
|
|
731
|
+
this.convertPixelToValue((this.convertValueToPixel(g)+this.convertValueToPixel(c))/2);this.stripLines[a].thickness=b;this.stripLines[a]._thicknessType="value"}};y.prototype.calculateBreaksSizeInValues=function(){for(var a="left"===this._position||"right"===this._position?this.lineCoordinates.height||this.chart.height:this.lineCoordinates.width||this.chart.width,g=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],c=this.conversionParameters.pixelPerUnit||a/(this.logarithmic?this.conversionParameters.maximum/
|
|
732
|
+
this.conversionParameters.minimum:this.conversionParameters.maximum-this.conversionParameters.minimum),b=this.scaleBreaks&&!e(this.scaleBreaks.options.spacing),f,d=0;d<g.length;d++)f=b||!e(g[d].options.spacing),g[d].spacing=Xa(g[d].spacing,a,8,f?0.1*a:8,f?0:3)<<0,g[d].size=0>g[d].spacing?0:Math.abs(g[d].spacing/c),this.logarithmic&&(g[d].size=Math.pow(this.logarithmBase,g[d].size))};y.prototype.calculateBreaksInPixels=function(){if(!(this.scaleBreaks&&0>=this.scaleBreaks._appliedBreaks.length)){var a=
|
|
733
|
+
this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];a.length&&(this.scaleBreaks.firstBreakIndex=this.scaleBreaks.lastBreakIndex=null);for(var g=0;g<a.length&&!(a[g].startValue>this.conversionParameters.maximum);g++)a[g].endValue<this.conversionParameters.minimum||(e(this.scaleBreaks.firstBreakIndex)&&(this.scaleBreaks.firstBreakIndex=g),a[g].startValue>=this.conversionParameters.minimum&&(a[g].startPixel=this.convertValueToPixel(a[g].startValue),this.scaleBreaks.lastBreakIndex=g),a[g].endValue<=this.conversionParameters.maximum&&
|
|
734
|
+
(a[g].endPixel=this.convertValueToPixel(a[g].endValue)))}};y.prototype.renderLabelsTicksAndTitle=function(){var a=this,g=!1,c=0,b=0,f=1,d=0;0!==this.labelAngle&&360!==this.labelAngle&&(f=1.2);if("undefined"===typeof this.options.interval){if("bottom"===this._position||"top"===this._position)if(this.logarithmic&&!this.equidistantInterval&&this.labelAutoFit){for(var c=[],f=0!==this.labelAngle&&360!==this.labelAngle?1:1.2,e,q=this.viewportMaximum,k=this.lineCoordinates.width/Math.log(this.range),m=this._labels.length-
|
|
735
|
+
1;0<=m;m--){n=this._labels[m];if(n.position<this.viewportMinimum)break;n.position>this.viewportMaximum||!(m===this._labels.length-1||e<Math.log(q/n.position)*k/f)||(c.push(n),q=n.position,e=n.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(m=0;m<this._labels.length;m++)n=this._labels[m],n.position<this.viewportMinimum||(e=n.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.height*
|
|
736
|
+
Math.abs(Math.sin(Math.PI/180*this.labelAngle)),c+=e);c>this.lineCoordinates.width*f&&this.labelAutoFit&&(g=!0)}if("left"===this._position||"right"===this._position)if(this.logarithmic&&!this.equidistantInterval&&this.labelAutoFit){for(var c=[],p,q=this.viewportMaximum,k=this.lineCoordinates.height/Math.log(this.range),m=this._labels.length-1;0<=m;m--){n=this._labels[m];if(n.position<this.viewportMinimum)break;n.position>this.viewportMaximum||!(m===this._labels.length-1||p<Math.log(q/n.position)*
|
|
737
|
+
k)||(c.push(n),q=n.position,p=n.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(m=0;m<this._labels.length;m++)n=this._labels[m],n.position<this.viewportMinimum||(p=n.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),b+=p);b>this.lineCoordinates.height*f&&this.labelAutoFit&&(g=!0)}}this.logarithmic&&(!this.equidistantInterval&&
|
|
738
|
+
this.labelAutoFit)&&this._labels.sort(function(a,b){return a.position-b.position});var m=0,n,r;if("bottom"===this._position){for(m=0;m<this._labels.length;m++)n=this._labels[m],n.position<this.viewportMinimum||n.position>this.viewportMaximum||(r=this.getPixelCoordinatesOnAxis(n.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(r.x<<0)+0.5:r.x<<0,this.ctx.beginPath(),this.ctx.moveTo(b,r.y<<
|
|
739
|
+
0),this.ctx.lineTo(b,r.y+this.tickLength<<0),this.ctx.stroke()),g&&0!==d++%2&&this.labelAutoFit||(0===n.textBlock.angle?(r.x-=n.textBlock.width/2,r.y="inside"===this.labelPlacement?r.y-(("inside"===this.tickPlacement?this.tickLength:0)+n.textBlock.height-n.textBlock._lineHeight/2+2):r.y+("inside"===this.tickPlacement?0:this.tickLength)+n.textBlock._lineHeight/2+5):0>this.labelAngle?(r.x=r.x-("inside"===this.labelPlacement?0:n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.topPadding*
|
|
740
|
+
Math.sin(Math.PI/180*this.labelAngle),r.y="inside"===this.labelPlacement?r.y-("inside"===this.tickPlacement?this.tickLength:0)-2-(n.textBlock.height-n.textBlock._lineHeight/2)*Math.cos(Math.PI/180*this.labelAngle):r.y+("inside"===this.tickPlacement?0:this.tickLength)+5+Math.abs(n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-n.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle))):(r.x=r.x-("inside"===this.labelPlacement?n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0)+
|
|
741
|
+
n.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),r.y="inside"===this.labelPlacement?r.y-("inside"===this.tickPlacement?this.tickLength:0)-2-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-(n.textBlock.height-n.textBlock._lineHeight/2)*Math.cos(Math.PI/180*this.labelAngle):r.y+("inside"===this.tickPlacement?0:this.tickLength)+5+Math.abs(n.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle))),n.textBlock.x=r.x,n.textBlock.y=r.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",
|
|
742
|
+
function(){for(m=0;m<a._labels.length;m++)if(n=a._labels[m],!(n.position<a.viewportMinimum||n.position>a.viewportMaximum)&&(r=a.getPixelCoordinatesOnAxis(n.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(r.x<<0)+0.5:r.x<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(b,r.y<<0);a.ctx.lineTo(b,r.y-a.tickLength<<0);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.lineCoordinates.x1+
|
|
743
|
+
this.lineCoordinates.width/2-this._titleTextBlock.width/2,this._titleTextBlock.y=this.bounds.y2-this._titleTextBlock.height+this._titleTextBlock._lineHeight/2-1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("top"===this._position){for(m=0;m<this._labels.length;m++)n=this._labels[m],n.position<this.viewportMinimum||n.position>this.viewportMaximum||(r=this.getPixelCoordinatesOnAxis(n.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=
|
|
744
|
+
this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(r.x<<0)+0.5:r.x<<0,this.ctx.beginPath(),this.ctx.moveTo(b,r.y<<0),this.ctx.lineTo(b,r.y-this.tickLength<<0),this.ctx.stroke()),g&&0!==d++%2&&this.labelAutoFit||(0===n.textBlock.angle?(r.x-=n.textBlock.width/2,r.y="inside"===this.labelPlacement?r.y+n.textBlock._lineHeight/2+("inside"===this.tickPlacement?this.tickLength:0)+5:r.y-(("inside"===this.tickPlacement?0:this.tickLength)+n.textBlock.height-n.textBlock._lineHeight/
|
|
745
|
+
2)-2):0>this.labelAngle?(r.x=r.x-("inside"===this.labelPlacement?n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0)+n.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),r.y="inside"===this.labelPlacement?r.y+("inside"===this.tickPlacement?this.tickLength:0)+5-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+n.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle):r.y-("inside"===this.tickPlacement?0:this.tickLength)-2-(n.textBlock.height-n.textBlock._lineHeight/2)*Math.cos(Math.PI/
|
|
746
|
+
180*this.labelAngle)):(r.x=r.x-("inside"===this.labelPlacement?0:n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle))+n.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),r.y="inside"===this.labelPlacement?r.y+("inside"===this.tickPlacement?this.tickLength:0)+5+n.textBlock._lineHeight/2*Math.cos(Math.PI/180*this.labelAngle):r.y-("inside"===this.tickPlacement?0:this.tickLength)-2-((n.textBlock.height-n.textBlock._lineHeight/2)*Math.cos(Math.PI/180*this.labelAngle)+n.textBlock.width*Math.sin(Math.PI/
|
|
747
|
+
180*this.labelAngle))),n.textBlock.x=r.x,n.textBlock.y=r.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(m=0;m<a._labels.length;m++)if(n=a._labels[m],!(n.position<a.viewportMinimum||n.position>a.viewportMaximum)&&(r=a.getPixelCoordinatesOnAxis(n.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(r.x<<0)+0.5:r.x<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(b,r.y<<0);a.ctx.lineTo(b,
|
|
748
|
+
r.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.y1+this._titleTextBlock._lineHeight/2+1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("left"===this._position){for(m=0;m<this._labels.length;m++)n=this._labels[m],n.position<this.viewportMinimum||n.position>this.viewportMaximum||
|
|
749
|
+
(r=this.getPixelCoordinatesOnAxis(n.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(r.y<<0)+0.5:r.y<<0,this.ctx.beginPath(),this.ctx.moveTo(r.x<<0,b),this.ctx.lineTo(r.x-this.tickLength<<0,b),this.ctx.stroke()),g&&0!==d++%2&&this.labelAutoFit||(0===this.labelAngle?(n.textBlock.y=r.y-n.textBlock.topPadding,n.textBlock.x="inside"===this.labelPlacement?r.x+("inside"===this.tickPlacement?
|
|
750
|
+
this.tickLength:0)+5:r.x-n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5):0>this.labelAngle?(n.textBlock.y=("inside"===this.labelPlacement?r.y:r.y-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle))-n.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),n.textBlock.x="inside"===this.labelPlacement?r.x-n.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?this.tickLength:0)+5:r.x-n.textBlock.width*
|
|
751
|
+
Math.cos(Math.PI/180*this.labelAngle)+(n.textBlock.height-n.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5):(n.textBlock.y=("inside"===this.labelPlacement?r.y:r.y-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle))-n.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),n.textBlock.x="inside"===this.labelPlacement?r.x+(n.textBlock.height-n.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?
|
|
752
|
+
this.tickLength:0)+5:r.x-n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-n.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5)));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(m=0;m<a._labels.length;m++)if(n=a._labels[m],!(n.position<a.viewportMinimum||n.position>a.viewportMaximum)&&(r=a.getPixelCoordinatesOnAxis(n.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=
|
|
753
|
+
a.tickColor;var b=1===a.ctx.lineWidth%2?(r.y<<0)+0.5:r.y<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(r.x<<0,b);a.ctx.lineTo(r.x+a.tickLength<<0,b);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.bounds.x1+this._titleTextBlock._lineHeight/2,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"===
|
|
754
|
+
this._position){for(m=0;m<this._labels.length;m++)n=this._labels[m],n.position<this.viewportMinimum||n.position>this.viewportMaximum||(r=this.getPixelCoordinatesOnAxis(n.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(r.y<<0)+0.5:r.y<<0,this.ctx.beginPath(),this.ctx.moveTo(r.x<<0,b),this.ctx.lineTo(r.x+this.tickLength<<0,b),this.ctx.stroke()),g&&0!==d++%2&&this.labelAutoFit||(0===this.labelAngle?
|
|
755
|
+
(n.textBlock.y=r.y-n.textBlock.topPadding,n.textBlock.x="inside"===this.labelPlacement?r.x-n.textBlock.width-("inside"===this.tickPlacement?this.tickLength:0)-5:r.x+("inside"===this.tickPlacement?0:this.tickLength)+5):0>this.labelAngle?(n.textBlock.y=("inside"===this.labelPlacement?r.y-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):r.y)-n.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),n.textBlock.x="inside"===this.labelPlacement?r.x-n.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+
|
|
756
|
+
(n.textBlock.height-n.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?this.tickLength:0)-5:r.x-n.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?0:this.tickLength)+5):(n.textBlock.y=("inside"===this.labelPlacement?r.y-n.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):r.y)-n.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),n.textBlock.x="inside"===this.labelPlacement?r.x-n.textBlock.width*Math.cos(Math.PI/
|
|
757
|
+
180*this.labelAngle)-n.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?this.tickLength:0)-5:r.x+(n.textBlock.height-n.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?0:this.tickLength)+5)));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(m=0;m<a._labels.length;m++)if(n=a._labels[m],!(n.position<a.viewportMinimum||n.position>a.viewportMaximum)&&(r=a.getPixelCoordinatesOnAxis(n.position),
|
|
758
|
+
a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(r.y<<0)+0.5:r.y<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(r.x<<0,b);a.ctx.lineTo(r.x-a.tickLength<<0,b);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.bounds.x2-this._titleTextBlock._lineHeight/2,this._titleTextBlock.y=this.lineCoordinates.height/2-this._titleTextBlock.width/2+this.lineCoordinates.y1,this.titleMaxWidth=
|
|
759
|
+
this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}d=0;if("inside"===this.labelPlacement)this.chart.addEventListener("dataAnimationIterationEnd",function(){for(m=0;m<a._labels.length;m++)n=a._labels[m],n.position<a.viewportMinimum||(n.position>a.viewportMaximum||g&&0!==d++%2&&a.labelAutoFit)||(a.ctx.save(),a.ctx.beginPath(),n.textBlock.render(!0),a.ctx.restore())},this);else for(m=0;m<this._labels.length;m++)n=this._labels[m],n.position<this.viewportMinimum||(n.position>this.viewportMaximum||
|
|
760
|
+
g&&0!==d++%2&&this.labelAutoFit)||n.textBlock.render(!0)};y.prototype.renderInterlacedColors=function(){var a=this.chart.plotArea.ctx,g,c,b=this.chart.plotArea,f=0;g=!0;if(("bottom"===this._position||"top"===this._position)&&this.interlacedColor)for(a.fillStyle=this.interlacedColor,f=0;f<this._labels.length;f++)g?(g=this.getPixelCoordinatesOnAxis(this._labels[f].position),c=f+1>this._labels.length-1?this.getPixelCoordinatesOnAxis(this.viewportMaximum):this.getPixelCoordinatesOnAxis(this._labels[f+
|
|
761
|
+
1].position),a.fillRect(Math.min(c.x,g.x),b.y1,Math.abs(c.x-g.x),Math.abs(b.y1-b.y2)),g=!1):g=!0;else if(("left"===this._position||"right"===this._position)&&this.interlacedColor)for(a.fillStyle=this.interlacedColor,f=0;f<this._labels.length;f++)g?(c=this.getPixelCoordinatesOnAxis(this._labels[f].position),g=f+1>this._labels.length-1?this.getPixelCoordinatesOnAxis(this.viewportMaximum):this.getPixelCoordinatesOnAxis(this._labels[f+1].position),a.fillRect(b.x1,Math.min(c.y,g.y),Math.abs(b.x1-b.x2),
|
|
762
|
+
Math.abs(g.y-c.y)),g=!1):g=!0;a.beginPath()};y.prototype.renderStripLinesOfThicknessType=function(a){if(this.stripLines&&0<this.stripLines.length&&a){var g=this,c,b,f=0,d=0,q=!1;b=!1;for(var k=[],B=[],m=!1,p,f=0;f<this.stripLines.length;f++){var n=this.stripLines[f];n._thicknessType===a&&("pixel"===a&&(n.value<this.viewportMinimum||n.value>this.viewportMaximum||e(n.value)||isNaN(this.range))||"value"===a&&(n.startValue<=this.viewportMinimum&&n.endValue<=this.viewportMinimum||n.startValue>=this.viewportMaximum&&
|
|
763
|
+
n.endValue>=this.viewportMaximum||e(n.startValue)||e(n.endValue)||isNaN(this.range))||k.push(n))}for(f=0;f<this._stripLineLabels.length;f++)if(n=this.stripLines[f],c=this._stripLineLabels[f],!(c.position<this.viewportMinimum||c.position>this.viewportMaximum||isNaN(this.range)))if(b=this.getPixelCoordinatesOnAxis(c.position),"outside"===c.stripLine.labelPlacement){n&&(this.ctx.strokeStyle=n.tickColor?n.tickColor:n.color,this.ctx.lineWidth=n.tickThickness=e(n.tickThickness)?"pixel"===n._thicknessType?
|
|
764
|
+
n.thickness:this.thickness:n.tickThickness,e(n.opacity)||"pixel"!==n._thicknessType||(p=n.ctx.globalAlpha,n.ctx.globalAlpha=n.opacity));if("bottom"===this._position){var r=1===this.ctx.lineWidth%2?(b.x<<0)+0.5:b.x<<0;0<n.tickThickness&&(this.ctx.beginPath(),this.ctx.moveTo(r,b.y<<0),this.ctx.lineTo(r,b.y+n.tickLength<<0),this.ctx.stroke());0===this.labelAngle?(b.x-=c.textBlock.width/2,b.y+=n.tickLength+c.textBlock.fontSize/2+5):(b.x-=(0>this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):
|
|
765
|
+
0)-c.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),b.y+=n.tickLength+5+(0>this.labelAngle?Math.abs(c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-c.textBlock.fontSize/2*Math.cos(Math.PI/180*this.labelAngle)):Math.abs(c.textBlock.fontSize/2*Math.cos(Math.PI/180*this.labelAngle))))}else"top"===this._position?(r=1===this.ctx.lineWidth%2?(b.x<<0)+0.5:b.x<<0,0<n.tickThickness&&(this.ctx.beginPath(),this.ctx.moveTo(r,b.y<<0),this.ctx.lineTo(r,b.y-n.tickLength<<0),this.ctx.stroke()),
|
|
766
|
+
0===this.labelAngle?(b.x-=c.textBlock.width/2,b.y-=n.tickLength+c.textBlock.height-c.textBlock.fontSize/2):(b.x-=(0<this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0)-c.textBlock.topPadding*Math.sin(Math.PI/180*this.labelAngle),b.y-=n.tickLength+2+(0<this.labelAngle?(c.textBlock.height-c.textBlock.fontSize/2)*Math.cos(Math.PI/180*this.labelAngle)+c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):(c.textBlock.height-c.textBlock.fontSize/2)*Math.cos(Math.PI/180*this.labelAngle)))):
|
|
767
|
+
"left"===this._position?(r=1===this.ctx.lineWidth%2?(b.y<<0)+0.5:b.y<<0,0<n.tickThickness&&(this.ctx.beginPath(),this.ctx.moveTo(b.x<<0,r),this.ctx.lineTo(b.x-n.tickLength<<0,r),this.ctx.stroke()),0===this.labelAngle?(b.x=b.x-c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-n.tickLength-5,b.y-=c.textBlock.topPadding):(b.y-=c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+c.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),b.x-=n.tickLength+5+(0<this.labelAngle?c.textBlock.width*
|
|
768
|
+
Math.cos(Math.PI/180*this.labelAngle)+c.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle):c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-(c.textBlock.height-c.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle)))):"right"===this._position&&(r=1===this.ctx.lineWidth%2?(b.y<<0)+0.5:b.y<<0,0<n.tickThickness&&(this.ctx.beginPath(),this.ctx.moveTo(b.x<<0,r),this.ctx.lineTo(b.x+n.tickLength<<0,r),this.ctx.stroke()),0===this.labelAngle?(b.x=b.x+n.tickLength+5,b.y-=c.textBlock.topPadding):
|
|
769
|
+
(b.y-=c.textBlock.topPadding*Math.cos(Math.PI/180*this.labelAngle),b.x=n.tickLength+5+(0<this.labelAngle?b.x+(c.textBlock.height-c.textBlock.fontSize/2)*Math.sin(Math.PI/180*this.labelAngle):b.x-c.textBlock.fontSize/2*Math.sin(Math.PI/180*this.labelAngle))));p&&(n.ctx.globalAlpha=p);c.textBlock.x=b.x;c.textBlock.y=b.y;B.push(c)}else n._thicknessType===a&&(c.textBlock.angle=-90,"bottom"===this._position?(c.textBlock.maxWidth=this.options.stripLines[f].labelMaxWidth?this.options.stripLines[f].labelMaxWidth:
|
|
770
|
+
this.chart.plotArea.height-3,c.textBlock.measureText(),b.x-c.textBlock.height-n.thickness/2>this.chart.plotArea.x1?e(n.startValue)?b.x-=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.x-=c.textBlock.height/2-c.textBlock.fontSize/2:(c.textBlock.angle=90,e(n.startValue)?b.x+=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.x+=c.textBlock.height/2-c.textBlock.fontSize/2),b.y=-90===c.textBlock.angle?"near"===c.stripLine.labelAlign?this.chart.plotArea.y2-3:"center"===c.stripLine.labelAlign?
|
|
771
|
+
(this.chart.plotArea.y2+this.chart.plotArea.y1+c.textBlock.width)/2:this.chart.plotArea.y1+c.textBlock.width+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[f].labelMaxWidth?this.options.stripLines[f].labelMaxWidth:this.chart.plotArea.height-3,c.textBlock.measureText(),b.x-c.textBlock.height-
|
|
772
|
+
n.thickness/2>this.chart.plotArea.x1?e(n.startValue)?b.x-=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.x-=c.textBlock.height/2-c.textBlock.fontSize/2:(c.textBlock.angle=90,e(n.startValue)?b.x+=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.x+=c.textBlock.height/2-c.textBlock.fontSize/2),b.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)/
|
|
773
|
+
2:this.chart.plotArea.y2-3:"near"===c.stripLine.labelAlign?this.chart.plotArea.y1+3:"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[f].labelMaxWidth?this.options.stripLines[f].labelMaxWidth:this.chart.plotArea.width-3,c.textBlock.angle=0,c.textBlock.measureText(),b.y-c.textBlock.height-n.thickness/2>this.chart.plotArea.y1?e(n.startValue)?
|
|
774
|
+
b.y-=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.y-=c.textBlock.height/2-c.textBlock.fontSize/2:e(n.startValue)?b.y+=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.y+=c.textBlock.height/2-c.textBlock.fontSize+3,b.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[f].labelMaxWidth?
|
|
775
|
+
this.options.stripLines[f].labelMaxWidth:this.chart.plotArea.width-3,c.textBlock.angle=0,c.textBlock.measureText(),b.y-c.textBlock.height-n.thickness/2>this.chart.plotArea.y1?e(n.startValue)?b.y-=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.y-=c.textBlock.height/2-c.textBlock.fontSize/2:e(n.startValue)?b.y+=c.textBlock.height-c.textBlock.fontSize/2+n.thickness/2:b.y-=c.textBlock.height/2-c.textBlock.fontSize/2+3,b.x="near"===c.stripLine.labelAlign?this.chart.plotArea.x2-c.textBlock.width-
|
|
776
|
+
3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.x2+this.chart.plotArea.x1)/2-c.textBlock.width/2:this.chart.plotArea.x1+3),c.textBlock.x=b.x,c.textBlock.y=b.y,B.push(c));if(!m){b=!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(f=0;f<k.length;f++)n=k[f],n.showOnTop?q||(q=!0,this.chart.addEventListener("dataAnimationIterationEnd",function(){this.ctx.save();this.ctx.beginPath();
|
|
777
|
+
this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();for(d=0;d<k.length;d++)n=k[d],n.showOnTop&&n.render();this.ctx.restore()},n)):n.render();for(f=0;f<B.length;f++)c=B[f],c.stripLine.showOnTop?b||(b=!0,this.chart.addEventListener("dataAnimationIterationEnd",function(){for(d=0;d<B.length;d++)c=B[d],"inside"===c.stripLine.labelPlacement&&c.stripLine.showOnTop&&(g.ctx.save(),g.ctx.beginPath(),g.ctx.rect(g.chart.plotArea.x1,
|
|
778
|
+
g.chart.plotArea.y1,g.chart.plotArea.width,g.chart.plotArea.height),g.ctx.clip(),c.textBlock.render(!0),g.ctx.restore())},c.textBlock)):"inside"===c.stripLine.labelPlacement&&c.textBlock.render(!0);this.ctx.restore();m=!0}if(m)for(b=!1,f=0;f<B.length;f++)c=B[f],"outside"===c.stripLine.labelPlacement&&c.textBlock.render(!0)}};y.prototype.renderBreaksBackground=function(){this.chart._breaksCanvas&&(this.scaleBreaks&&0<this.scaleBreaks._appliedBreaks.length&&this.maskCanvas)&&(this.chart._breaksCanvasCtx.save(),
|
|
779
|
+
this.chart._breaksCanvasCtx.beginPath(),this.chart._breaksCanvasCtx.rect(this.chart.plotArea.x1,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())};y.prototype.createMask=function(){if(this.scaleBreaks&&0<this.scaleBreaks._appliedBreaks.length){var a=this.scaleBreaks._appliedBreaks;v?(this.maskCanvas=ta(this.chart.width,
|
|
780
|
+
this.chart.height),this.maskCtx=this.maskCanvas.getContext("2d")):(this.maskCanvas=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 g=0;g<a.length;g++)a[g].endValue<this.viewportMinimum||(a[g].startValue>this.viewportMaximum||isNaN(this.range))||a[g].render(this.maskCtx);this.maskCtx.restore()}};
|
|
781
|
+
y.prototype.renderCrosshair=function(a,g){isFinite(this.minimum)&&isFinite(this.maximum)&&this.crosshair.render(a,g)};y.prototype.showCrosshair=function(a){e(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))};y.prototype.renderGrid=function(){if(this.gridThickness&&0<this.gridThickness){var a=this.chart.ctx;a.save();var g,c=this.chart.plotArea;
|
|
782
|
+
a.lineWidth=this.gridThickness;a.strokeStyle=this.gridColor;a.setLineDash&&a.setLineDash(R(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(),g=this.getPixelCoordinatesOnAxis(this._labels[b].position),g=1===a.lineWidth%2?(g.x<<0)+0.5:g.x<<0,a.moveTo(g,c.y1<<0),a.lineTo(g,c.y2<<0),a.stroke());
|
|
783
|
+
else if("left"===this._position||"right"===this._position)for(var 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(),g=this.getPixelCoordinatesOnAxis(this._labels[b].position),g=1===a.lineWidth%2?(g.y<<0)+0.5:g.y<<0,a.moveTo(c.x1<<0,g),a.lineTo(c.x2<<0,g),a.stroke());a.restore()}};y.prototype.renderAxisLine=function(){var a=this.chart.ctx,g=v?this.chart._preRenderCtx:a,c=Math.ceil(this.tickThickness/
|
|
784
|
+
(this.reversed?-2:2)),b=Math.ceil(this.tickThickness/(this.reversed?2:-2)),f,d;g.save();if("bottom"===this._position||"top"===this._position){if(this.lineThickness){this.reversed?(f=this.lineCoordinates.x2,d=this.lineCoordinates.x1):(f=this.lineCoordinates.x1,d=this.lineCoordinates.x2);g.lineWidth=this.lineThickness;g.strokeStyle=this.lineColor?this.lineColor:"black";g.setLineDash&&g.setLineDash(R(this.lineDashType,this.lineThickness));var q=1===this.lineThickness%2?(this.lineCoordinates.y1<<0)+0.5:
|
|
785
|
+
this.lineCoordinates.y1<<0;g.beginPath();if(this.scaleBreaks&&!e(this.scaleBreaks.firstBreakIndex))if(e(this.scaleBreaks.lastBreakIndex))f=this.scaleBreaks._appliedBreaks[this.scaleBreaks.firstBreakIndex].endPixel+b;else for(var k=this.scaleBreaks.firstBreakIndex;k<=this.scaleBreaks.lastBreakIndex;k++)g.moveTo(f,q),g.lineTo(this.scaleBreaks._appliedBreaks[k].startPixel+c,q),f=this.scaleBreaks._appliedBreaks[k].endPixel+b;f&&(g.moveTo(f,q),g.lineTo(d,q));g.stroke()}}else if(("left"===this._position||
|
|
786
|
+
"right"===this._position)&&this.lineThickness){this.reversed?(f=this.lineCoordinates.y1,d=this.lineCoordinates.y2):(f=this.lineCoordinates.y2,d=this.lineCoordinates.y1);g.lineWidth=this.lineThickness;g.strokeStyle=this.lineColor;g.setLineDash&&g.setLineDash(R(this.lineDashType,this.lineThickness));q=1===this.lineThickness%2?(this.lineCoordinates.x1<<0)+0.5:this.lineCoordinates.x1<<0;g.beginPath();if(this.scaleBreaks&&!e(this.scaleBreaks.firstBreakIndex))if(e(this.scaleBreaks.lastBreakIndex))f=this.scaleBreaks._appliedBreaks[this.scaleBreaks.firstBreakIndex].endPixel+
|
|
787
787
|
c;else for(k=this.scaleBreaks.firstBreakIndex;k<=this.scaleBreaks.lastBreakIndex;k++)g.moveTo(q,f),g.lineTo(q,this.scaleBreaks._appliedBreaks[k].startPixel+b),f=this.scaleBreaks._appliedBreaks[k].endPixel+c;f&&(g.moveTo(q,f),g.lineTo(q,d));g.stroke()}v&&(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),g.clearRect(0,0,this.chart.width,
|
|
788
788
|
this.chart.height));g.restore()};y.prototype.getPixelCoordinatesOnAxis=function(a){var g={};if("bottom"===this._position||"top"===this._position)g.x=this.convertValueToPixel(a),g.y=this.lineCoordinates.y1;if("left"===this._position||"right"===this._position)g.y=this.convertValueToPixel(a),g.x=this.lineCoordinates.x2;return g};y.prototype.convertPixelToValue=function(a){if("undefined"===typeof a)return null;var g=0,c=0,b,g=!0,f=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],c="number"===typeof a?
|
|
789
789
|
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<f.length;c++){if(!(f[c].endValue<this.conversionParameters.minimum))if(g)if(f[c].startValue<this.conversionParameters.minimum){if(1<f[c].size&&this.conversionParameters.minimum*Math.pow(f[c].endValue/
|
|
@@ -991,15 +991,15 @@ onComplete:b});for(a=[];0<this.animations.length;)if(d=this.animations.shift(),c
|
|
|
991
991
|
ma)}},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/ma,b.height/ma);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/ma,c.canvas.height/ma);c.restore()}},easing:{linear:function(a,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*
|
|
992
992
|
((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}}},C={drawMarker:function(a,d,c,b,f,e,q,k){if(c){var B=1;c.fillStyle=e?e:"#000000";c.strokeStyle=q?q:"#000000";c.lineWidth=k?k:0;c.setLineDash&&c.setLineDash(R("solid",k));"circle"===b?(c.moveTo(a,d),c.beginPath(),c.arc(a,d,f/2,0,2*Math.PI,!1),e&&c.fill(),k&&(q?c.stroke():(B=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=B))):"square"===b?
|
|
993
993
|
(c.beginPath(),c.rect(a-f/2,d-f/2,f,f),e&&c.fill(),k&&(q?c.stroke():(B=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=B))):"triangle"===b?(c.beginPath(),c.moveTo(a-f/2,d+f/2),c.lineTo(a+f/2,d+f/2),c.lineTo(a,d-f/2),c.closePath(),e&&c.fill(),k&&(q?c.stroke():(B=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=B)),c.beginPath()):"cross"===b&&(c.strokeStyle=e,c.lineWidth=f/4,c.beginPath(),c.moveTo(a-f/2,d-f/2),c.lineTo(a+f/2,d+f/2),c.stroke(),
|
|
994
|
-
c.moveTo(a+f/2,d-f/2),c.lineTo(a-f/2,d+f/2),c.stroke())}},drawMarkers:function(a){for(var d=0;d<a.length;d++){var c=a[d];C.drawMarker(c.x,c.y,c.ctx,c.type,c.size,c.color,c.borderColor,c.borderThickness)}}};return k}();Ka.version="v3.
|
|
995
|
-
|
|
996
|
-
|
|
997
|
-
|
|
998
|
-
|
|
999
|
-
|
|
1000
|
-
|
|
1001
|
-
|
|
1002
|
-
|
|
994
|
+
c.moveTo(a+f/2,d-f/2),c.lineTo(a-f/2,d+f/2),c.stroke())}},drawMarkers:function(a){for(var d=0;d<a.length;d++){var c=a[d];C.drawMarker(c.x,c.y,c.ctx,c.type,c.size,c.color,c.borderColor,c.borderThickness)}}};return k}();Ka.version="v3.15.0 GA";window.CanvasJS&&(Ka&&!window.CanvasJS.Chart)&&(window.CanvasJS.Chart=Ka);ga.StockChart={width:500,height:600,backgroundColor:"white",theme:"light1",animationEnabled:!1,animationDuration:1200,culture:"en",creditHref:"",creditText:"CanvasJS",exportEnabled:!1,exportFileName:"StockChart",
|
|
995
|
+
colorSet:"colorSet1",rangeChanging:null,rangeChanged:null,publicProperties:{title:"readWrite",subtitles:"readWrite",toolbar:"readWrite",navigator:"readWrite",rangeSelector:"readWrite",charts:"readWrite",options:"readWrite",bounds:"readOnly",container:"readOnly",selectedColorSet:"readOnly"}};ga.Navigator={enabled:!0,width:500,height:70,verticalAlign:"bottom",horizontalAlign:"left",dynamicUpdate:!0,backgroundColor:"#fff",animationEnabled:!1,animationDuration:1200,theme:"light1",colorSet:"colorSet1",
|
|
996
|
+
publicProperties:{slider:"readWrite",backgroundColor:"readWrite",animationEnabled:"readWrite",animationDuration:"readWrite",theme:"readWrite",axisX:"readWrite",axisY:"readWrite",axisX2:"readWrite",axisY2:"readWrite",data:"readWrite",colorSet:"readWrite",options:"readWrite",bounds:"readOnly"}};ga.RangeSelector={enabled:!0,width:500,height:35,label:"Range",verticalAlign:"top",horizontalAlign:"center",selectedRangeButtonIndex:null,publicProperties:{options:"readWrite",buttons:"readWrite",inputFields:"readWrite",
|
|
997
|
+
buttonStyle:"readWrite",bounds:"readOnly"}};ga.RangeButton={range:null,rangeType:null,label:null,style:"position: inline; margin: 5px 0;text-align:center;cursor: pointer;",backgroundColorDisabled:"#ddd",publicProperties:{options:"readWrite",bounds:"readOnly"}};ga.ButtonStyle={backgroundColor:"#fff",backgroundColorOnHover:"#2196f3",backgroundColorOnSelect:"#2196f3",borderColor:"#2196f3",borderThickness:2,labelFontColor:"#000",labelFontColorOnHover:"#fff",labelFontSize:14,labelFontStyle:"normal",labelFontFamily:v?
|
|
998
|
+
"Trebuchet MS, Helvetica, sans-serif":"Arial",labelFontWeight:"normal",labelTextAlign:"center",width:null,maxWidth:null,padding:{left:5,right:5,top:2,bottom:2},spacing:5,cursor:"pointer",publicProperties:{options:"readWrite"}};ga.InputFields={enabled:!0,startValue:null,endValue:null,valueType:"dateTime",valueFormatString:"MMM DD YYYY",publicProperties:{style:"readWrite",options:"readWrite"}};ga.Style={backgroundColor:"#fff",borderColor:"#2196f3",borderColorOnFocus:"#008eff",borderThickness:2,fontColor:"#000",
|
|
999
|
+
fontSize:12,fontStyle:"normal",fontFamily:v?"Trebuchet MS, Helvetica, sans-serif":"Arial",fontWeight:"normal",textAlign:"center",width:null,maxWidth:null,padding:{left:5,right:5,top:2,bottom:2},spacing:5,cursor:"text",publicProperties:{options:"readWrite"}};ga.Slider={maskColor:"#d9e8f9",maskInverted:!1,maskOpacity:0.7,handleColor:"#ddd",handleBorderColor:"#aaa",handleBorderThickness:1,handleWidth:8,handleHeight:18,minimum:null,maximum:null,outlineThickness:1,outlineColor:"#666",outlineInverted:!1,
|
|
1000
|
+
publicProperties:{options:"readWrite"}};ga.CultureInfo.rangeSelector={fromText:"From",toText:"To",rangeText:"Range"};L="#FFFFFF";X="#333333";M="#000000";Ha={colorSet:"colorSet1",backgroundColor:L,title:Ha.title,subtitles:Ha.subtitles,charts:[Ha],rangeSelector:{buttonStyle:{backgroundColor:"#FEFEFE",backgroundColorOnHover:"#41a5f5",backgroundColorOnSelect:"#2196f3",borderColor:"#2196f3",borderThickness:1,labelFontColor:M,labelFontColorOnHover:"#ffffff",labelFontSize:14,labelFontStyle:"normal",labelFontFamily:A,
|
|
1001
|
+
labelFontWeight:"normal",spacing:0},inputFields:{style:{backgroundColor:"#ffffff",borderColor:"#2196f3",borderColorOnFocus:"#2196f3",borderThickness:1,fontColor:M,fontSize:14,fontStyle:"normal",fontFamily:A,fontWeight:"normal"}}},navigator:{backgroundColor:L,theme:"light1",colorSet:"colorSet1",slider:{maskColor:"#d9e8f9",maskOpacity:0.6,handleColor:"#efefef",handleBorderColor:"#666666",handleBorderThickness:1,outlineColor:"#666666",outlineThickness:1}},toolbar:Ha.toolbar};L="#FFFFFF";X="#3A3A3A";
|
|
1002
|
+
M="#666666";Ja={colorSet:"colorSet2",backgroundColor:L,title:Ja.title,subtitles:Ja.subtitles,charts:[Ja],rangeSelector:{buttonStyle:{backgroundColor:"#FEFEFE",backgroundColorOnHover:"#41a5f5",backgroundColorOnSelect:"#2196f3",borderColor:"#2196f3",borderThickness:1,labelFontColor:M,labelFontColorOnHover:"#ffffff",labelFontSize:14,labelFontStyle:"normal",labelFontFamily:A,labelFontWeight:"normal",spacing:0},inputFields:{style:{backgroundColor:"#ffffff",borderColor:"#2196f3",borderColorOnFocus:"#2196f3",
|
|
1003
1003
|
borderThickness:1,fontColor:M,fontSize:14,fontStyle:"normal",fontFamily:A,fontWeight:"normal"}}},navigator:{backgroundColor:L,theme:"light2",colorSet:"colorSet2",slider:{maskColor:"#D9E8F9",maskOpacity:0.6,handleColor:"#EFEFEF",handleBorderColor:"#BBBBBB",handleBorderThickness:1,outlineColor:"#BBBBBB",outlineThickness:1}},toolbar:Ja.toolbar};L="#2A2A2A";M=X="#F5F5F5";Ba={colorSet:"colorSet1",backgroundColor:L,title:Ba.title,subtitles:Ba.subtitles,charts:[Ba],rangeSelector:{buttonStyle:{backgroundColor:"#666666",
|
|
1004
1004
|
backgroundColorOnHover:"#FF7372",backgroundColorOnSelect:"#FF7372",borderColor:"#FF7372",borderThickness:1,labelFontColor:M,labelFontColorOnHover:"#F5F5F5",labelFontSize:14,labelFontStyle:"normal",labelFontFamily:A,labelFontWeight:"normal",spacing:0},inputFields:{style:{backgroundColor:"#666666",borderColor:"#FF7372",borderColorOnFocus:"#FF7372",borderThickness:1,fontColor:M,fontSize:14,fontStyle:"normal",fontFamily:A,fontWeight:"normal"}}},navigator:{backgroundColor:L,theme:"dark1",colorSet:"colorSet1",
|
|
1005
1005
|
slider:{maskColor:"#d9e8f9",maskOpacity:0.6,handleColor:"#efefef",handleBorderColor:"#666666",handleBorderThickness:1,outlineColor:"#FFFFFF",outlineThickness:1}},toolbar:Ba.toolbar};L="#32373A";M=X="#FAFAFA";var Sa={light1:Ha,light2:Ja,dark1:Ba,dark2:{colorSet:"colorSet2",backgroundColor:L,title:Z.title,subtitles:Z.subtitles,charts:[Z],rangeSelector:{buttonStyle:{backgroundColor:"#666666",backgroundColorOnHover:"#FF7372",backgroundColorOnSelect:"#FF7372",borderColor:"#FF7372",borderThickness:1,labelFontColor:M,
|
|
@@ -1160,79 +1160,79 @@ g&&(a&&g[a[e]])&&g[a[e]].call(g,s);"mouseout"!==e?g.cursor&&g.cursor!==k.target.
|
|
|
1160
1160
|
this.backgroundColor||(this.backgroundColor="rgba(0, 0, 0, 0)");this.updateOption("animationEnabled");this.animationEnabled=this.animationEnabled&&v;this.updateOption("animationDuration");this.updateOption("theme");this.updateOption("verticalAlign");this.updateOption("horizontalAlign");this.updateOption("width");this.updateOption("height");this.updateOption("dynamicUpdate")};y.prototype._initialize=function(){this.options=this.stockChart.options.navigator||{_isPlaceholder:!0};this._updateOptions();
|
|
1161
1161
|
var d;this.enabled&&!this.panel&&(this.panel=s("canvasjs-navigator-panel"),(d=!e(this.panel)&&this.stockChart._canvasJSContainer.contains(this.panel))||this.stockChart._canvasJSContainer.appendChild(this.panel));d=!e(this.panel)&&this.stockChart._canvasJSContainer.contains(this.panel);if(!this.enabled||0>=this.height)d&&this.stockChart._canvasJSContainer.removeChild(this.panel);else{this.height=e(this.options.height)?0.14*this.stockChart.height:parseInt(this.options.height);d||this.stockChart._canvasJSContainer.appendChild(this.panel);
|
|
1162
1162
|
var k=this.stockChart.layoutManager.getFreeSpace(),t=k.x1,v=k.y1;this.width=this.options.width?this.width:k.width;"top"===this.verticalAlign?(v=k.y1+2,d="top"):(v=k.y2-this.height-2,d="bottom");"left"===this.horizontalAlign?t=k.x1-2:"center"===this.horizontalAlign?t=k.x1+k.width/2-this.width/2:"right"===this.horizontalAlign&&(t=k.x2-2-this.width);this.panel.style.top=v+"px";this.panel.style.left=t+"px";this.panel.style.height=this.height+"px";this.panel.style.width=this.width+"px";this.stockChart.layoutManager.registerSpace(d,
|
|
1163
|
-
{width:this.width,height:this.height+2});this.bounds={x1:t,y1:v,x2:t+this.width,y2:v+this.height}}};y.prototype._updateSlider=function(d,k){if(!(0>=this.height)&&this.enabled){var s=this.chart.axisX&&this.chart.axisX.length?this.chart.axisX[0]:this.chart.axisX2[0];if(!e(s)){var t=
|
|
1164
|
-
Math.min(d,Math.min(s.maximum,k)):Math.max(d,Math.min(s.maximum,k)))));this.slider.panel.style.left=t+"px";this.slider.left=t;this.slider.panel.style.width=a-t+"px";this.slider.width=a-t;this.slider.minimum=
|
|
1165
|
-
this.slider.maskColor,0,this.slider.outlineColor
|
|
1166
|
-
|
|
1167
|
-
2),this.chart.overlaidCanvasCtx.
|
|
1168
|
-
this.chart.overlaidCanvasCtx.
|
|
1169
|
-
|
|
1170
|
-
this.slider.handleWidth/2<<0,1===this.slider.handleBorderThickness%2?this.height/2
|
|
1171
|
-
|
|
1172
|
-
this.
|
|
1173
|
-
this.slider.handleBorderThickness%2?(t
|
|
1174
|
-
2<<0)+0.5:
|
|
1175
|
-
2-this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.
|
|
1176
|
-
this.
|
|
1177
|
-
|
|
1178
|
-
E(this.navigator.panel,"mousedown",function(k){if(k.target!==d.navigator.slider.panel&&k.target!==d.leftHandle&&k.target!==d.rightHandle){d.stockChart.navigatorClicked=!0;var s=Ca(k),t,a;t=0;var g=d.navigator.chart.axisX&&
|
|
1179
|
-
(t=t+a-d.navigator.width,s-=t);0>k+a&&(t=Math.abs(k+a),c+=t);d.stockChart._rangeEventParameter={stockChart:d.stockChart,source:"navigator",index:null,minimum:Math.min(g.convertPixelToValue(s),g.convertPixelToValue(c)),
|
|
1180
|
-
|
|
1181
|
-
t=k.sessionVariables&&k.sessionVariables.selectedRangeButtonIndex,g&&a[g]&&"ytd"===a[g].rangeType||e(g)&&t&&a[t]&&"ytd"===a[t].rangeType)&&(d.stockChart.rangeUpdatedBy=
|
|
1182
|
-
d.navigator.chart.axisX&&d.navigator.chart.axisX.length?d.navigator.chart.axisX[0]:d.navigator.chart.axisX2[0];if(!e(d.currentHandle)&&d.startPosition){d.navigator.chart.overlaidCanvas.style.cursor=
|
|
1183
|
-
|
|
1184
|
-
k.offsetLeft-d.stockChart._chartsPlotAreaX1));var g=a.x-d.startPosition.x;if(0!==g){k=d.panel.offsetLeft;var c=d.panel.clientWidth;0<t&&(k=Math.max(d.startLeft+t*g,d._left));d.panMode||(c=Math.min(d.startWidth-
|
|
1185
|
-
d.panMode||(d.panel.style.width=d.width=c+"px"),!e(s))){t=s.convertPixelToValue(Math.max(s.bounds.x1,parseFloat(k)));a=s.convertPixelToValue(parseFloat(k)+parseFloat(c));d.stockChart.sessionVariables._axisXMin=
|
|
1186
|
-
0<d.stockChart.rangeSelector.buttons.length&&d.stockChart.rangeSelector.buttons[s]&&"on"===d.stockChart.rangeSelector.buttons[s].state)d.stockChart.rangeUpdatedBy="navigator",d.stockChart.rangeSelector.resetRangeButtons()}d.stockChart._rangeEventParameter=
|
|
1187
|
-
d.stockChart),
|
|
1188
|
-
E(this.navigator.stockChart.container,window.navigator.msPointerEnabled?"MSPointerMove":"touchmove",function(e){d.stockChart._touchEventHandler(e)},this.navigator.stockChart.allDOMEventHandlers)};M.prototype._initialize=function(){var d=
|
|
1189
|
-
|
|
1190
|
-
|
|
1191
|
-
|
|
1192
|
-
|
|
1193
|
-
|
|
1194
|
-
"px",left:0,width:"100%",cursor:"move",backgroundColor:"white",filter:"alpha(opacity = 0)",opacity:0}),this.fullWidth=this.panel.clientWidth,this._left=this.navigator.panel.offsetLeft,
|
|
1195
|
-
d.stockChart.
|
|
1196
|
-
"rangeChanging",d.stockChart.dispatchEvent("rangeChanging",d.stockChart._rangeEventParameter,d.stockChart));for(var a=0;a<d.stockChart.charts.length;a++){q=d.stockChart.charts[a];
|
|
1197
|
-
|
|
1198
|
-
|
|
1199
|
-
|
|
1200
|
-
|
|
1201
|
-
d.
|
|
1202
|
-
d
|
|
1203
|
-
|
|
1204
|
-
|
|
1205
|
-
|
|
1206
|
-
if(this.buttons&&0<this.buttons.length){d=e(this.stockChart.options.culture)||e(this.stockChart._cultureInfo.rangeSelector.rangeText)?this.label:this.stockChart._cultureInfo.rangeSelector.rangeText;
|
|
1207
|
-
|
|
1208
|
-
g._index=k;a=new na(this.ctx,{x:0,y:0,backgroundColor:this.buttonStyle.backgroundColor,borderColor:this.buttonStyle.borderColor,borderThickness:this.buttonStyle.borderThickness,cornerRadius:0,maxWidth:this.buttonStyle.options.width?
|
|
1209
|
-
0):2*this.buttonStyle.padding),angle:0,padding:this.buttonStyle.padding,text:this.options.buttons&&this.options.buttons.length?e(g.label)?"":g.label:this.buttonLabels[k],textAlign:this.buttonStyle.labelTextAlign,fontSize:this.buttonStyle.labelFontSize,
|
|
1210
|
-
k&&this.hasOptionChanged("selectedRangeButtonIndex")?g.state="on":this.hasOptionChanged("selectedRangeButtonIndex")||"rangeButton"!==this.stockChart.rangeUpdatedBy||this.sessionVariables._clickedRangeButtonIndex!==k?g.state="off":g.state=
|
|
1211
|
-
this.rangeButtonsHeight=a.height;d=d<a.height?a.height:d;g=this.buttons[k];g.id=++this.stockChart._eventManager.lastObjectId;this.stockChart._eventManager.objectMap[g.id]={id:g.id,objectType:"rangeButton",rangeButtonIndex:k}}this.height=
|
|
1212
|
-
this.
|
|
1213
|
-
this.buttonStyle.borderThickness),this._wrapElements=!0);!this.inputFields.enabled&&(0===this.buttons.length&&e(this.options.height))&&(this.height=0);"bottom"===this.verticalAlign?(k=s.y2-this.height,d="bottom"):
|
|
1214
|
-
y2:k+this.height,width:this.width,height:this.height};for(k=0;k<this.buttons.length;k++)this.buttons[k]._initialize(k)}};R.prototype.render=function(){var d;this.setButtonsLayout();this.ctx.clearRect(this.stockChart.bounds.x1,
|
|
1215
|
-
this._label.textBlock.render(!0);for(d=0;d<this.buttons.length;d++)this.buttons[d].enabled||(this.buttons[d].textBlock.backgroundColor=this.buttons[d].backgroundColorDisabled,this.buttons[d].textBlock.borderColor=this.buttons[d].backgroundColorDisabled),
|
|
1216
|
-
k,this._label.textBlock.y=a=this.bounds.y1+(this._label.textBlock.measureText().height-this._label.textBlock.topPadding-this._label.textBlock.bottomPadding+this.buttons[0].textBlock.borderThickness)/2-this._label.textBlock.topPadding+this.buttons[0].textBlock.topPadding+
|
|
1217
|
-
k+=this._label.bounds.width+(0<this._label.textBlock.text.length?5:2));for(d=0;d<this.buttons.length;d++)e=this.buttons[d],this.buttonStyle.options.width?this.buttonStyle.options.maxWidth?e.textBlock.width=this.buttonStyle.options.width<this.buttonStyle.options.maxWidth?
|
|
1218
|
-
(e.textBlock.measureText(),e.textBlock.maxWidth=this.buttonStyle.maxWidth),s=k+e.textBlock.width,e.textBlock.x=e.bounds.x1=1===e.textBlock.borderThickness%2?(k<<0)+0.5:k,e.bounds.x2=s,a=(1===e.textBlock.borderThickness%2?this.bounds.y1+(e.textBlock.height-
|
|
1219
|
-
2,e.bounds.y2=e.bounds.y1+e.textBlock.height,this.buttonStyle.width=e.bounds.width=s-k,e.bounds.height=e.bounds.y2-e.bounds.y1,k=s+this.buttonStyle.spacing};R.prototype.resetRangeButtons=function(){for(var d=0;d<this.buttons.length;d++)this.buttons[d].enabled&&
|
|
1220
|
-
this.enabled&&this.render()};R.prototype.renderInputFields=function(){this.inputFields._textBlocks[0].text="dateTime"===this.inputFields.valueType&&isFinite(this.inputFields.startValue)?sa(this.inputFields.startValue,this.inputFields.valueFormatString,this.stockChart._cultureInfo):
|
|
1221
|
-
this.inputFields.valueFormatString,this.stockChart._cultureInfo)
|
|
1222
|
-
k;k--){var s=this.inputFields._textBlocks[k],t=s.measureText();""!==s.text&&(s._width=this.inputFields.style.options.width?this.inputFields.style.width:t.width,s._width>this.inputFields.style.maxWidth&&(s._width=this.inputFields.style.maxWidth),d+=s._width+this.inputFields.style.spacing,s.x=s.bounds.x1=1===
|
|
1223
|
-
s.bounds.x1+s._width,d+=this.inputFields._labels[k].measureText().width+2,this.inputFields._labels[k].x=this.inputFields._labels[k].bounds.x1=this.bounds.x2-d-(this.stockChart.exportEnabled&&this._shiftInputField?40:0),this.inputFields._labels[k].bounds.x2=this.inputFields._labels[k].bounds.x1+this.inputFields._labels[k].measureText().width,
|
|
1224
|
-
|
|
1225
|
-
s.y-s._lineHeight/2,s.bounds.y2=this.inputFields._labels[k].bounds.y2=s.bounds.y1+t.height,t=e(this.inputFields.style.padding)||this.inputFields.style.options.width&&this.inputFields.style.width>=this.inputFields.style.options.width?0:isNaN(this.inputFields.style.padding)?(this.inputFields.style.padding.left||0)+(this.inputFields.style.padding.right||
|
|
1226
|
-
s.borderThickness/2+"px",this.inputFields.elements[k].style.width=this.inputFields.style.width-this.inputFields.style.borderThickness-t+"px",0===t&&(this.inputFields.elements[k].style.paddingLeft=0,this.inputFields.elements[k].style.paddingRight=0),this.inputFields._labels[k].render(!0),s.render(!0))}};R.prototype._updateInputFields=function(d,e){!this.inputFields.elements[0].focused&&
|
|
1227
|
-
this.inputFields.valueFormatString));!this.inputFields.elements[1].focused&&isFinite(e)&&(this.inputFields.elements[1].value="dateTime"===this.inputFields.valueType?sa(e,"YYYY-MM-DD"):aa(e,this.inputFields.valueFormatString));for(var k=0;k<this.inputFields.elements.length;k++)this.inputFields.elements[k].focused&&this.inputFields.elements[k].focus();this.inputFields.startValue=d;this.inputFields.endValue=
|
|
1228
|
-
this.updateOption("label");this.updateOption("range");this.updateOption("rangeType")};V.prototype._initialize=function(d){this._updateOptions();var k="1m 3m 6m YTD 1y All".split(" "),s=[1,3,6,null,1,null],t="month month month ytd year all".split(" ");this.range="undefined"!==typeof this.options.range?this.range:e(s[d])?null:s[d];this.rangeType="undefined"!==typeof this.options.rangeType?
|
|
1229
|
-
ja(X,$);X.prototype._updateOptions=function(){this.updateOption("enabled");this.updateOption("startValue");this.updateOption("endValue");this.updateOption("valueType");this.updateOption("valueFormatString")};X.prototype._initialize=function(){this._updateOptions();e(this.style.options.fontSize)&&(this.style.fontSize=this.stockChart.getAutoFontSize(this.style.fontSize));
|
|
1230
|
-
|
|
1231
|
-
"
|
|
1232
|
-
0)+"px"):this.elements[d].style.padding=this.style.padding+"px",this.elements[d].style.mozAppearance=this.elements[d].style.webkitAppearance=this.elements[d].style.appearance="none",this.elements[d].style.webkitBorderRadius=0,this.elements[d].style.mozBorderRadius=0,this.elements[d].style.borderRadius=0,this.elements[d].style.boxSizing="content-box";this.parent=
|
|
1233
|
-
this.
|
|
1234
|
-
|
|
1235
|
-
(X&&(!window.CanvasJS.StockChart&&window.CanvasJS.Chart)&&(window.CanvasJS.StockChart=X),X&&!window.CanvasJS.Chart&&(window.CanvasJS.Chart=Ka,window.CanvasJS.StockChart=X))})();
|
|
1163
|
+
{width:this.width,height:this.height+2});this.bounds={x1:t,y1:v,x2:t+this.width,y2:v+this.height}}};y.prototype._updateSlider=function(d,k){if(!(0>=this.height)&&this.enabled){var s=this.chart.axisX&&this.chart.axisX.length?this.chart.axisX[0]:this.chart.axisX2[0];if(!e(s)){if(this.stockChart.isDrag&&!e(this.slider.left)){var t=s.convertPixelToValue(Math.max(s.bounds.x1,parseFloat(this.slider.left))),a=s.convertPixelToValue(parseFloat(this.slider.left)+parseFloat(this.slider.width));this.stockChart.sessionVariables._axisXMin=
|
|
1164
|
+
d=t;this.stockChart.sessionVariables._axisXMax=a===s.viewportMaximum?null:a;k=a}t=Math.min(s.bounds.x2,Math.max(s.bounds.x1,s.convertValueToPixel(s.reversed?Math.max(d,Math.min(s.maximum,k)):Math.min(d,Math.min(s.maximum,k)))));a=Math.max(s.bounds.x1,Math.min(s.bounds.x2,s.convertValueToPixel(s.reversed?Math.min(d,Math.min(s.maximum,k)):Math.max(d,Math.min(s.maximum,k)))));this.slider.panel.style.left=t+"px";this.slider.left=t;this.slider.panel.style.width=a-t+"px";this.slider.width=a-t;this.slider.minimum=
|
|
1165
|
+
Math.min(d,k);this.slider.maximum=Math.max(d,k);this.chart.resetOverlayedCanvas();this.slider.maskInverted?O(this.chart.overlaidCanvasCtx,t,0,a,this.height,this.slider.maskColor,0,this.slider.outlineColor,0,0,0,0,this.slider.maskOpacity):(O(this.chart.overlaidCanvasCtx,s.bounds.x1,0,t,this.height,this.slider.maskColor,0,this.slider.outlineColor,!1,!1,!1,!1,this.slider.maskOpacity),O(this.chart.overlaidCanvasCtx,a,0,this.width,this.height,this.slider.maskColor,0,this.slider.outlineColor,!1,!1,!1,!1,
|
|
1166
|
+
this.slider.maskOpacity));this.chart.overlaidCanvasCtx.lineWidth=this.slider.outlineThickness;this.chart.overlaidCanvasCtx.strokeStyle=this.slider.outlineColor;this.chart.overlaidCanvasCtx.save();this.chart.overlaidCanvasCtx.beginPath();0<this.slider.outlineThickness&&(this.slider.outlineInverted?(this.chart.overlaidCanvasCtx.moveTo(s.bounds.x1,this.height-this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?t+0.5:t,this.height-this.slider.outlineThickness/
|
|
1167
|
+
2),this.chart.overlaidCanvasCtx.moveTo(1===this.slider.outlineThickness%2?t+0.5:t,this.height),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?t+0.5:t,this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?a-0.5:a,this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?a-0.5:a,this.height),this.chart.overlaidCanvasCtx.moveTo(1===this.slider.outlineThickness%2?a-0.5:a,this.height-this.slider.outlineThickness/
|
|
1168
|
+
2),this.chart.overlaidCanvasCtx.lineTo(this.width,this.height-this.slider.outlineThickness/2)):(this.chart.overlaidCanvasCtx.moveTo(s.bounds.x1,this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?t+0.5:t,this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.moveTo(1===this.slider.outlineThickness%2?t+0.5:t,0),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?t+0.5:t,this.height-this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(1===
|
|
1169
|
+
this.slider.outlineThickness%2?a-0.5:a,this.height-this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?a-0.5:a,0),this.chart.overlaidCanvasCtx.moveTo(1===this.slider.outlineThickness%2?a-0.5:a,this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(this.width,this.slider.outlineThickness/2)));this.chart.overlaidCanvasCtx.stroke();this.chart.overlaidCanvasCtx.restore();O(this.chart.overlaidCanvasCtx,1===this.slider.handleBorderThickness%
|
|
1170
|
+
2?t-this.slider.handleWidth/2<<0.5:t-this.slider.handleWidth/2<<0,1===this.slider.handleBorderThickness%2?this.height/2-this.slider.handleHeight/2<<0.5:this.height/2-this.slider.handleHeight/2<<0,1===this.slider.handleBorderThickness%2?t+this.slider.handleWidth/2<<0.5:t+this.slider.handleWidth/2<<0,1===this.slider.handleBorderThickness%2?this.height/2+this.slider.handleHeight/2<<0.5:this.height/2+this.slider.handleHeight/2<<0,this.slider.handleColor,this.slider.handleBorderThickness,this.slider.handleBorderColor,
|
|
1171
|
+
!1,!1,!1,!1,1);O(this.chart.overlaidCanvasCtx,1===this.slider.handleBorderThickness%2?a-this.slider.handleWidth/2<<0.5:a-this.slider.handleWidth/2<<0,1===this.slider.handleBorderThickness%2?this.height/2-this.slider.handleHeight/2<<0.5:this.height/2-this.slider.handleHeight/2<<0,1===this.slider.handleBorderThickness%2?a+this.slider.handleWidth/2<<0.5:a+this.slider.handleWidth/2<<0,1===this.slider.handleBorderThickness%2?this.height/2+this.slider.handleHeight/2<<0.5:this.height/2+this.slider.handleHeight/
|
|
1172
|
+
2<<0,this.slider.handleColor,this.slider.handleBorderThickness,this.slider.handleBorderColor,!1,!1,!1,!1,1);this.chart.overlaidCanvasCtx.lineWidth=this.slider.handleBorderThickness;this.chart.overlaidCanvasCtx.strokeStyle=this.slider.handleBorderColor;this.chart.overlaidCanvasCtx.save();this.chart.overlaidCanvasCtx.beginPath();this.chart.overlaidCanvasCtx.moveTo((1===this.slider.handleBorderThickness%2?(t-this.slider.handleBorderThickness/2<<0)+0.5:t)-Math.round(this.slider.handleBorderThickness),
|
|
1173
|
+
this.height/2-this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.lineTo((1===this.slider.handleBorderThickness%2?(t-this.slider.handleBorderThickness/2<<0)+0.5:t)-Math.round(this.slider.handleBorderThickness),this.height/2+this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.moveTo((1===this.slider.handleBorderThickness%2?(t+this.slider.handleBorderThickness/2<<0)+0.5:t)+Math.round(this.slider.handleBorderThickness),this.height/2-this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.lineTo((1===
|
|
1174
|
+
this.slider.handleBorderThickness%2?(t+this.slider.handleBorderThickness/2<<0)+0.5:t)+Math.round(this.slider.handleBorderThickness),this.height/2+this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.moveTo((1===this.slider.handleBorderThickness%2?(a-this.slider.handleBorderThickness/2<<0)+0.5:a)-Math.round(this.slider.handleBorderThickness),this.height/2-this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.lineTo((1===this.slider.handleBorderThickness%2?(a-this.slider.handleBorderThickness/
|
|
1175
|
+
2<<0)+0.5:a)-Math.round(this.slider.handleBorderThickness),this.height/2+this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.moveTo((1===this.slider.handleBorderThickness%2?(a+this.slider.handleBorderThickness/2<<0)+0.5:a)+Math.round(this.slider.handleBorderThickness),this.height/2-this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.lineTo((1===this.slider.handleBorderThickness%2?(a+this.slider.handleBorderThickness/2<<0)+0.5:a)+Math.round(this.slider.handleBorderThickness),this.height/
|
|
1176
|
+
2+this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.stroke();this.chart.overlaidCanvasCtx.restore()}}};ja(M,$);M.prototype._updateOptions=function(){this.updateOption("maskColor");this.updateOption("maskInverted");this.updateOption("maskOpacity");this.updateOption("handleColor");this.updateOption("handleBorderColor");this.updateOption("handleBorderThickness");this.updateOption("handleWidth");this.updateOption("handleHeight");this.updateOption("outlineColor");this.updateOption("outlineThickness");
|
|
1177
|
+
this.updateOption("outlineInverted");this.updateOption("minimum");this.updateOption("maximum")};M.prototype._attachEvents=function(){var d=this;E(this.panel,"mousedown",function(e){d.stockChart.isDrag=!0;e.target!==d.leftHandle&&e.target!==d.rightHandle&&(d.stockChart.navigatorClicked=!0,d.currentHandle=d.leftHandle,d.panMode=!0,d.startPosition=Ca(e),e.target===d.currentHandle?d.startPosition.x+=d.currentHandle.offsetLeft+d.currentHandle.clientWidth/2+d.panel.offsetLeft:e.target===d.panel&&(d.startPosition.x+=
|
|
1178
|
+
d.panel.offsetLeft),d.startWidth=d.panel.clientWidth,d.startLeft=d.panel.offsetLeft)},this.stockChart.allDOMEventHandlers);E(this.panel,window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",function(e){d.stockChart._touchEventHandler(e)},this.stockChart.allDOMEventHandlers);E(this.navigator.panel,"mousedown",function(k){if(k.target!==d.navigator.slider.panel&&k.target!==d.leftHandle&&k.target!==d.rightHandle){d.stockChart.navigatorClicked=!0;var s=Ca(k),t,a;t=0;var g=d.navigator.chart.axisX&&
|
|
1179
|
+
d.navigator.chart.axisX.length?d.navigator.chart.axisX[0]:d.navigator.chart.axisX2[0];k=d.navigator.slider.left;e(d.startLeft)&&(d.startLeft=k);t=k+d.navigator.slider.width;a=s.x-(k+t)/2;if(s.x<k||s.x>t){var s=Math.max(0,k+a),c=Math.min(t+a,d.navigator.width);t+a>d.navigator.width&&(t=t+a-d.navigator.width,s-=t);0>k+a&&(t=Math.abs(k+a),c+=t);d.stockChart._rangeEventParameter={stockChart:d.stockChart,source:"navigator",index:null,minimum:Math.min(g.convertPixelToValue(s),g.convertPixelToValue(c)),
|
|
1180
|
+
maximum:Math.max(g.convertPixelToValue(s),g.convertPixelToValue(c))};d.stockChart.sessionVariables._axisXMin=g.convertPixelToValue(s);d.stockChart.sessionVariables._axisXMax=g.convertPixelToValue(c);d.navigator.dynamicUpdate?(d.stockChart._rangeEventParameter.type="rangeChanging",d.stockChart.dispatchEvent("rangeChanging",d.stockChart._rangeEventParameter,d.stockChart),d.stockChart._syncCharts(g.convertPixelToValue(s),g.convertPixelToValue(c)),d.stockChart._rangeEventParameter.type="rangeChanged",
|
|
1181
|
+
d.stockChart.dispatchEvent("rangeChanged",d.stockChart._rangeEventParameter,d.stockChart)):d.navigator._updateSlider(d.stockChart.sessionVariables._axisXMin,d.stockChart.sessionVariables._axisXMax);a=(k=d.stockChart.rangeSelector)&&k.buttons;k&&(k.enabled&&a&&a.length)&&(g=k.sessionVariables&&k.sessionVariables._clickedRangeButtonIndex,t=k.sessionVariables&&k.sessionVariables.selectedRangeButtonIndex,g&&a[g]&&"ytd"===a[g].rangeType||e(g)&&t&&a[t]&&"ytd"===a[t].rangeType)&&(d.stockChart.rangeUpdatedBy=
|
|
1182
|
+
"navigator",k.resetRangeButtons())}}},this.navigator.stockChart.allDOMEventHandlers);E(this.navigator.panel,window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",function(e){d.stockChart._touchEventHandler(e)},this.navigator.stockChart.allDOMEventHandlers);E(this.navigator.stockChart.container,"mousemove",function(k){var s=d.navigator.chart.axisX&&d.navigator.chart.axisX.length?d.navigator.chart.axisX[0]:d.navigator.chart.axisX2[0];if(!e(d.currentHandle)&&d.startPosition){d.navigator.chart.overlaidCanvas.style.cursor=
|
|
1183
|
+
d.navigator.chart.container.style.cursor=d.navigator.panel.style.cursor="ew-resize";var t,a;t=d.currentHandle===d.leftHandle?1:-1;a=Ca(k);k=k.target||k.srcElement;a.x=k===d.currentHandle?a.x+(d.currentHandle.offsetLeft+d.currentHandle.clientWidth/2+d.panel.offsetLeft):k===d.mask||k===d.panel?a.x+(d.panel.offsetLeft+(d.handleHeld?d.leftHandle.clientWidth/2:0)):k===d.rightHandle&&d.currentHandle===d.leftHandle?a.x+(d.rightHandle.offsetLeft+d.panel.offsetLeft):k===d.leftHandle&&d.currentHandle===d.rightHandle?
|
|
1184
|
+
a.x+(d.leftHandle.offsetLeft+d.currentHandle.clientWidth/2+d.panel.offsetLeft):a.x+(d.leftHandle.clientWidth/2+("canvasjs-chart-toolbar"===k.parentElement.className?k.offsetParent.offsetLeft+k.offsetLeft-d.stockChart._chartsPlotAreaX1:k.parentElement.parentElement.parentElement===d.navigator.panel?k.offsetLeft:k.offsetLeft-d.stockChart._chartsPlotAreaX1));var g=a.x-d.startPosition.x;if(0!==g){k=d.panel.offsetLeft;var c=d.panel.clientWidth;0<t&&(k=Math.max(d.startLeft+t*g,d._left));d.panMode||(c=Math.min(d.startWidth-
|
|
1185
|
+
t*g,d.fullWidth),t*g>d.startWidth?(k=0<t?d.startLeft+d.startWidth:Math.max(a.x,d._left),c=(0<t?a.x:d.startLeft)-parseFloat(k)):0>t&&(k=d.startLeft));if(k+c<=d._left+d.fullWidth&&(2<Math.abs(d.startLeft-k)||2<Math.abs(d.startWidth-parseFloat(c)))&&(0<t&&(d.left=k,d.panel.style.left=d.left+"px"),d.panMode||(d.panel.style.width=d.width=c+"px"),!e(s))){t=s.convertPixelToValue(Math.max(s.bounds.x1,parseFloat(k)));a=s.convertPixelToValue(parseFloat(k)+parseFloat(c));d.stockChart.sessionVariables._axisXMin=
|
|
1186
|
+
t;d.stockChart.sessionVariables._axisXMax=a===s.viewportMaximum?null:a;if(d.stockChart.rangeSelector&&d.stockChart.rangeSelector.enabled){s=-1;for(k=0;k<d.stockChart.rangeSelector.buttons.length;k++)if("ytd"===d.stockChart.rangeSelector.buttons[k].rangeType){s=k;break}if(!d.panMode||d.panMode&&0<d.stockChart.rangeSelector.buttons.length&&d.stockChart.rangeSelector.buttons[s]&&"on"===d.stockChart.rangeSelector.buttons[s].state)d.stockChart.rangeUpdatedBy="navigator",d.stockChart.rangeSelector.resetRangeButtons()}d.stockChart._rangeEventParameter=
|
|
1187
|
+
{stockChart:d.stockChart,source:"navigator",index:null,minimum:Math.min(t,a),maximum:Math.max(t,a)};d.navigator.dynamicUpdate?(d.stockChart._rangeEventParameter.type="rangeChanging",d.stockChart.dispatchEvent("rangeChanging",d.stockChart._rangeEventParameter,d.stockChart),d.stockChart._syncCharts(t,a),d.stockChart._rangeEventParameter.type="rangeChanged",d.stockChart.dispatchEvent("rangeChanged",d.stockChart._rangeEventParameter,d.stockChart)):d.navigator._updateSlider(d.stockChart.sessionVariables._axisXMin,
|
|
1188
|
+
d.stockChart.sessionVariables._axisXMax);d.panMode||(d.stockChart.rangeUpdatedBy="navigator")}}}else d.navigator.chart.overlaidCanvas.style.cursor=d.navigator.chart.container.style.cursor=d.navigator.panel.style.cursor="auto"},this.navigator.stockChart.allDOMEventHandlers);E(this.navigator.stockChart.container,window.navigator.msPointerEnabled?"MSPointerMove":"touchmove",function(e){d.stockChart._touchEventHandler(e)},this.navigator.stockChart.allDOMEventHandlers)};M.prototype._initialize=function(){var d=
|
|
1189
|
+
this,q;this.options=this.stockChart.navigator&&this.stockChart.navigator.options&&this.stockChart.navigator.options.slider?this.stockChart.navigator.options.slider:{_isPlaceholder:!0};this._updateOptions();ha&&(this.eventsAttached||(this._attachEvents(),this.eventsAttached=!0),this.handleWidth=this.options.handleWidth?this.handleWidth:8,this.handleHeight=this.options.handleHeight?Math.min(this.navigator.height,this.options.handleHeight):0.25*this.navigator.height,this.leftHandle?Q(this.leftHandle,
|
|
1190
|
+
{height:this.navigator.height+"px",width:this.handleWidth+10+"px",position:"absolute",left:"-"+(this.handleWidth/2+8)+"px",top:0,cursor:"ew-resize",borderStyle:"solid",borderWidth:this.handleBorderThickness+"px",borderColor:"transparent",outline:"none",padding:0,backgroundColor:"white",filter:"alpha(opacity = 0)",opacity:0,color:"transparent",fontSize:"12px",fontFamily:"Arial",userSelect:"none",MozUserSelect:"none",WebkitUserSelect:"none",zIndex:999}):(this.leftHandle=k("button","canvasjs-slider-handle",
|
|
1191
|
+
"button"),this.leftHandle.innerHTML="||",Q(this.leftHandle,{height:this.navigator.height+"px",width:this.handleWidth+10+"px",position:"absolute",left:"-"+(this.handleWidth/2+8)+"px",top:0,cursor:"ew-resize",borderStyle:"solid",borderWidth:this.handleBorderThickness+"px",borderColor:"transparent",outline:"none",padding:0,backgroundColor:"white",filter:"alpha(opacity = 0)",opacity:0,color:"transparent",fontSize:"12px",fontFamily:"Arial",userSelect:"none",MozUserSelect:"none",WebkitUserSelect:"none",
|
|
1192
|
+
zIndex:999}),this.panel.appendChild(this.leftHandle),this.initHandle(this.leftHandle,1)),this.rightHandle?Q(this.rightHandle,{height:this.navigator.height+"px",width:this.handleWidth+10+"px",position:"absolute",right:"-"+(this.handleWidth/2+8)+"px",top:0,cursor:"ew-resize",borderStyle:"solid",borderWidth:this.handleBorderThickness+"px",borderColor:"transparent",outline:"none",padding:"0px",backgroundColor:"white",filter:"alpha(opacity = 0)",opacity:0,color:"transparent",fontSize:"12px",fontFamily:"Arial",
|
|
1193
|
+
userSelect:"none",MozUserSelect:"none",WebkitUserSelect:"none",msUserSelect:"none",zIndex:"999"}):(this.rightHandle=k("button","canvasjs-slider-handle","button"),this.rightHandle.innerHTML="||",Q(this.rightHandle,{height:this.navigator.height+"px",width:this.handleWidth+10+"px",position:"absolute",right:"-"+(this.handleWidth/2+8)+"px",top:0,cursor:"ew-resize",borderStyle:"solid",borderWidth:this.handleBorderThickness+"px",borderColor:"transparent",outline:"none",padding:"0px",backgroundColor:"white",
|
|
1194
|
+
filter:"alpha(opacity = 0)",opacity:0,color:"transparent",fontSize:"12px",fontFamily:"Arial",userSelect:"none",MozUserSelect:"none",WebkitUserSelect:"none",msUserSelect:"none",zIndex:"999"}),this.panel.appendChild(this.rightHandle),this.initHandle(this.rightHandle,-1)),Q(this.panel,{position:"absolute",height:this.navigator.height+"px",left:0,width:"100%",cursor:"move",backgroundColor:"white",filter:"alpha(opacity = 0)",opacity:0}),this.fullWidth=this.panel.clientWidth,this._left=this.navigator.panel.offsetLeft,
|
|
1195
|
+
E(document,"mouseup",function(k){d.panMode=!1;d.navigator.stockChart.isDrag=!1;d.navigator.slider.handleHeld=!1;var s=d.navigator.chart.axisX&&d.navigator.chart.axisX.length?d.navigator.chart.axisX[0]:d.navigator.chart.axisX2[0];if(d.stockChart.navigatorClicked&&(k=Math.min(d.stockChart.sessionVariables._axisXMin||d.stockChart._axisXMin,d.stockChart.sessionVariables._axisXMax||d.stockChart._axisXMax),s=Math.max(d.stockChart.sessionVariables._axisXMin||d.stockChart._axisXMin,d.stockChart.sessionVariables._axisXMax||
|
|
1196
|
+
s.viewportMaximum),e(d.stockChart._rangeEventParameter)&&(d.stockChart._rangeEventParameter={stockChart:d.stockChart,source:"navigator",index:null,minimum:Math.min(k,s),maximum:Math.max(k,s)}),2<Math.abs(d.startLeft-d.left)||2<Math.abs(d.startWidth-parseFloat(d.width)))){d.navigator.dynamicUpdate||(d.stockChart._rangeEventParameter.type="rangeChanging",d.stockChart.dispatchEvent("rangeChanging",d.stockChart._rangeEventParameter,d.stockChart));for(var a=0;a<d.stockChart.charts.length;a++){q=d.stockChart.charts[a];
|
|
1197
|
+
q.toolTip&&q.toolTip.enabled&&q.toolTip.hide();for(var g=0;g<q.axisX.length;g++)q.axisX[g].setViewPortRange(k,s);for(g=0;g<q.axisX2.length;g++)q.axisX2[g].setViewPortRange(k,s);q.render()}d.stockChart.rangeSelector&&(d.stockChart.rangeSelector.enabled&&d.stockChart.rangeSelector.inputFields&&d.stockChart.rangeSelector.inputFields.enabled)&&d.stockChart.rangeSelector._updateInputFields(k,s);d.navigator.dynamicUpdate||(d.stockChart._rangeEventParameter.type="rangeChanged",d.stockChart.dispatchEvent("rangeChanged",
|
|
1198
|
+
d.stockChart._rangeEventParameter,d.stockChart))}d.stockChart.navigatorClicked=d.currentHandle=d.startPosition=d.startWidth=d.startLeft=null},this.navigator.stockChart.allDOMEventHandlers),E(document,window.navigator.msPointerEnabled?"MSPointerUp":"touchend",function(k){d.panMode=!1;d.navigator.stockChart.isDrag=!1;d.navigator.slider.handleHeld=!1;var s=d.navigator.chart.axisX&&d.navigator.chart.axisX.length?d.navigator.chart.axisX[0]:d.navigator.chart.axisX2[0];if((2<Math.abs(d.startLeft-d.left)||
|
|
1199
|
+
2<Math.abs(d.startWidth-parseFloat(d.width)))&&d.stockChart.navigatorClicked){k=Math.min(d.stockChart.sessionVariables._axisXMin||d.stockChart._axisXMin,d.stockChart.sessionVariables._axisXMax||d.stockChart._axisXMax);s=Math.max(d.stockChart.sessionVariables._axisXMin||d.stockChart._axisXMin,d.stockChart.sessionVariables._axisXMax||s.viewportMaximum);e(d.stockChart._rangeEventParameter)&&(d.stockChart._rangeEventParameter={stockChart:d.stockChart,source:"navigator",index:null,minimum:Math.min(k,s),
|
|
1200
|
+
maximum:Math.max(k,s)});d.navigator.dynamicUpdate||(d.stockChart._rangeEventParameter.type="rangeChanging",d.stockChart.dispatchEvent("rangeChanging",d.stockChart._rangeEventParameter,d.stockChart));for(var a=0;a<d.stockChart.charts.length;a++){q=d.stockChart.charts[a];q.toolTip&&q.toolTip.enabled&&q.toolTip.hide();for(var g=0;g<q.axisX.length;g++)q.axisX[g].setViewPortRange(k,s);for(g=0;g<q.axisX2.length;g++)q.axisX2[g].setViewPortRange(k,s);q.render()}d.stockChart.rangeSelector&&(d.stockChart.rangeSelector.enabled&&
|
|
1201
|
+
d.stockChart.rangeSelector.inputFields&&d.stockChart.rangeSelector.inputFields.enabled)&&d.stockChart.rangeSelector._updateInputFields(k,s);d.navigator.dynamicUpdate||(d.stockChart._rangeEventParameter.type="rangeChanged",d.stockChart.dispatchEvent("rangeChanged",d.stockChart._rangeEventParameter,d.stockChart))}d.stockChart.navigatorClicked=d.currentHandle=d.startPosition=d.startWidth=d.startLeft=null},this.navigator.stockChart.allDOMEventHandlers))};M.prototype.initHandle=function(d,e){var k=this;
|
|
1202
|
+
d&&(E(d,"mousedown",function(d){k.stockChart.navigatorClicked=!0;k.currentHandle=this;k.startPosition=Ca(d);d.target===k.currentHandle?(k.startPosition.x+=k.currentHandle.offsetLeft+k.currentHandle.clientWidth/2+k.panel.offsetLeft,k.handleHeld=!0):d.target===k.panel&&(k.startPosition.x+=k.panel.offsetLeft);k.startWidth=k.panel.clientWidth;k.startLeft=k.panel.offsetLeft;d.preventDefault&&d.preventDefault();d.stopPropagation&&d.stopPropagation()},this.navigator.stockChart.allDOMEventHandlers),E(d,window.navigator.msPointerEnabled?
|
|
1203
|
+
"MSPointerDown":"touchstart",function(d){k.stockChart._touchEventHandler(d)},this.navigator.stockChart.allDOMEventHandlers))};ja(R,$);R.prototype._updateOptions=function(){this.updateOption("enabled");this.updateOption("verticalAlign");this.updateOption("horizontalAlign");this.updateOption("width");this.updateOption("height");this.updateOption("label");this.updateOption("selectedRangeButtonIndex")};R.prototype._initialize=function(){var d;d=0;this._updateOptions();this._label={};this.buttons=[];if(ha&&
|
|
1204
|
+
this.enabled){if(this.options.buttons)for(var k=0;k<this.options.buttons.length;k++)this.buttons.push(new V(this.stockChart,k,this.options.buttons[k]));else{for(k=0;6>k;k++)this.buttons.push(new V(this.stockChart,k));this.buttonLabels="1m 3m 6m YTD 1y All".split(" ")}this._wrapElements=!1;var s=this.stockChart.layoutManager.getFreeSpace(),t=s.x1,k=s.y1;this._shiftInputField=!0;this.width=this.options.width?this.width:s.width;e(this.buttonStyle.options.labelFontSize)&&(this.buttonStyle.labelFontSize=
|
|
1205
|
+
this.stockChart.getAutoFontSize(this.buttonStyle.labelFontSize));if(this.stockChart.title&&this.stockChart.title.text&&("top"===this.stockChart.title.verticalAlign||"right"===this.stockChart.title.horizontalAlign&&"center"===this.stockChart.title.verticalAlign&&this.stockChart.exportEnabled)||"bottom"===this.verticalAlign)this._shiftInputField=!1;if(this.stockChart.subtitles)for(k=0;k<this.stockChart.subtitles.length;k++)this.stockChart.subtitles[k]&&(this.stockChart.subtitles[k].text&&("top"===this.stockChart.subtitles[k].verticalAlign||
|
|
1206
|
+
"right"===this.stockChart.subtitles[k].horizontalAlign&&"center"===this.stockChart.subtitles[k].verticalAlign&&this.stockChart.exportEnabled))&&(this._shiftInputField=!1);this.stockChart.navigator.enabled&&"top"===this.stockChart.navigator.verticalAlign&&(this._shiftInputField=!1);this.rangeButtonsWidth=0;if(this.buttons&&0<this.buttons.length){d=e(this.stockChart.options.culture)||e(this.stockChart._cultureInfo.rangeSelector.rangeText)?this.label:this.stockChart._cultureInfo.rangeSelector.rangeText;
|
|
1207
|
+
var a=new na(this.ctx,{x:0,y:0,backgroundColor:this.stockChart.backgroundColor,borderThickness:0,cornerRadius:0,maxWidth:0.2*this.stockChart.width,maxHeight:2*this.buttonStyle.labelFontSize,angle:0,padding:0<d.length?{left:5,right:5,top:2,bottom:2}:0,text:d,textAlign:"left",fontSize:this.buttonStyle.labelFontSize,fontFamily:this.buttonStyle.labelFontFamily,fontWeight:this.buttonStyle.labelFontWeight,fontColor:this.buttonStyle.labelFontColor,fontStyle:this.buttonStyle.labelFontStyle,textBaseline:"middle"});
|
|
1208
|
+
this._label.textBlock=a;d=this._label.textBlock.measureText().height}e(this.buttonStyle.options.maxWidth)&&(this.buttonStyle.maxWidth=(this.width-(this._label&&this._label.textBlock?this._label.textBlock.measureText().width:0))/this.buttons.length-2);for(k=0;k<this.buttons.length;k++){var g=this.buttons[k];g._index=k;a=new na(this.ctx,{x:0,y:0,backgroundColor:this.buttonStyle.backgroundColor,borderColor:this.buttonStyle.borderColor,borderThickness:this.buttonStyle.borderThickness,cornerRadius:0,maxWidth:this.buttonStyle.options.width?
|
|
1209
|
+
this.buttonStyle.width<this.buttonStyle.maxWidth?this.buttonStyle.width:this.buttonStyle.maxWidth:this.buttonStyle.maxWidth,maxHeight:1.5*this.buttonStyle.labelFontSize+("object"===typeof this.buttonStyle.padding?(this.buttonStyle.padding.top||0)+(this.buttonStyle.padding.bottom||0):2*this.buttonStyle.padding),angle:0,padding:this.buttonStyle.padding,text:this.options.buttons&&this.options.buttons.length?e(g.label)?"":g.label:this.buttonLabels[k],textAlign:this.buttonStyle.labelTextAlign,fontSize:this.buttonStyle.labelFontSize,
|
|
1210
|
+
fontFamily:this.buttonStyle.labelFontFamily,fontWeight:this.buttonStyle.labelFontWeight,fontColor:this.buttonStyle.labelFontColor,fontStyle:this.buttonStyle.labelFontStyle,textBaseline:"middle"});!e(this.selectedRangeButtonIndex)&&this.selectedRangeButtonIndex===k&&this.hasOptionChanged("selectedRangeButtonIndex")?g.state="on":this.hasOptionChanged("selectedRangeButtonIndex")||"rangeButton"!==this.stockChart.rangeUpdatedBy||this.sessionVariables._clickedRangeButtonIndex!==k?g.state="off":g.state=
|
|
1211
|
+
"on";g.textBlock=a;g.bounds={x1:null,x2:null,y1:null,y2:null,width:null,height:null};a.measureText();this.buttonStyle.width=a.width=Math.min(e(this.buttonStyle.options.width)?a.width:this.buttonStyle.options.width,a.maxWidth);this.rangeButtonsWidth+=a.width+this.buttonStyle.spacing;this.rangeButtonsHeight=a.height;d=d<a.height?a.height:d;g=this.buttons[k];g.id=++this.stockChart._eventManager.lastObjectId;this.stockChart._eventManager.objectMap[g.id]={id:g.id,objectType:"rangeButton",rangeButtonIndex:k}}this.height=
|
|
1212
|
+
parseFloat(this.options.height);if(e(this.options.height)||isNaN(this.height)||0>this.options.height){if(isNaN(this.height)||0>this.options.height)this.height=0;this.height<this.inputFieldsHeight+this.inputFields.style.borderThickness+5&&(this.height=this.inputFieldsHeight+this.inputFields.style.borderThickness+5);this.height<d+this.buttonStyle.borderThickness+5&&(this.height=d+this.buttonStyle.borderThickness+5)}this._label&&(this._label.textBlock&&this.rangeButtonsWidth&&this.inputFieldsWidth)&&
|
|
1213
|
+
this.rangeButtonsWidth+this._label.textBlock.measureText().width+5+this.inputFieldsWidth>=this.width-(this.stockChart.exportEnabled&&this._shiftInputField?40:0)&&(this.height=this.options.height?this.height:this.inputFieldsHeight+this.rangeButtonsHeight+(12+this.inputFields.style.borderThickness+this.buttonStyle.borderThickness),this._wrapElements=!0);!this.inputFields.enabled&&(0===this.buttons.length&&e(this.options.height))&&(this.height=0);"bottom"===this.verticalAlign?(k=s.y2-this.height,d="bottom"):
|
|
1214
|
+
(k=s.y1,d="top");"left"===this.horizontalAlign?t=s.x1+2:"center"===this.horizontalAlign?t=s.x1+s.width/2-this.width/2:"right"===this.horizontalAlign&&(t=s.x2-2-this.width);this.stockChart.layoutManager.registerSpace(d,{width:this.width,height:this.height});this.bounds={x1:t,y1:k,x2:t+this.width,y2:k+this.height,width:this.width,height:this.height};for(k=0;k<this.buttons.length;k++)this.buttons[k]._initialize(k)}};R.prototype.render=function(){var d;this.setButtonsLayout();this.ctx.clearRect(this.stockChart.bounds.x1,
|
|
1215
|
+
this.bounds.y1,this.stockChart.bounds.x2-this.stockChart.bounds.x1,this.bounds.y2-this.bounds.y1);O(this.ctx,this.stockChart.bounds.x1,this.bounds.y1,this.stockChart.bounds.x2,this.bounds.y2,this.stockChart.backgroundColor,0,null,0,0,0,0,1);this._label&&this._label.textBlock&&this._label.textBlock.render(!0);for(d=0;d<this.buttons.length;d++)this.buttons[d].enabled||(this.buttons[d].textBlock.backgroundColor=this.buttons[d].backgroundColorDisabled,this.buttons[d].textBlock.borderColor=this.buttons[d].backgroundColorDisabled),
|
|
1216
|
+
this.buttons[d].render(!0);this.inputFields&&this.inputFields.enabled&&this.renderInputFields(!0)};R.prototype.setButtonsLayout=function(){var d,e,k=this.bounds.x1,s,a;this._label&&(this._label.textBlock&&0<this.buttons.length)&&(this._label.textBlock.x=k,this._label.textBlock.y=a=this.bounds.y1+(this._label.textBlock.measureText().height-this._label.textBlock.topPadding-this._label.textBlock.bottomPadding+this.buttons[0].textBlock.borderThickness)/2-this._label.textBlock.topPadding+this.buttons[0].textBlock.topPadding+
|
|
1217
|
+
2,this._label.bounds={x1:k,y1:a-this._label.textBlock.fontSize/2,x2:k+this._label.textBlock.measureText().width,y2:a+this._label.textBlock.fontSize/2,width:this._label.textBlock.measureText().width,height:this._label.textBlock.measureText().height},k+=this._label.bounds.width+(0<this._label.textBlock.text.length?5:2));for(d=0;d<this.buttons.length;d++)e=this.buttons[d],this.buttonStyle.options.width?this.buttonStyle.options.maxWidth?e.textBlock.width=this.buttonStyle.options.width<this.buttonStyle.options.maxWidth?
|
|
1218
|
+
e.textBlock.maxWidth=this.buttonStyle.width:e.textBlock.maxWidth=this.buttonStyle.maxWidth:(e.textBlock.measureText(),e.textBlock.width=e.textBlock.maxWidth=e.textBlock.maxWidth<this.buttonStyle.width?e.textBlock.maxWidth:this.buttonStyle.width):(e.textBlock.measureText(),e.textBlock.maxWidth=this.buttonStyle.maxWidth),s=k+e.textBlock.width,e.textBlock.x=e.bounds.x1=1===e.textBlock.borderThickness%2?(k<<0)+0.5:k,e.bounds.x2=s,a=(1===e.textBlock.borderThickness%2?this.bounds.y1+(e.textBlock.height-
|
|
1219
|
+
e.textBlock.topPadding-e.textBlock.bottomPadding+e.textBlock.borderThickness)/2<<0.5:this.bounds.y1+(e.textBlock.height-e.textBlock.topPadding-e.textBlock.bottomPadding+e.textBlock.borderThickness)/2)+2,e.textBlock.y=a,e.bounds.y1=a-e.textBlock._lineHeight/2,e.bounds.y2=e.bounds.y1+e.textBlock.height,this.buttonStyle.width=e.bounds.width=s-k,e.bounds.height=e.bounds.y2-e.bounds.y1,k=s+this.buttonStyle.spacing};R.prototype.resetRangeButtons=function(){for(var d=0;d<this.buttons.length;d++)this.buttons[d].enabled&&
|
|
1220
|
+
(this.buttons[d].state="off",this.buttons[d].textBlock.backgroundColor=this.buttonStyle.backgroundColor,this.buttons[d].textBlock.fontColor=this.buttonStyle.labelFontColor,this.buttons[d].textBlock.fontWeight=this.buttonStyle.labelFontWeight);this.enabled&&this.render()};R.prototype.renderInputFields=function(){this.inputFields._textBlocks[0].text="dateTime"===this.inputFields.valueType&&isFinite(this.inputFields.startValue)?sa(this.inputFields.startValue,this.inputFields.valueFormatString,this.stockChart._cultureInfo):
|
|
1221
|
+
aa(this.inputFields.startValue,this.inputFields.valueFormatString,this.stockChart._cultureInfo);this.inputFields._textBlocks[1].text="dateTime"===this.inputFields.valueType&&isFinite(this.inputFields.endValue)?sa(this.inputFields.endValue,this.inputFields.valueFormatString,this.stockChart._cultureInfo):aa(this.inputFields.endValue,this.inputFields.valueFormatString,this.stockChart._cultureInfo);this.inputFields._labels[0].text=e(this.stockChart._cultureInfo.rangeSelector.fromText)?"From":this.stockChart._cultureInfo.rangeSelector.fromText;
|
|
1222
|
+
this.inputFields._labels[1].text=e(this.stockChart._cultureInfo.rangeSelector.toText)?"To":this.stockChart._cultureInfo.rangeSelector.toText;for(var d=0,k=this.inputFields._textBlocks.length-1;0<=k;k--){var s=this.inputFields._textBlocks[k],t=s.measureText();""!==s.text&&(s._width=this.inputFields.style.options.width?this.inputFields.style.width:t.width,s._width>this.inputFields.style.maxWidth&&(s._width=this.inputFields.style.maxWidth),d+=s._width+this.inputFields.style.spacing,s.x=s.bounds.x1=1===
|
|
1223
|
+
s.borderThickness%2?(this.bounds.x2-d-(this.stockChart.exportEnabled&&this._shiftInputField?40:0)<<0)+0.5:this.bounds.x2-d-(this.stockChart.exportEnabled&&this._shiftInputField?40:0),s.bounds.x2=s.bounds.x1+s._width,d+=this.inputFields._labels[k].measureText().width+2,this.inputFields._labels[k].x=this.inputFields._labels[k].bounds.x1=this.bounds.x2-d-(this.stockChart.exportEnabled&&this._shiftInputField?40:0),this.inputFields._labels[k].bounds.x2=this.inputFields._labels[k].bounds.x1+this.inputFields._labels[k].measureText().width,
|
|
1224
|
+
this.inputFields.style.width=s.width=s._width,s.y=(1===s.borderThickness%2?(this._wrapElements?this.bounds.y1+this.rangeButtonsHeight+this.buttonStyle.borderThickness+8:this.bounds.y1)+(s.height-s.topPadding-s.bottomPadding+s.borderThickness)/2<<0.5:(this._wrapElements?this.bounds.y1+this.rangeButtonsHeight+this.buttonStyle.borderThickness+8:this.bounds.y1)+(s.height-s.topPadding-s.bottomPadding+s.borderThickness)/2)+2,this.inputFields._labels[k].y=(this._wrapElements?this.bounds.y1+this.rangeButtonsHeight+
|
|
1225
|
+
this.buttonStyle.borderThickness+8:this.bounds.y1)+(s.height-s.topPadding-s.bottomPadding+s.borderThickness)/2+2,s.bounds.y1=this.inputFields._labels[k].bounds.y1=s.y-s._lineHeight/2,s.bounds.y2=this.inputFields._labels[k].bounds.y2=s.bounds.y1+t.height,t=e(this.inputFields.style.padding)||this.inputFields.style.options.width&&this.inputFields.style.width>=this.inputFields.style.options.width?0:isNaN(this.inputFields.style.padding)?(this.inputFields.style.padding.left||0)+(this.inputFields.style.padding.right||
|
|
1226
|
+
0):2*this.inputFields.style.padding,this.inputFields.elements[k].style.top=s.y-s._lineHeight/2+"px",this.inputFields.elements[k].style.left=s.bounds.x1+s.borderThickness/2+"px",this.inputFields.elements[k].style.width=this.inputFields.style.width-this.inputFields.style.borderThickness-t+"px",0===t&&(this.inputFields.elements[k].style.paddingLeft=0,this.inputFields.elements[k].style.paddingRight=0),this.inputFields._labels[k].render(!0),s.render(!0))}};R.prototype._updateInputFields=function(d,e){!this.inputFields.elements[0].focused&&
|
|
1227
|
+
isFinite(d)&&(this.inputFields.elements[0].value="dateTime"===this.inputFields.valueType?sa(d,"YYYY-MM-DD"):aa(d,this.inputFields.valueFormatString));!this.inputFields.elements[1].focused&&isFinite(e)&&(this.inputFields.elements[1].value="dateTime"===this.inputFields.valueType?sa(e,"YYYY-MM-DD"):aa(e,this.inputFields.valueFormatString));for(var k=0;k<this.inputFields.elements.length;k++)this.inputFields.elements[k].focused&&this.inputFields.elements[k].focus();this.inputFields.startValue=d;this.inputFields.endValue=
|
|
1228
|
+
e;this.enabled&&this.inputFields.enabled&&this.render()};ja(V,$);V.prototype._updateOptions=function(){this.updateOption("style");this.updateOption("label");this.updateOption("range");this.updateOption("rangeType")};V.prototype._initialize=function(d){this._updateOptions();var k="1m 3m 6m YTD 1y All".split(" "),s=[1,3,6,null,1,null],t="month month month ytd year all".split(" ");this.range="undefined"!==typeof this.options.range?this.range:e(s[d])?null:s[d];this.rangeType="undefined"!==typeof this.options.rangeType?
|
|
1229
|
+
this.rangeType:t[d];this.label=this.textBlock.text=e(this.options.label)?k[d]:this.label};V.prototype.render=function(){this.textBlock.render(!0)};ja(X,$);X.prototype._updateOptions=function(){this.updateOption("enabled");this.updateOption("startValue");this.updateOption("endValue");this.updateOption("valueType");this.updateOption("valueFormatString")};X.prototype._initialize=function(){this._updateOptions();e(this.style.options.fontSize)&&(this.style.fontSize=this.stockChart.getAutoFontSize(this.style.fontSize));
|
|
1230
|
+
if(!e(this.elements))for(var d=0;d<this.elements.length;d++)this.elements[d].style.position="absolute",this.elements[d].style.display="none";if(this.enabled){for(d=0;d<this.elements.length;d++)this.elements[d].style.position="absolute",this.elements[d].style.display=this.elements[d].focused?"inline":"none",this.elements[d].style.backgroundColor="transparent",this.elements[d].style.border="none",this.elements[d].style.outline="none",this.elements[d].style.outlineOffset=0,this.elements[d].style.textAlign=
|
|
1231
|
+
"center",this.elements[d].style.color=this.style.fontColor,this.elements[d].style.fontSize=this.elements[d].style.height=this.style.fontSize+"px",this.elements[d].style.fontStyle=this.style.fontStyle,this.elements[d].style.fontFamily=this.style.fontFamily,this.elements[d].style.fontWeight=this.style.fontWeight,this.elements[d].style.lineHeight=1,isNaN(this.style.padding)?(this.elements[d].style.paddingTop=(this.style.padding.top||0)+"px",this.elements[d].style.paddingRight=(this.style.padding.right||
|
|
1232
|
+
0)+"px",this.elements[d].style.paddingBottom=(this.style.padding.bottom||0)+"px",this.elements[d].style.paddingLeft=(this.style.padding.left||0)+"px"):this.elements[d].style.padding=this.style.padding+"px",this.elements[d].style.mozAppearance=this.elements[d].style.webkitAppearance=this.elements[d].style.appearance="none",this.elements[d].style.webkitBorderRadius=0,this.elements[d].style.mozBorderRadius=0,this.elements[d].style.borderRadius=0,this.elements[d].style.boxSizing="content-box";this.parent=
|
|
1233
|
+
this.rangeSelector=this.stockChart.rangeSelector}};ja(Z,$);Z.prototype._updateOptions=function(){this.updateOption("backgroundColor");this.updateOption("backgroundColorOnHover");this.updateOption("backgroundColorOnSelect");this.updateOption("borderColor");this.updateOption("borderThickness");this.updateOption("labelFontColor");this.updateOption("labelFontColorOnHover");this.updateOption("labelFontSize");this.updateOption("labelFontStyle");this.updateOption("labelFontFamily");this.updateOption("labelFontWeight");
|
|
1234
|
+
this.updateOption("width");this.updateOption("maxWidth");this.updateOption("padding");this.updateOption("spacing");this.updateOption("cursor")};ja(ga,$);ga.prototype._updateOptions=function(){this.updateOption("backgroundColor");this.updateOption("borderColor");this.updateOption("borderThickness");this.updateOption("borderColorOnFocus");this.updateOption("fontColor");this.updateOption("fontSize");this.updateOption("fontStyle");this.updateOption("fontFamily");this.updateOption("fontWeight");this.updateOption("width");
|
|
1235
|
+
this.updateOption("maxWidth");this.updateOption("padding");this.updateOption("spacing");this.updateOption("cursor")};return t}();X.version="v1.15.0 GA";window.CanvasJS&&(X&&(!window.CanvasJS.StockChart&&window.CanvasJS.Chart)&&(window.CanvasJS.StockChart=X),X&&!window.CanvasJS.Chart&&(window.CanvasJS.Chart=Ka,window.CanvasJS.StockChart=X))})();
|
|
1236
1236
|
|
|
1237
1237
|
/*
|
|
1238
1238
|
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.
|