@canvasjs/stockcharts 1.7.30 → 1.7.32
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/README.md +1 -1
- package/canvasjs.stock.min.js +246 -246
- package/package.json +2 -2
package/LICENSE
CHANGED
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
</a>
|
|
5
5
|
</div>
|
|
6
6
|
|
|
7
|
-
# CanvasJS JavaScript StockCharts
|
|
7
|
+
# CanvasJS JavaScript StockCharts - Official
|
|
8
8
|
CanvasJS StockCharts provides you with a powerful JavaScript StockChart library for creating advanced financial charts for your web pages & applications. StockCharts work well with all the popular Technologies & Frameworks like React, Angular, jQuery, PHP, etc.
|
|
9
9
|
|
|
10
10
|

|
package/canvasjs.stock.min.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
CanvasJS StockChart - v1.7.
|
|
2
|
+
CanvasJS StockChart - v1.7.32 GA - https://canvasjs.com/
|
|
3
3
|
Copyright 2023 fenopix
|
|
4
4
|
|
|
5
5
|
--------------------- License Information --------------------
|
|
@@ -145,10 +145,10 @@ this.canvas.style.WebkitUserSelect="none",this.canvas.style.MozUserSelect="none"
|
|
|
145
145
|
right:"1px",top:"1px"}),this._canvasJSContainer.appendChild(this._toolBar),this.bounds={x1:0,y1:0,x2:this.width,y2:this.height},y(this.overlaidCanvas,"click",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),y(this.overlaidCanvas,"mousemove",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),y(this.overlaidCanvas,"mouseup",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),y(this.overlaidCanvas,"mousedown",function(a){b._mouseEventHandler(a);za(b._dropdownMenu)},
|
|
146
146
|
this.allDOMEventHandlers),y(this.overlaidCanvas,"mouseout",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),y(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",function(a){b._touchEventHandler(a)},this.allDOMEventHandlers),y(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerMove":"touchmove",function(a){b._touchEventHandler(a)},this.allDOMEventHandlers),y(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerUp":"touchend",function(a){b._touchEventHandler(a)},
|
|
147
147
|
this.allDOMEventHandlers),y(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerCancel":"touchcancel",function(a){b._touchEventHandler(a)},this.allDOMEventHandlers),this.toolTip=new pa(this,this.options.toolTip),this.data=null,this.axisX=[],this.axisX2=[],this.axisY=[],this.axisY2=[],this.sessionVariables={axisX:[],axisX2:[],axisY:[],axisY2:[]})):window.console&&window.console.log('CanvasJS Error: Chart Container with id "'+this._containerId+'" was not found')}function F(a,f){for(var c=
|
|
148
|
-
[],b,g=0;g<a.length;g++)if(0==g)c.push(a[0]);else{var h,B,e;e=g-1;h=0===e?0:e-1;B=e===a.length-1?e:e+1;b=Math.abs((a[B].x-a[h].x)/(0===a[B].x-a[e].x?0.01:a[B].x-a[e].x))*(f-1)/2+1;var d=(a[B].x-a[h].x)/b;b=(a[B].y-a[h].y)/b;c[c.length]=a[e].x>a[h].x&&0<d||a[e].x<a[h].x&&0>d?{x:a[e].x+d/3,y:a[e].y+b/3}:{x:a[e].x,y:a[e].y+b/9};e=g;h=0===e?0:e-1;B=e===a.length-1?e:e+1;b=Math.abs((a[B].x-a[h].x)/(0===a[e].x-a[h].x?0.01:a[e].x-a[h].x))*(f-1)/2+1;d=(a[B].x-a[h].x)/b;b=(a[B].y-a[h].y)/b;
|
|
149
|
-
a[h].x&&0<d||a[e].x<a[h].x&&0>d?{x:a[e].x-d/3,y:a[e].y-b/3}:{x:a[e].x,y:a[e].y-b/9};c[c.length]=a[g]}return c}function R(a,f,c,b,g,h,B,e,d,m){var n=0;m?(B.color=h,e.color=h):m=1;n=d?Math.abs(g-c):Math.abs(b-f);n=0<B.trimLength?Math.abs(n*B.trimLength/100):Math.abs(n-B.length);d?(c+=n/2,g-=n/2):(f+=n/2,b-=n/2);var n=1===Math.round(B.thickness)%2?0.5:0,p=1===Math.round(e.thickness)%2?0.5:0;a.save();a.globalAlpha=m;a.strokeStyle=e.color||h;a.lineWidth=e.thickness||2;a.setLineDash&&
|
|
150
|
-
e.thickness));a.beginPath();d&&0<e.thickness?(a.moveTo(b-B.thickness/2,Math.round((c+g)/2)-p),a.lineTo(f+B.thickness/2,Math.round((c+g)/2)-p)):0<e.thickness&&(a.moveTo(Math.round((f+b)/2)-p,c+B.thickness/2),a.lineTo(Math.round((f+b)/2)-p,g-B.thickness/2));a.stroke();a.strokeStyle=B.color||h;a.lineWidth=B.thickness||2;a.setLineDash&&a.setLineDash(S(B.dashType,B.thickness));a.beginPath();d&&0<B.thickness?(a.moveTo(b-n,c),a.lineTo(b-n,g),a.moveTo(f+n,c),a.lineTo(f+n,g)):0<
|
|
151
|
-
n),a.lineTo(b,c+n),a.moveTo(f,g-n),a.lineTo(b,g-n));a.stroke();a.restore()}function J(a,f){J.base.constructor.call(this,"Legend","legend",f,null,a);this.chart=a;this.canvas=a.canvas;this.ctx=this.chart.ctx;this.ghostCtx=this.chart._eventManager.ghostCtx;this.items=[];this.optionsName="legend";this.height=this.width=0;this.orientation=null;this.dataSeries=[];this.bounds={x1:null,y1:null,x2:null,y2:null};"undefined"===typeof this.options.fontSize&&(this.fontSize=this.chart.getAutoFontSize(this.fontSize));
|
|
148
|
+
[],b,g=0;g<a.length;g++)if(0==g)c.push(a[0]);else{var h,B,e;e=g-1;h=0===e?0:e-1;B=e===a.length-1?e:e+1;b=Math.abs((a[B].x-a[h].x)/(0===a[B].x-a[e].x?0.01:a[B].x-a[e].x))*(f-1)/2+1;var d=(a[B].x-a[h].x)/b;b=(a[B].y-a[h].y)/b;c[c.length]=a[e].x>a[h].x&&0<d||a[e].x<a[h].x&&0>d?{x:a[e].x+d/3,y:a[e].y+b/3}:{x:a[e].x,y:a[e].y+(1===c.length?0:b/9)};e=g;h=0===e?0:e-1;B=e===a.length-1?e:e+1;b=Math.abs((a[B].x-a[h].x)/(0===a[e].x-a[h].x?0.01:a[e].x-a[h].x))*(f-1)/2+1;d=(a[B].x-a[h].x)/b;b=(a[B].y-a[h].y)/b;
|
|
149
|
+
c[c.length]=a[e].x>a[h].x&&0<d||a[e].x<a[h].x&&0>d?{x:a[e].x-d/3,y:a[e].y-b/3}:{x:a[e].x,y:a[e].y-b/9};c[c.length]=a[g]}return c}function R(a,f,c,b,g,h,B,e,d,m){var n=0;m?(B.color=h,e.color=h):m=1;n=d?Math.abs(g-c):Math.abs(b-f);n=0<B.trimLength?Math.abs(n*B.trimLength/100):Math.abs(n-B.length);d?(c+=n/2,g-=n/2):(f+=n/2,b-=n/2);var n=1===Math.round(B.thickness)%2?0.5:0,p=1===Math.round(e.thickness)%2?0.5:0;a.save();a.globalAlpha=m;a.strokeStyle=e.color||h;a.lineWidth=e.thickness||2;a.setLineDash&&
|
|
150
|
+
a.setLineDash(S(e.dashType,e.thickness));a.beginPath();d&&0<e.thickness?(a.moveTo(b-B.thickness/2,Math.round((c+g)/2)-p),a.lineTo(f+B.thickness/2,Math.round((c+g)/2)-p)):0<e.thickness&&(a.moveTo(Math.round((f+b)/2)-p,c+B.thickness/2),a.lineTo(Math.round((f+b)/2)-p,g-B.thickness/2));a.stroke();a.strokeStyle=B.color||h;a.lineWidth=B.thickness||2;a.setLineDash&&a.setLineDash(S(B.dashType,B.thickness));a.beginPath();d&&0<B.thickness?(a.moveTo(b-n,c),a.lineTo(b-n,g),a.moveTo(f+n,c),a.lineTo(f+n,g)):0<
|
|
151
|
+
B.thickness&&(a.moveTo(f,c+n),a.lineTo(b,c+n),a.moveTo(f,g-n),a.lineTo(b,g-n));a.stroke();a.restore()}function J(a,f){J.base.constructor.call(this,"Legend","legend",f,null,a);this.chart=a;this.canvas=a.canvas;this.ctx=this.chart.ctx;this.ghostCtx=this.chart._eventManager.ghostCtx;this.items=[];this.optionsName="legend";this.height=this.width=0;this.orientation=null;this.dataSeries=[];this.bounds={x1:null,y1:null,x2:null,y2:null};"undefined"===typeof this.options.fontSize&&(this.fontSize=this.chart.getAutoFontSize(this.fontSize));
|
|
152
152
|
this.lineHeight=eb(this.fontFamily,this.fontSize,this.fontWeight);this.horizontalSpacing=this.fontSize}function O(a,f,c,b){O.base.constructor.call(this,"DataSeries","data",f,c,a);this.chart=a;this.canvas=a.canvas;this._ctx=a.canvas.ctx;this.index=c;this.noDataPointsInPlotArea=0;this.id=b;this.chart._eventManager.objectMap[b]={id:b,objectType:"dataSeries",dataSeriesIndex:c};a=f.dataPoints?f.dataPoints.length:0;this.dataPointEOs=[];for(f=0;f<a;f++)this.dataPointEOs[f]={};this.dataPointIds=[];this.plotUnit=
|
|
153
153
|
[];this.axisY=this.axisX=null;this.optionsName="data";this.isOptionsInArray=!0;null===this.fillOpacity&&(this.type.match(/area/i)?this.fillOpacity=0.7:this.fillOpacity=1);this.axisPlacement=this.getDefaultAxisPlacement();"undefined"===typeof this.options.indexLabelFontSize&&(this.indexLabelFontSize=this.chart.getAutoFontSize(this.indexLabelFontSize))}function z(a,f,c,b,g,h){z.base.constructor.call(this,"Axis",f,c,b,a);this.chart=a;this.canvas=a.canvas;this.ctx=a.ctx;this.intervalStartPosition=this.maxHeight=
|
|
154
154
|
this.maxWidth=0;this.labels=[];this.dataSeries=[];this._stripLineLabels=this._ticks=this._labels=null;this.dataInfo={min:Infinity,max:-Infinity,viewPortMin:Infinity,viewPortMax:-Infinity,minDiff:Infinity};this.isOptionsInArray=!0;"axisX"===g?("left"===h||"bottom"===h?(this.optionsName="axisX",e(this.chart.sessionVariables.axisX[b])&&(this.chart.sessionVariables.axisX[b]={}),this.sessionVariables=this.chart.sessionVariables.axisX[b]):(this.optionsName="axisX2",e(this.chart.sessionVariables.axisX2[b])&&
|
|
@@ -517,20 +517,20 @@ a.exploded?!1:!0,1<this.dataPoints.length&&x._animator.animate(0,500,function(a)
|
|
|
517
517
|
0===c?k[c].startAngle:g,g=f+(k[c].endAngle-k[c].startAngle),h=!1;g>b&&(g=b,h=!0);var e=n[c].color?n[c].color:m._colorSet[c%m._colorSet.length];g>f&&d(x.plotArea.ctx,k[c].center,k[c].radius,e,m.type,f,g,m.fillOpacity,k[c].percentInnerRadius);if(h)break}v();x.dispatchEvent("dataAnimationIterationEnd",{chart:x});1<=a&&x.dispatchEvent("dataAnimationEnd",{chart:x})},function(){x.disableToolTip=!1;x._animator.animate(0,x.animatedRender?500:0,function(a){c(a);v();x.dispatchEvent("dataAnimationIterationEnd",
|
|
518
518
|
{chart:x})});x.dispatchEvent("dataAnimationEnd",{chart:x})})}}};var v=function(a,f,c,b){"undefined"===typeof c&&(c=1);0>=Math.round(f.y4-f.y1)||(a.save(),a.globalAlpha=c,a.beginPath(),a.moveTo(Math.round(f.x1),Math.round(f.y1)),a.lineTo(Math.round(f.x2),Math.round(f.y2)),a.lineTo(Math.round(f.x3),Math.round(f.y3)),a.lineTo(Math.round(f.x4),Math.round(f.y4)),"undefined"!==f.x5&&(a.lineTo(Math.round(f.x5),Math.round(f.y5)),a.lineTo(Math.round(f.x6),Math.round(f.y6))),a.closePath(),a.fillStyle=b?b:f.color,
|
|
519
519
|
a.fill(),a.globalAplha=1,a.restore())};t.prototype.renderFunnel=function(a){function f(){for(var a=0,b=[],c=0;c<A.length;c++){if("undefined"===typeof A[c].y)return-1;A[c].y="number"===typeof A[c].y?A[c].y:0;a+=Math.abs(A[c].y)}if(0===a)return-1;for(c=b[0]=0;c<A.length;c++)b.push(Math.abs(A[c].y)*F/a);return b}function c(){var a=$,b=aa,c=U,f=ba,g,h;g=O;h=M-P;f=Math.abs((h-g)*(b-a+(f-c))/2);c=ba-U;g=h-g;h=c*(h-M);h=Math.abs(h);h=f+h;for(var f=[],k=0,e=0;e<A.length;e++){if("undefined"===typeof A[e].y)return-1;
|
|
520
|
-
A[e].y="number"===typeof A[e].y?A[e].y:0;k+=Math.abs(A[e].y)}if(0===k)return-1;for(var d=f[0]=0,m=0,n,
|
|
521
|
-
|
|
520
|
+
A[e].y="number"===typeof A[e].y?A[e].y:0;k+=Math.abs(A[e].y)}if(0===k)return-1;for(var d=f[0]=0,m=0,p,n,b=b-a,d=!1,e=0;e<A.length;e++)a=Math.abs(A[e].y)*h/k,d?p=0==Number(c.toFixed(3))?0:a/c:(n=ia*ia*b*b-4*Math.abs(ia)*a,0>n?(n=c,d=(b+n)*(g-m)/2,a-=d,p=g-m,m+=g-m,p+=0==n?0:a/n,m+=a/n,d=!0):(p=(Math.abs(ia)*b-Math.sqrt(n))/2,n=b-2*p/Math.abs(ia),m+=p,m>g&&(m-=p,n=c,d=(b+n)*(g-m)/2,a-=d,p=g-m,m+=g-m,p+=a/n,m+=a/n,d=!0),b=n)),f.push(p);return f}function b(){if(w&&A){for(var a,b,c,f,g,h,d,m,p,n,q,l,r,
|
|
521
|
+
B,v,x=[],s=[],t={percent:null,total:null},K=null,z=0;z<A.length;z++)v=V[z],v="undefined"!==typeof v.x5?(v.y2+v.y4)/2:(v.y2+v.y3)/2,v=k(v).x2+1,x[z]=R-v-W;v=0.5*W;for(var z=0,C=A.length-1;z<A.length||0<=C;z++,C--){b=w.reversed?A[C]:A[z];a=b.color?b.color:w.reversed?w._colorSet[(A.length-1-z)%w._colorSet.length]:w._colorSet[z%w._colorSet.length];c=b.indexLabelPlacement||w.indexLabelPlacement||"outside";B=b.indexLabelTextAlign||w.indexLabelTextAlign||"left";f=b.indexLabelBackgroundColor||w.indexLabelBackgroundColor||
|
|
522
522
|
(u?"transparent":null);g=b.indexLabelFontColor||w.indexLabelFontColor||"#979797";h=e(b.indexLabelFontSize)?w.indexLabelFontSize:b.indexLabelFontSize;d=b.indexLabelFontStyle||w.indexLabelFontStyle||"normal";m=b.indexLabelFontFamily||w.indexLabelFontFamily||"arial";p=b.indexLabelFontWeight||w.indexLabelFontWeight||"normal";a=b.indexLabelLineColor||w.options.indexLabelLineColor||a;n="number"===typeof b.indexLabelLineThickness?b.indexLabelLineThickness:"number"===typeof w.indexLabelLineThickness?w.indexLabelLineThickness:
|
|
523
|
-
2;q=b.indexLabelLineDashType||w.indexLabelLineDashType||"solid";l="undefined"!==typeof b.indexLabelWrap?b.indexLabelWrap:"undefined"!==typeof w.indexLabelWrap?w.indexLabelWrap:!0;
|
|
524
|
-
V[z].x2-V[z].x1,x[z]/=2));
|
|
525
|
-
w.indexLabelFormatter(K):w.indexLabel?y.replaceKeywordsWithValue(w.indexLabel,b,w,z):b.label?b.label:"";0>=n&&(n=0);1E3>
|
|
523
|
+
2;q=b.indexLabelLineDashType||w.indexLabelLineDashType||"solid";l="undefined"!==typeof b.indexLabelWrap?b.indexLabelWrap:"undefined"!==typeof w.indexLabelWrap?w.indexLabelWrap:!0;r=w.dataPointIds[z];y._eventManager.objectMap[r]={id:r,objectType:"dataPoint",dataPointIndex:z,dataSeriesIndex:0,funnelSection:V[w.reversed?A.length-1-z:z]};"inside"===w.indexLabelPlacement&&(x[z]=z!==ea?w.reversed?V[z].x2-V[z].x1:V[z].x3-V[z].x4:V[z].x3-V[z].x6,20>x[z]&&(x[z]=z!==ea?w.reversed?V[z].x3-V[z].x4:V[z].x2-V[z].x1:
|
|
524
|
+
V[z].x2-V[z].x1,x[z]/=2));r=b.indexLabelMaxWidth?b.indexLabelMaxWidth:w.options.indexLabelMaxWidth?w.indexLabelMaxWidth:x[z];if(r>x[z]||0>r)r=x[z];s[z]="inside"===w.indexLabelPlacement?l?Math.max(V[z].height,h):1.5*h:!1;t=y.getPercentAndTotal(w,b);if(w.indexLabelFormatter||b.indexLabelFormatter)K={chart:y.options,dataSeries:w,dataPoint:b,total:t.total,percent:t.percent};b=b.indexLabelFormatter?b.indexLabelFormatter(K):b.indexLabel?y.replaceKeywordsWithValue(b.indexLabel,b,w,z):w.indexLabelFormatter?
|
|
525
|
+
w.indexLabelFormatter(K):w.indexLabel?y.replaceKeywordsWithValue(w.indexLabel,b,w,z):b.label?b.label:"";0>=n&&(n=0);1E3>r&&1E3-r<v&&(r+=1E3-r);N.roundRect||Ha(N);c=new na(N,{fontSize:h,fontFamily:m,fontColor:g,fontStyle:d,fontWeight:p,horizontalAlign:c,textAlign:B,backgroundColor:f,maxWidth:r,maxHeight:!1===s[z]?l?4.28571429*h:1.5*h:s[z],text:b,padding:ka});c.measureText();H.push({textBlock:c,id:w.reversed?C:z,isDirty:!1,lineColor:a,lineThickness:n,lineDashType:q,height:c.height<c.maxHeight?c.height:
|
|
526
526
|
c.maxHeight,width:c.width<c.maxWidth?c.width:c.maxWidth})}}}function g(){var a,b,c,f,g,h=[];g=!1;c=0;for(var k,e=R-aa-W/2,e=w.options.indexLabelMaxWidth?w.indexLabelMaxWidth>e?e:w.indexLabelMaxWidth:e,d=H.length-1;0<=d;d--){k=A[H[d].id];c=H[d];f=c.textBlock;b=(a=q(d)<V.length?H[q(d)]:null)?a.textBlock:null;c=c.height;a&&f.y+c+ka>b.y&&(g=!0);c=k.indexLabelMaxWidth||e;if(c>e||0>c)c=e;h.push(c)}if(g)for(d=H.length-1;0<=d;d--)a=V[d],H[d].textBlock.maxWidth=h[h.length-(d+1)],H[d].textBlock.measureText(),
|
|
527
527
|
H[d].textBlock.x=R-e,c=H[d].textBlock.height<H[d].textBlock.maxHeight?H[d].textBlock.height:H[d].textBlock.maxHeight,g=H[d].textBlock.width<H[d].textBlock.maxWidth?H[d].textBlock.width:H[d].textBlock.maxWidth,H[d].height=c,H[d].width=g,c="undefined"!==typeof a.x5?(a.y2+a.y4)/2:(a.y2+a.y3)/2,H[d].textBlock.y=c-H[d].height/2,w.reversed?(H[d].textBlock.y+H[d].height>T+C&&(H[d].textBlock.y=T+C-H[d].height),H[d].textBlock.y<ca-C&&(H[d].textBlock.y=ca-C)):(H[d].textBlock.y<T-C&&(H[d].textBlock.y=T-C),H[d].textBlock.y+
|
|
528
528
|
H[d].height>ca+C&&(H[d].textBlock.y=ca+C-H[d].height))}function h(){var a,b,c,f;if("inside"!==w.indexLabelPlacement)for(var g=0;g<V.length;g++)0==H[g].textBlock.text.length?H[g].isDirty=!0:(a=V[g],c="undefined"!==typeof a.x5?(a.y2+a.y4)/2:(a.y2+a.y3)/2,b=w.reversed?"undefined"!==typeof a.x5?c>fa?k(c).x2+1:(a.x2+a.x3)/2+1:(a.x2+a.x3)/2+1:"undefined"!==typeof a.x5?c<fa?k(c).x2+1:(a.x4+a.x3)/2+1:(a.x2+a.x3)/2+1,H[g].textBlock.x=b+W,H[g].textBlock.y=c-H[g].height/2,w.reversed?(H[g].textBlock.y+H[g].height>
|
|
529
529
|
T+C&&(H[g].textBlock.y=T+C-H[g].height),H[g].textBlock.y<ca-C&&(H[g].textBlock.y=ca-C)):(H[g].textBlock.y<T-C&&(H[g].textBlock.y=T-C),H[g].textBlock.y+H[g].height>ca+C&&(H[g].textBlock.y=ca+C-H[g].height)));else for(g=0;g<V.length;g++)0==H[g].textBlock.text.length?H[g].isDirty=!0:(a=V[g],b=a.height,c=H[g].height,f=H[g].width,b>=c?(b=g!=ea?(a.x4+a.x3)/2-f/2:(a.x5+a.x4)/2-f/2,c=g!=ea?(a.y1+a.y3)/2-c/2:(a.y1+a.y4)/2-c/2,H[g].textBlock.x=b,H[g].textBlock.y=c):H[g].isDirty=!0)}function d(){function a(b,
|
|
530
530
|
c){var f;if(0>b||b>=H.length)return 0;var g,h=H[b].textBlock;if(0>c){c*=-1;g=p(b);f=l(g,b);if(f>=c)return h.y-=c,c;if(0==b)return 0<f&&(h.y-=f),f;f+=a(g,-(c-f));0<f&&(h.y-=f);return f}g=q(b);f=l(b,g);if(f>=c)return h.y+=c,c;if(b==V.length-1)return 0<f&&(h.y+=f),f;f+=a(g,c-f);0<f&&(h.y+=f);return f}function b(){var a,f,g,h,k=0,d;h=(M-O+2*C)/n;d=n;for(var e,m=1;m<d;m++){g=m*h;for(var l=H.length-1;0<=l;l--)!H[l].isDirty&&(H[l].textBlock.y<g&&H[l].textBlock.y+H[l].height>g)&&(e=q(l),!(e>=H.length-1)&&
|
|
531
531
|
H[l].textBlock.y+H[l].height+ka>H[e].textBlock.y&&(H[l].textBlock.y=H[l].textBlock.y+H[l].height-g>g-H[l].textBlock.y?g+1:g-H[l].height-1))}for(e=V.length-1;0<e;e--)if(!H[e].isDirty){g=p(e);if(0>g&&(g=0,H[g].isDirty))break;if(H[e].textBlock.y<H[g].textBlock.y+H[g].height){f=f||e;h=e;for(d=0;H[h].textBlock.y<H[g].textBlock.y+H[g].height+ka;){a=a||H[h].textBlock.y+H[h].height;d+=H[h].height;d+=ka;h=g;if(0>=h){h=0;d+=H[h].height;break}g=p(h);if(0>g){h=0;d+=H[h].height;break}}if(h!=e){k=H[h].textBlock.y;
|
|
532
|
-
a-=k;a=d-a;k=c(a,f,h);break}}}return k}function c(a,b,f){var g=[],h=0,k=0;for(a=Math.abs(a);f<=b;f++)g.push(V[f]);g.sort(function(a,b){return a.height-b.height});for(f=0;f<g.length;f++)if(b=g[f],h<a)k++,h+=H[b.id].height+ka,H[b.id].textBlock.text="",H[b.id].indexLabelText="",H[b.id].isDirty=!0,H[b.id].textBlock.measureText();else break;return k}for(var f,g,h,k,e,m,n=1,
|
|
533
|
-
+h.height.toFixed(6),g=+k.y.toFixed(6),!h.isDirty&&(e&&g+f+ka>+m.y.toFixed(6))&&(f=k.y+f+ka-m.y,g=a(
|
|
532
|
+
a-=k;a=d-a;k=c(a,f,h);break}}}return k}function c(a,b,f){var g=[],h=0,k=0;for(a=Math.abs(a);f<=b;f++)g.push(V[f]);g.sort(function(a,b){return a.height-b.height});for(f=0;f<g.length;f++)if(b=g[f],h<a)k++,h+=H[b.id].height+ka,H[b.id].textBlock.text="",H[b.id].indexLabelText="",H[b.id].isDirty=!0,H[b.id].textBlock.measureText();else break;return k}for(var f,g,h,k,e,m,n=1,r=0;r<2*n;r++){for(var B=H.length-1;0<=B&&!(0<=p(B)&&p(B),h=H[B],k=h.textBlock,m=(e=q(B)<V.length?H[q(B)]:null)?e.textBlock:null,f=
|
|
533
|
+
+h.height.toFixed(6),g=+k.y.toFixed(6),!h.isDirty&&(e&&g+f+ka>+m.y.toFixed(6))&&(f=k.y+f+ka-m.y,g=a(B,-f),g<f&&(0<g&&(f-=g),g=a(q(B),f),g!=f)));B--);b()}}function l(a,b){return(b<V.length?H[b].textBlock.y:w.reversed?T+C:ca+C)-(0>a?w.reversed?ca-C:T-C:H[a].textBlock.y+H[a].height+ka)}function s(a,b,c){var f,g,k,d=[],e=C,p=[];-1!==b&&(0<=ga.indexOf(b)?(g=ga.indexOf(b),ga.splice(g,1)):(ga.push(b),ga=ga.sort(function(a,b){return a-b})));if(0===ga.length)d=oa;else{g=C*(1!=ga.length||0!=ga[0]&&ga[0]!=V.length-
|
|
534
534
|
1?2:1)/m();for(var q=0;q<V.length;q++){if(1==ga.length&&0==ga[0]){if(0===q){d.push(oa[q]);f=e;continue}}else 0===q&&(f=-1*e);d.push(oa[q]+f);if(0<=ga.indexOf(q)||q<V.length&&0<=ga.indexOf(q+1))f+=g}}k=function(){for(var a=[],b=0;b<V.length;b++)a.push(d[b]-V[b].y1);return a}();var l={startTime:(new Date).getTime(),duration:c||500,easingFunction:function(a,b,c,f){return x.easing.easeOutQuart(a,b,c,f)},changeSection:function(a){for(var b,c,f=0;f<V.length;f++)b=k[f],c=V[f],b*=a,"undefined"===typeof p[f]&&
|
|
535
535
|
(p[f]=0),0>p&&(p*=-1),c.y1+=b-p[f],c.y2+=b-p[f],c.y3+=b-p[f],c.y4+=b-p[f],c.y5&&(c.y5+=b-p[f],c.y6+=b-p[f]),p[f]=b}};a._animator.animate(0,c,function(c){var f=a.plotArea.ctx||a.ctx;pa=!0;f.clearRect(z.x1,z.y1,z.x2-z.x1,z.y2-z.y1);f.fillStyle=a.backgroundColor;f.fillRect(z.x1,z.y1,z.width,z.height);l.changeSection(c,b);var g={};g.dataSeries=w;g.dataPoint=w.reversed?w.dataPoints[A.length-1-b]:w.dataPoints[b];g.index=w.reversed?A.length-1-b:b;a.toolTip.highlightObjects([g]);for(g=0;g<V.length;g++)v(f,
|
|
536
536
|
V[g],w.fillOpacity);t(f);J&&("inside"!==w.indexLabelPlacement?n(f):h(),r(f));1<=c&&(pa=!1)},null,x.easing.easeOutQuart)}function m(){for(var a=0,b=0;b<V.length-1;b++)(0<=ga.indexOf(b)||0<=ga.indexOf(b+1))&&a++;return a}function n(a){for(var b,c,f,g,h=0;h<V.length;h++)g=1===H[h].lineThickness%2?0.5:0,c=((V[h].y2+V[h].y4)/2<<0)+g,b=k(c).x2-1,f=H[h].textBlock.x,g=(H[h].textBlock.y+H[h].height/2<<0)+g,H[h].isDirty||0==H[h].lineThickness||(a.strokeStyle=H[h].lineColor,a.lineWidth=H[h].lineThickness,a.setLineDash&&
|
|
@@ -559,238 +559,238 @@ p.markerType,k=p.legendText?p.legendText:this.itemTextFormatter?this.itemTextFor
|
|
|
559
559
|
w=p.legendMarkerBorderThickness?p.legendMarkerBorderThickness:p.markerBorderThickness?Math.max(1,Math.round(0.2*x)):0;"error"===p.type&&this.errorMarkerColor.push(r);k=this.chart.replaceKeywordsWithValue(k,p.dataPoints[0],p,n);q={markerType:q,markerColor:r,text:k,textBlock:null,chartType:p.type,markerSize:x,lineColor:p._colorSet[0],dataSeriesIndex:p.index,dataPointIndex:null,markerBorderColor:s,markerBorderThickness:w};v.push(q)}else for(var u=0;u<p.dataPoints.length;u++){var t=p.dataPoints[u],q=
|
|
560
560
|
t.legendMarkerType?t.legendMarkerType:p.legendMarkerType?p.legendMarkerType:O.getDefaultLegendMarker(p.type),k=t.legendText?t.legendText:p.legendText?p.legendText:this.itemTextFormatter?this.itemTextFormatter({chart:this.chart,legend:this.options,dataSeries:p,dataPoint:t}):t.name?t.name:"DataPoint: "+(u+1),r=t.legendMarkerColor?t.legendMarkerColor:p.legendMarkerColor?p.legendMarkerColor:t.color?t.color:p.color?p.color:p._colorSet[u%p._colorSet.length],x=0.75*this.lineHeight,s=t.legendMarkerBorderColor?
|
|
561
561
|
t.legendMarkerBorderColor:p.legendMarkerBorderColor?p.legendMarkerBorderColor:t.markerBorderColor?t.markerBorderColor:p.markerBorderColor,w=t.legendMarkerBorderThickness?t.legendMarkerBorderThickness:p.legendMarkerBorderThickness?p.legendMarkerBorderThickness:t.markerBorderThickness||p.markerBorderThickness?Math.max(1,Math.round(0.2*x)):0,k=this.chart.replaceKeywordsWithValue(k,t,p,u),q={markerType:q,markerColor:r,text:k,textBlock:null,chartType:p.type,markerSize:x,dataSeriesIndex:n,dataPointIndex:u,
|
|
562
|
-
markerBorderColor:s,markerBorderThickness:w};(t.showInLegend||p.showInLegend&&!1!==t.showInLegend)&&v.push(q)}}!0===this.reversed&&v.reverse();if(0<v.length){p=null;
|
|
563
|
-
|
|
564
|
-
null!==this.itemWidth&&(q.textBlock.width=this.itemWidth-(x+l+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0)));if(!p||p.width+Math.round(q.textBlock.width+x+l+(0===p.width?0:this.horizontalSpacing)+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0))>h)p={items:[],width:0},m.push(p),this.height+=k,k=0;k=Math.max(k,q.textBlock.height?q.textBlock.height:this.lineHeight)
|
|
565
|
-
y:0,maxWidth:t,maxHeight:!0===this.itemWrap?d:1.5*this.fontSize,angle:0,text:q.text,horizontalAlign:"left",fontSize:this.fontSize,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontColor:this.fontColor,fontStyle:this.fontStyle,
|
|
566
|
-
(p=m[u],u=(u+1)%m.length),this.height+=q.textBlock.height?q.textBlock.height:this.lineHeight
|
|
567
|
-
|
|
568
|
-
this.horizontalAlign?f.x1:"right"===this.horizontalAlign?f.x2-this.width:f.x1+f.width/2-this.width/2,b=f.y2-this.height);this.items=v;for(n=0;n<this.items.length;n++)q=v[n],q.id=++this.chart._eventManager.lastObjectId,this.chart._eventManager.objectMap[q.id]={id:q.id,objectType:"legendItem",legendItemIndex:n,dataSeriesIndex:q.dataSeriesIndex,dataPointIndex:q.dataPointIndex};this.markerSize=
|
|
569
|
-
{x1:g,y1:b,x2:g+this.width,y2:b+this.height}};J.prototype.render=function(){var a=this.bounds.x1,f=this.bounds.y1,c=this.markerMargin,b=this.maxWidth,g=this.maxHeight,h=this.markerSize,d=this.rows;(0<this.borderThickness&&this.borderColor||this.backgroundColor)&&this.ctx.roundRect(a,f,this.width,this.height,this.cornerRadius,this.borderThickness,this.backgroundColor,this.borderColor);
|
|
570
|
-
p?0.2*h:this.horizontalSpacing),r=f+e,v=k;this.chart.data[q.dataSeriesIndex].visible||(this.ctx.globalAlpha=0.5);this.ctx.save();this.ctx.beginPath();this.ctx.rect(a,f,b,Math.max(g-g%this.lineHeight,0));this.ctx.clip();if("line"===q.chartType||"stepLine"===q.chartType||"spline"===q.chartType)this.ctx.strokeStyle=q.lineColor,this.ctx.lineWidth=Math.ceil(this.lineHeight/8),this.ctx.beginPath(),
|
|
571
|
-
2),this.ctx.stroke(),v-=0.1*this.lineHeight;if("error"===q.chartType){this.ctx.strokeStyle=this.errorMarkerColor[0];this.ctx.lineWidth=h/8;this.ctx.beginPath();var x=k-0.08*this.lineHeight+0.1*this.lineHeight,w=r+0.15*this.lineHeight,u=0.7*this.lineHeight,t=u+0.02*this.lineHeight;this.ctx.moveTo(x,w);this.ctx.lineTo(x+u,w);this.ctx.stroke();this.ctx.beginPath();this.ctx.moveTo(x+u/2,
|
|
572
|
-
this.ctx.stroke();this.errorMarkerColor.shift()}s.drawMarker(k+h/2,r+this.lineHeight/2,this.ctx,q.markerType,"error"===q.chartType||"line"===q.chartType||"spline"===q.chartType?q.markerSize/2:q.markerSize,q.markerColor,q.markerBorderColor,q.markerBorderThickness);q.textBlock.x=k+c+h;if("line"===q.chartType||"stepLine"===q.chartType||"spline"===q.chartType)q.textBlock.x+=0.1*this.lineHeight;
|
|
573
|
-
q.textBlock.height:this.lineHeight):q.textBlock.height?q.textBlock.height:this.lineHeight;this.chart.data[q.dataSeriesIndex].visible||(this.ctx.globalAlpha=1);k=W(q.id);this.ghostCtx.fillStyle=k;this.ghostCtx.beginPath();this.ghostCtx.fillRect(v,q.textBlock.y-this.lineHeight/2,q.textBlock.x+q.textBlock.width-v,q.textBlock.height?q.textBlock.height:this.lineHeight);q.x1=this.chart._eventManager.objectMap[q.id].x1=
|
|
574
|
-
this.chart._eventManager.objectMap[q.id].x2=q.textBlock.x+q.textBlock.width;q.y2=this.chart._eventManager.objectMap[q.id].y2=q.textBlock.y+(q.textBlock.height?q.textBlock.height:this.lineHeight)-this.lineHeight/2}e+=n}};ia(O,aa);O.prototype.getDefaultAxisPlacement=function(){var a=this.type;if("column"===a||"line"===a||"stepLine"===a||"spline"===a||"area"===a||"stepArea"===a||"splineArea"===a||"stackedColumn"===
|
|
575
|
-
a||"stackedLine100"===a||"stackedArea100"===a||"candlestick"===a||"ohlc"===a||"rangeColumn"===a||"rangeArea"===a||"rangeSplineArea"===a||"boxAndWhisker"===a||"waterfall"===a)return"normal";if("bar"===a||"stackedBar"===a||"stackedBar100"===a||"rangeBar"===a)return"xySwapped";if("pie"===a||"doughnut"===a||"funnel"===a||"pyramid"===a)return"none";"error"!==a&&window.console.log("Unknown Chart Type: "+a);return null};
|
|
576
|
-
a||"bar"===a||"stackedBar"===a||"stackedBar100"===a||"bubble"===a||"scatter"===a||"stackedColumn100"===a||"stackedLine100"===a||"stepArea"===a||"candlestick"===a||"ohlc"===a||"rangeColumn"===a||"rangeBar"===a||"rangeArea"===a||"rangeSplineArea"===a||"boxAndWhisker"===a||"waterfall"===a)return"square";if("line"===a||"stepLine"===a||"spline"===a||"pie"===a||"doughnut"===a)return"circle";if("area"===a||"splineArea"===
|
|
577
|
-
if("error"===a)return"none";window.console.log("Unknown Chart Type: "+a);return null};O.prototype.getDataPointAtX=function(a,f){if(!this.dataPoints||0===this.dataPoints.length)return null;var c={dataPoint:null,distance:Infinity,index:NaN},b=null,g=0,h=0,d=1,e=Infinity,l=0,m=0,n=0;"none"!==this.chart.plotInfo.axisPlacement&&(this.axisX.logarithmic?(n=Math.log(this.dataPoints[this.dataPoints.length-1].x/this.dataPoints[0].x),
|
|
578
|
-
0,0),this.dataPoints.length):0):(n=this.dataPoints[this.dataPoints.length-1].x-this.dataPoints[0].x,n=0<n?Math.min(Math.max((this.dataPoints.length-1)/n*(a-this.dataPoints[0].x)>>0,0),this.dataPoints.length):0));for(;;){h=0<d?n+g:n-g;if(0<=h&&h<this.dataPoints.length){var b=this.dataPoints[h],p=this.axisX.logarithmic?b.x>a?b.x/a:a/b.x:Math.abs(b.x-a);p<c.distance&&(c.dataPoint=b,c.distance=p,c.index=h);b=p;b<=e?
|
|
579
|
-
-1===d?(g++,d=1):d=-1}return f||(c.dataPoint.x.getTime?c.dataPoint.x.getTime():c.dataPoint.x)!==(a.getTime?a.getTime():a)?f&&null!==c.dataPoint?c:null:c};O.prototype.getDataPointAtXY=function(a,f,c){if(!this.dataPoints||0===this.dataPoints.length||a<this.chart.plotArea.x1||a>this.chart.plotArea.x2||f<this.chart.plotArea.y1||f>this.chart.plotArea.y2)return null;c=c||!1;var b=[],g=0,h=0,d=1,l=!1,v=Infinity,m=0,n=
|
|
580
|
-
this.chart.axisX2[0]).getXValueAt({x:a,y:f}),this.axisX.logarithmic)var q=Math.log(this.dataPoints[this.dataPoints.length-1].x/this.dataPoints[0].x),p=1<q?Math.min(Math.max((this.dataPoints.length-1)/q*Math.log(p/this.dataPoints[0].x)>>0,0),this.dataPoints.length):0;else q=this.dataPoints[this.dataPoints.length-1].x-this.dataPoints[0].x,p=0<q?Math.min(Math.max((this.dataPoints.length-1)/q*(p-this.dataPoints[0].x)>>
|
|
581
|
-
this.chart._eventManager.objectMap[this.dataPointIds[h]],k=this.dataPoints[h],r=null;if(q){switch(this.type){case "column":case "stackedColumn":case "stackedColumn100":case "bar":case "stackedBar":case "stackedBar100":case "rangeColumn":case "rangeBar":case "waterfall":case "error":a>=q.x1&&(a<=q.x2&&f>=q.y1&&f<=q.y2)&&(b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:Math.min(Math.abs(q.x1-
|
|
582
|
-
qa("markerSize",k,this)||4,s=c?20:x,r=Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y1-f,2));r<=s&&b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:r});q=Math.abs(q.x1-a);q<=v?v=q:0<d?m++:n++;r<=x/2&&(l=!0);break;case "rangeArea":case "rangeSplineArea":x=qa("markerSize",k,this)||
|
|
583
|
-
v?v=q:0<d?m++:n++;r<=x/2&&(l=!0);break;case "bubble":x=q.size;r=Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y1-f,2));r<=x/2&&(b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:r}),l=!0);break;case "pie":case "doughnut":x=q.center;s="doughnut"===this.type?q.percentInnerRadius*q.radius:
|
|
584
|
-
360)%360).toFixed(12)),s=Number(((180*(q.endAngle/Math.PI)%360+360)%360).toFixed(12)),0===s&&1<q.endAngle&&(s=360),x>=s&&(0!==k.y&&!e(k.y))&&(s+=360,r<x&&(r+=360)),r>x&&r<s&&(b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:0}),l=!0));break;case "funnel":case "pyramid":r=q.funnelSection;
|
|
585
|
-
(r.x4-r.x1)/(r.y4-r.y1)*(f-r.y1),r=r.x2+(r.x3-r.x2)/(r.y3-r.y2)*(f-r.y2)),a>h&&a<r&&(b.push({dataPoint:k,dataPointIndex:q.dataPointIndex,dataSeries:this,distance:0}),l=!0));break;case "boxAndWhisker":if(a>=q.x1-q.borderThickness/2&&a<=q.x2+q.borderThickness/2&&f>=q.y4-q.borderThickness/2&&f<=q.y1+q.borderThickness/
|
|
586
|
-
|
|
587
|
-
2&&f<=q.y1+q.borderThickness/2||a>=(q.x1+q.x2)/2&&a<=q.x2&&f>=q.y4-q.borderThickness/2&&f<=q.y4+q.borderThickness/2)b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:Math.min(Math.abs(q.x1-a),Math.abs(q.x2-a),Math.abs(q.y2-f),Math.abs(q.y3-f))}),l=!0}if(l||1E3<m&&1E3<n)break}}else if(0>p-g&&p+g>=
|
|
588
|
-
this.dataPoints,h=g[a].markerColor?g[a].markerColor:this.markerColor?this.markerColor:g[a].color?g[a].color:this.color?this.color:this._colorSet[a%this._colorSet.length],d=g[a].markerBorderColor?g[a].markerBorderColor:this.markerBorderColor?this.markerBorderColor:null,l=e(g[a].markerBorderThickness)?this.markerBorderThickness?
|
|
589
|
-
y:c,ctx:b,type:v,size:a,color:h,borderColor:d,borderThickness:l}};ia(z,aa);z.prototype.createExtraLabelsForLog=function(a){a=(a||0)+1;if(!(5<a)){var f=this.logLabelValues[0]||this.intervalStartPosition;if(Math.log(this.range)/Math.log(f/this.viewportMinimum)<this.noTicks-1){for(var c=z.getNiceNumber((f-this.viewportMinimum)/Math.min(Math.max(2,
|
|
590
|
-
this.createExtraLabelsForLog(a)}}};z.prototype.createLabels=function(){var a,f,c=0,b=0,g,h=0,d=0,b=0,b=this.interval,l=0,v,m=0.6*this.chart.height,n;a=!1;var p=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],q=p.length?e(this.scaleBreaks.firstBreakIndex)?0:this.scaleBreaks.firstBreakIndex:0;if("axisX"!==this.type||"dateTime"!==
|
|
591
|
-
a)if(this.labels[c])k=!0;else{k=!1;break}k&&(this.interval=a,this.intervalStartPosition=b)}if(this.logarithmic&&!this.equidistantInterval)for(this.logLabelValues||(this.logLabelValues=[],this.createExtraLabelsForLog()),b=0,k=q;b<this.logLabelValues.length;b++)if(c=this.logLabelValues[b],c<this.viewportMinimum)b++;else{for(;k<p.length&&
|
|
592
|
-
label:this.labels[n]?this.labels[n]:null}):"axisX"===this.type&&this.labels[n]?this.labels[n]:ca(n,this.valueFormatString,this.chart._cultureInfo),a=new na(this.ctx,{x:0,y:0,maxWidth:h,maxHeight:d,angle:this.labelAngle,text:this.prefix+a+this.suffix,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,cornerRadius:this.labelCornerRadius,
|
|
593
|
-
fontStyle:this.labelFontStyle,textBaseline:"middle",borderThickness:0}),this._labels.push({position:n,textBlock:a,effectiveHeight:null}))}k=q;for(c=this.intervalStartPosition;c<=g;c=parseFloat(1E-12>this.interval?this.logarithmic&&this.equidistantInterval?c*Math.pow(this.logarithmBase,this.interval):c+this.interval:(this.logarithmic&&this.equidistantInterval?
|
|
594
|
-
c<=p[k].endValue;n=c;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:n,label:this.labels[n]?this.labels[n]:null}):"axisX"===this.type&&this.labels[n]?this.labels[n]:ca(n,this.valueFormatString,this.chart._cultureInfo),a=new na(this.ctx,{x:0,y:0,maxWidth:h,maxHeight:d,angle:this.labelAngle,text:this.prefix+a+this.suffix,
|
|
595
|
-
cornerRadius:this.labelCornerRadius,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle"}),this._labels.push({position:n,textBlock:a,effectiveHeight:null}))}}else for(this.intervalStartPosition=this.getLabelStartPoint(new Date(this.viewportMinimum),
|
|
596
|
-
g;cb(c,b,this.intervalType)){for(a=c.getTime();k<p.length&&a>p[k].endValue;k++);n=a;a=k<p.length&&a>=p[k].startValue&&a<=p[k].endValue;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:new Date(n),label:this.labels[n]?this.labels[n]:null}):"axisX"===this.type&&this.labels[n]?this.labels[n]:ga(n,this.valueFormatString,this.chart._cultureInfo),
|
|
597
|
-
cornerRadius:this.labelCornerRadius,maxHeight:d,angle:this.labelAngle,text:this.prefix+a+this.suffix,textAlign:this.labelTextAlign,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle"}),this._labels.push({position:n,textBlock:a,
|
|
598
|
-
this.lineCoordinates.width*Math.log(Math.min(this._labels[this._labels.length-1].position/this._labels[this._labels.length-2].position,this._labels[1].position/this._labels[0].position))/Math.log(this.range):this.lineCoordinates.width/(this.logarithmic&&this.equidistantInterval?Math.log(this.range)/Math.log(this.logarithmBase):Math.abs(this.range))*
|
|
599
|
-
(d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.8*this.chart.height>>0:1.5*this.labelFontSize);else if("left"===this._position||"right"===this._position)l=this.logarithmic&&!this.equidistantInterval&&2<=this._labels.length?this.lineCoordinates.height*Math.log(Math.min(this._labels[this._labels.length-1].position/
|
|
600
|
-
Math.log(this.range)/Math.log(this.logarithmBase):Math.abs(this.range))*ba[this.intervalType+"Duration"]*this.interval,this.chart.panEnabled||(h="undefined"===typeof this.options.labelMaxWidth?0.3*this.chart.width>>0:this.options.labelMaxWidth),d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.3*
|
|
601
|
-
this.options.labelAutoFit)if(e(this.labelAngle)||(this.labelAngle=(this.labelAngle%360+360)%360,90<this.labelAngle&&270>this.labelAngle?this.labelAngle-=180:270<=this.labelAngle&&360>=this.labelAngle&&(this.labelAngle-=360)),"bottom"===this._position||"top"===this._position)if(h=0.9*l>>0,q=0,!this.chart.panEnabled&&
|
|
602
|
-
this.labelAngle;this.sessionVariables.labelWrap=this.labelWrap;for(c=0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=this._labels[c].textBlock;for(var x,k=a.text.split(" "),b=0;b<k.length;b++)n=k[b],this.ctx.font=a.fontStyle+" "+a.fontWeight+" "+a.fontSize+"px "+a.fontFamily,n=this.ctx.measureText(n),
|
|
603
|
-
r=a.measureText();for(k=c+1;k<this._labels.length;k++)if(!this._labels[k].breaksLabelType){f=this._labels[k].textBlock;f=f.measureText();break}g.push(a.height);this.sessionVariables.labelMaxHeight=Math.max.apply(Math,g);Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.sin(Math.PI/180*Math.abs(this.labelAngle));b=h*Math.sin(Math.PI/
|
|
604
|
-
0===this.labelAngle?d:Math.min((b-h*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),b),n=(m-(v+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(-25)))/Math.sin(Math.PI/180*Math.abs(-25)),!e(this.options.labelWrap))this.labelWrap?e(this.options.labelMaxWidth)?
|
|
605
|
-
this.
|
|
606
|
-
h?-25:this.sessionVariables.labelAngle,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelWrap=this.labelWrap);else{if(e(this.options.labelWrap))if(!e(this.options.labelMaxWidth))this.options.labelMaxWidth<h?
|
|
607
|
-
d);else if(!e(f))if(b=r.width+f.width>>0,k=this.labelFontSize,q<h)b-2*h>p&&(p=b-2*h,b>=2*h&&b<2.2*h?(this.sessionVariables.labelMaxWidth=h,e(this.options.labelFontSize)&&12<k&&(k=Math.floor(12/13*k),a.measureText()),this.sessionVariables.labelFontSize=e(this.options.labelFontSize)?
|
|
608
|
-
h&&b<3.2*h?(this.sessionVariables.labelMaxWidth=Math.max(h,q),this.sessionVariables.labelWrap=!0,e(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=e(this.options.labelFontSize)?
|
|
609
|
-
this.labelFontSize):b>3.6*h&&b<5*h?(e(this.options.labelFontSize)&&12<k&&(k=Math.floor(12/13*k),a.measureText()),this.sessionVariables.labelFontSize=e(this.options.labelFontSize)?k:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle
|
|
610
|
-
this.labelAngle));else if(x===c&&(0===x&&q+this._labels[x+1].textBlock.measureText().width-2*h>p||x===this._labels.length-1&&q+this._labels[x-1].textBlock.measureText().width-2*h>p||0<x&&x<this._labels.length-1&&q+this._labels[x+1].textBlock.measureText().width-2*h>p&&
|
|
611
|
-
k:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=n;else if(0===p)for(this.sessionVariables.labelFontSize=e(this.options.labelFontSize)?k:this.options.labelFontSize,this.sessionVariables.labelWrap
|
|
612
|
-
this.sessionVariables.labelMaxWidth=Math.min(Math.max(h,q),n),f=f.measureText(),r.width+f.width>>0>2*h&&(this.sessionVariables.labelAngle=-25))}else(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:Math.min((b-h*Math.cos(Math.PI/
|
|
613
|
-
h,this.sessionVariables.labelMaxHeight=this.labelWrap?(m-n*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)):1.5*this.labelFontSize,e(this.options.labelWrap))?e(this.options.labelWrap)&&(this.labelWrap&&!e(this.options.labelMaxWidth)?
|
|
614
|
-
this.sessionVariables.labelMaxWidth=n,this.sessionVariables.labelMaxHeight=b<0.9*l?0.9*l:b,this.sessionVariables.labelWrap=this.labelWrap)):(this.options.labelWrap?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?
|
|
615
|
-
d)}for(b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.labelMaxWidth=this.sessionVariables.labelMaxWidth,a.fontSize=this.sessionVariables.labelFontSize,a.angle=this.labelAngle=this.sessionVariables.labelAngle,a.wrap=this.labelWrap=this.sessionVariables.labelWrap,
|
|
616
|
-
this.sessionVariables.
|
|
617
|
-
a.
|
|
618
|
-
this.labelWrap?0.3*this.chart.height>>0:1.5*this.labelFontSize,!this.chart.panEnabled&&1<=this._labels.length){this.sessionVariables.labelFontSize=this.labelFontSize;this.sessionVariables.labelMaxWidth=h;this.sessionVariables.labelMaxHeight=d;this.sessionVariables.labelAngle=e(this.sessionVariables.labelAngle)?
|
|
619
|
-
for(k=c+1;k<this._labels.length;k++)if(!this._labels[k].breaksLabelType){f=this._labels[k].textBlock;f=f.measureText();break}g.push(a.height);this.sessionVariables.labelMaxHeight=Math.max.apply(Math,g);b=h*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(d-a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));
|
|
620
|
-
e(this.options.labelWrap)?e(this.options.labelWrap)&&(e(this.options.labelMaxWidth)?e(f)||(l=r.height+f.height>>0,l-2*d>q&&(q=l-2*d,l>=2*d&&l<2.4*d?(e(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelFontSize=
|
|
621
|
-
this.labelFontSize,this.sessionVariables.labelWrap=!0):l>=2.8*d&&l<3.2*d?(this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelWrap=!0,e(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=e(this.options.labelFontSize)?
|
|
622
|
-
l<3.6*d?(this.sessionVariables.labelMaxHeight=b,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelFontSize=this.labelFontSize):l>3.6*d&&l<10*d?(e(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=e(this.options.labelFontSize)?
|
|
623
|
-
e(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):l>10*d&&l<50*d&&(e(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=e(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxHeight=
|
|
624
|
-
|
|
625
|
-
this.sessionVariables.labelMaxWidth=0===this.labelAngle?h:Math.min((b-d*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)),d),e(this.options.labelWrap))?e(this.options.labelWrap)&&(this.labelWrap&&!e(this.options.labelMaxWidth)?(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:
|
|
626
|
-
this.options.labelMaxWidth?this.options.labelMaxWidth:h,this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:b,e(this.options.labelMaxWidth)&&(this.sessionVariables.labelAngle=this.labelAngle))):this.options.labelWrap?(this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:b,this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=
|
|
627
|
-
this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth,this.sessionVariables.labelWrap=this.labelWrap)}for(b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.labelMaxWidth=this.sessionVariables.labelMaxWidth,a.fontSize=this.labelFontSize=this.sessionVariables.labelFontSize,a.angle=this.labelAngle=this.sessionVariables.labelAngle,a.wrap=
|
|
628
|
-
this._labels[c].textBlock,a.maxWidth=this.labelMaxWidth=e(this.options.labelMaxWidth)?e(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=h:this.sessionVariables.labelMaxWidth:this.options.labelMaxWidth,a.fontSize=this.labelFontSize=e(this.options.labelFontSize)?e(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=
|
|
629
|
-
this.sessionVariables.labelAngle=this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=e(this.options.labelWrap)?e(this.sessionVariables.labelWrap)?this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:this.options.labelWrap,a.maxHeight=e(this.sessionVariables.labelMaxHeight)?
|
|
630
|
-
h.labelPlacement){d=this.sessionVariables.labelMaxWidth;if("bottom"===this._position||"top"===this._position)e(h.options.labelWrap)&&!e(this.sessionVariables.stripLineLabelMaxHeight)?s=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=s=h.labelWrap?0.8*this.chart.height>>0:1.5*this.labelFontSize;
|
|
631
|
-
this.sessionVariables.stripLineLabelMaxHeight=s=h.labelWrap?0.8*this.chart.width>>0:1.5*this.labelFontSize;e(h.labelBackgroundColor)&&(h.labelBackgroundColor="#EEEEEE")}else d="bottom"===this._position||"top"===this._position?0.9*this.chart.width>>0:0.9*this.chart.height>>0,s=e(h.options.labelWrap)||h.labelWrap?"bottom"===this._position||
|
|
632
|
-
u?"transparent":null:h.labelBackgroundColor="#EEEEEE");a=new na(this.ctx,{x:0,y:0,backgroundColor:h.labelBackgroundColor,borderColor:h.labelBorderColor,borderThickness:h.labelBorderThickness,cornerRadius:h.labelCornerRadius,maxWidth:h.options.labelMaxWidth?h.options.labelMaxWidth:d,maxHeight:s,angle:this.labelAngle,text:h.labelFormatter?
|
|
633
|
-
this.
|
|
634
|
-
effectiveHeight:null,stripLine:h})}};z.prototype.createLabelsAndCalculateWidth=function(){var a=0,f=0;this._labels=[];this._stripLineLabels=[];var c=this.chart.isNavigator?0:5;if("left"===this._position||"right"===this._position){this.createLabels();if("inside"!=this.labelPlacement||"inside"===this.labelPlacement&&0<this._index)for(f=
|
|
635
|
-
(g.height-b.fontSize/2)*Math.sin(Math.PI/180*Math.abs(this.labelAngle));a<h&&(this.labelEffectiveWidth=a=h);this._labels[f].effectiveWidth=h}for(f=0;f<this._stripLineLabels.length;f++)"outside"===this._stripLineLabels[f].stripLine.labelPlacement&&(this._stripLineLabels[f].stripLine.value>=this.viewportMinimum&&this._stripLineLabels[f].stripLine.value<=
|
|
636
|
-
(g.height-b.fontSize/2)*Math.sin(Math.PI/180*Math.abs(this.labelAngle)),"inside"===this.tickPlacement&&(h+=this.tickLength),"inside"===this.labelPlacement&&(a+=0<this._index?h:0),a<h&&(a=h),this.stripLineLabelEffectiveWidth=this._stripLineLabels[f].effectiveWidth=h)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===
|
|
637
|
-
[];var f,c=0,b=this.chart.isNavigator?0:5;if("bottom"===this._position||"top"===this._position){this.createLabels();if("inside"!=this.labelPlacement||"inside"===this.labelPlacement&&0<this._index)for(c=0;c<this._labels.length;c++){f=this._labels[c].textBlock;var g=f.measureText(),h=0,h=0===this.labelAngle?g.height:g.width*Math.sin(Math.PI/
|
|
638
|
-
h}for(c=0;c<this._stripLineLabels.length;c++)"outside"===this._stripLineLabels[c].stripLine.labelPlacement&&(this._stripLineLabels[c].stripLine.value>=this.viewportMinimum&&this._stripLineLabels[c].stripLine.value<=this.viewportMaximum)&&(f=this._stripLineLabels[c].textBlock,g=f.measureText(),h=0===this.labelAngle?g.height:g.width*
|
|
639
|
-
"inside"===this.labelPlacement&&(a+=0<this._index?h:0),a<h&&(a=h),this.stripLineLabelEffectiveHeight=this._stripLineLabels[c].effectiveHeight=h)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===this.tickPlacement?0<this._index?this.tickLength:0:this.tickLength)+b};z.setLayout=function(a,f,c,b,g,h){var d,
|
|
640
|
-
0;k<f.length;k++)f[k].calculateAxisParameters();if(c&&0<c.length)for(k=0;k<c.length;k++)c[k].calculateAxisParameters();if(b&&0<b.length)for(k=0;k<b.length;k++)b[k].calculateAxisParameters();for(k=0;k<q.length;k++)if(q[k]&&q[k].scaleBreaks&&q[k].scaleBreaks._appliedBreaks.length)for(var r=q[k].scaleBreaks._appliedBreaks,x=0;x<r.length
|
|
641
|
-
q[k].viewPortMinimum&&(q[k].scaleBreaks.lastBreakIndex=x));for(var s=x=0,w=0,u=0,t=0,y=0,z=0,D,E,F=l=0,I,J,R,r=I=J=R=!1,k=0;k<q.length;k++)q[k]&&q[k].title&&(q[k]._titleTextBlock=new na(q[k].ctx,{text:q[k].title,horizontalAlign:"center",fontSize:q[k].titleFontSize,fontFamily:q[k].titleFontFamily,fontWeight:q[k].titleFontWeight,
|
|
642
|
-
cornerRadius:q[k].titleCornerRadius,textBaseline:"top"}));for(k=0;k<q.length;k++)if(q[k].title)switch(q[k]._position){case "left":q[k]._titleTextBlock.maxWidth=q[k].titleMaxWidth||h.height;q[k]._titleTextBlock.maxHeight=q[k].titleWrap?0.8*h.width:1.5*q[k].titleFontSize;q[k]._titleTextBlock.angle=-90;break;case "right":q[k]._titleTextBlock.maxWidth=
|
|
643
|
-
q[k].titleMaxWidth||h.width,q[k]._titleTextBlock.maxHeight=q[k].titleWrap?0.8*h.height:1.5*q[k].titleFontSize,q[k]._titleTextBlock.angle=0}if("normal"===g){for(var u=[],t=[],y=[],z=[],N=[],O=[],M=[],P=[];4>x;){var G=0,W=0,S=0,$=0,T=g=0,U=0,ca=0,aa=0,Y=0,V=0,ba=0;if(c&&0<c.length)for(y=[],k=V=0;k<c.length;k++)y.push(Math.ceil(c[k]?
|
|
644
|
-
0<b.length)for(z=[],k=ba=0;k<b.length;k++)z.push(Math.ceil(b[k]?b[k].createLabelsAndCalculateWidth():0)),ba+=z[k],ca+=b[k]?b[k].margin:0;else z.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateWidth():0));P.push(z);d=Math.round(h.x1+V+U);v=Math.round(h.x2-ba-ca>n.width-p?n.width-p:h.x2-ba-ca);if(a&&0<a.length)for(u=[],k=aa=0;k<a.length;k++)a[k]&&
|
|
645
|
-
a[k].titleMaxWidth:a[k].lineCoordinates.width),u.push(Math.ceil(a[k]?a[k].createLabelsAndCalculateHeight():0)),aa+=u[k],g+=a[k]&&!n.isNavigator?a[k].margin:0;else u.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateHeight():0));N.push(u);if(f&&0<f.length)for(t=[],k=Y=0;k<f.length;k++)f[k]&&(f[k].lineCoordinates={}),f[k].lineCoordinates.width=
|
|
646
|
-
t.push(Math.ceil(f[k]?f[k].createLabelsAndCalculateHeight():0)),Y+=t[k],T+=f[k]&&!n.isNavigator?f[k].margin:0;else t.push(Math.ceil(f[0]?f[0].createLabelsAndCalculateHeight():0));O.push(t);if(a&&0<a.length)for(k=0;k<a.length;k++)a[k]&&(a[k].lineCoordinates.x1=d,v=Math.round(h.x2-ba-ca>n.width-p?n.width-p:h.x2-ba-ca),a[k]._labels&&
|
|
647
|
-
Math.cos(Math.PI/180*Math.abs(m.textBlock.angle))+(m.textBlock.height-l.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(m.textBlock.angle)),w=l.textBlock.width*Math.cos(Math.PI/180*Math.abs(l.textBlock.angle))+(l.textBlock.height-l.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(l.textBlock.angle))),!a[k]||(!a[k].labelAutoFit||
|
|
648
|
-
a[k].tickLength+y+D-s+a[k].labelFontSize/2)):0===a[k].labelAngle&&(E+w>v&&(l=E+w/2-v-ba),D-s<d&&D-s<a[k].viewportMinimum&&(F=d-U-a[k].tickLength-y-D+s/2)),a[k].viewportMaximum===a[k].maximum&&a[k].viewportMinimum===a[k].minimum&&0<a[k].labelAngle&&0<l?v-=l:a[k].viewportMaximum===a[k].maximum&&a[k].viewportMinimum===a[k].minimum&&0>a[k].labelAngle&&
|
|
649
|
-
n.sessionVariables.axisX.height=aa:n.sessionVariables.axisX.height:n.sessionVariables.axisX.height=aa,l=Math.round(h.y2-aa-g+G),m=Math.round(h.y2),a[k].lineCoordinates.x2=v,a[k].lineCoordinates.width=v-d,a[k].lineCoordinates.y1=l,a[k].lineCoordinates.y2=l+a[k].lineThickness/2,"inside"===a[k].labelPlacement&&0<k&&(a[k].lineCoordinates.y1=
|
|
650
|
-
k&&(a[k].lineCoordinates.y1+=a[k].tickLength,a[k].lineCoordinates.y2=a[k].lineCoordinates.y1+a[k].lineThickness/2),a[k].bounds={x1:d,y1:l,x2:v,y2:m-(aa+g-u[k]-G),width:v-d},a[k].bounds.height=a[k].bounds.y2-a[k].bounds.y1),G+=u[k]+a[k].margin;if(f&&0<f.length)for(k=0;k<f.length;k++)f[k].lineCoordinates.x1=Math.round(h.x1+V+U),f[k].lineCoordinates.x2=
|
|
651
|
-
l="dateTime"===f[k].valueType?f[k]._labels[f[k]._labels.length-2]:f[k]._labels[f[k]._labels.length-1],s=m.textBlock.width*Math.cos(Math.PI/180*Math.abs(m.textBlock.angle))+(m.textBlock.height-l.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(m.textBlock.angle)),w=l.textBlock.width*Math.cos(Math.PI/180*Math.abs(l.textBlock.angle))+(l.textBlock.height-
|
|
652
|
-
Y:n.sessionVariables.axisX2.height:n.sessionVariables.axisX2.height=Y,l=Math.round(h.y1),m=f[k].lineCoordinates.y1=l+Y+T-W,f[k].lineCoordinates.y2=l,"inside"===f[k].labelPlacement&&0<k&&(f[k].lineCoordinates.y1=f[k-1].lineCoordinates.y1-W-(f[k].labelEffectiveHeight||0)),"inside"===f[k].tickPlacement&&0<k&&(f[k].lineCoordinates.y1-=f[k].tickLength),
|
|
653
|
-
c.length;k++)U=n.isNavigator?0:10,c[k]&&(d=Math.round(a[0]?a[0].lineCoordinates.x1:f[0].lineCoordinates.x1),U=c[k]._labels&&0<c[k]._labels.length?c[k]._labels[c[k]._labels.length-1].textBlock.height/2:p,l=Math.round(h.y1+Y+T<Math.max(U,p)?Math.max(U,p):h.y1+Y+T),v=Math.round(a[0]?a[0].lineCoordinates.x1:f[0].lineCoordinates.x1),U=0<a.length?0:c[k]._labels&&
|
|
654
|
-
l)},"inside"===c[k].labelPlacement&&0<k&&(c[k].lineCoordinates.x1=c[k-1].lineCoordinates.x1-S-(c[k].labelEffectiveWidth||0),c[k].lineCoordinates.x2=c[k].lineCoordinates.x1+c[k].lineThickness/2),"inside"===c[k].tickPlacement&&0<k&&(c[k].lineCoordinates.x1-=c[k].tickLength,c[k].lineCoordinates.x2=c[k].lineCoordinates.x1+c[k].lineThickness/2),c[k].bounds=
|
|
655
|
-
c[k].titleMaxWidth<c[k].lineCoordinates.height?c[k].titleMaxWidth:c[k].lineCoordinates.height),S+=y[k]+c[k].margin);if(b&&0<b.length)for(k=0;k<b.length;k++)b[k]&&(d=Math.round(a[0]?a[0].lineCoordinates.x2:f[0].lineCoordinates.x2),v=Math.round(d),U=b[k]._labels&&0<b[k]._labels.length?b[k]._labels[b[k]._labels.length-1].textBlock.height/2:0,l=Math.round(h.y1+
|
|
656
|
-
(aa+g+U)),b[k].lineCoordinates={x1:d+$,y1:l,x2:d+$,y2:m,height:Math.abs(m-l)},"inside"===b[k].labelPlacement&&0<k&&(b[k].lineCoordinates.x1=b[k-1].lineCoordinates.x2+$+(b[k].labelEffectiveWidth||0),b[k].lineCoordinates.x2=b[k].lineCoordinates.x1+b[k].lineThickness/2),"inside"===b[k].tickPlacement&&0<k&&(b[k].lineCoordinates.x1+=b[k].tickLength,b[k].lineCoordinates.x2=
|
|
657
|
-
b[k].bounds.x1,b[k].title&&(b[k]._titleTextBlock.maxWidth=0<b[k].titleMaxWidth&&b[k].titleMaxWidth<b[k].lineCoordinates.height?b[k].titleMaxWidth:b[k].lineCoordinates.height),$+=z[k]+b[k].margin);if(a&&0<a.length)for(k=0;k<a.length;k++)a[k]&&(a[k].calculateValueToPixelConversionParameters(),a[k].calculateBreaksSizeInValues(),a[k]._labels&&1<a[k]._labels.length&&(D=
|
|
658
|
-
a[k].viewportMinimum)*Math.abs(a[k].conversionParameters.pixelPerUnit)+a[k].lineCoordinates.x1,d=a[k]._labels[a[k]._labels.length-("dateTime"===a[k].valueType?2:1)].position,d=a[k].getApparentDifference(a[k].viewportMinimum,d),E=a[k].logarithmic?(1<d?Math.log(d)/a[k].conversionParameters.lnLogarithmBase*Math.abs(a[k].conversionParameters.pixelPerUnit):0)+a[k].lineCoordinates.x1:
|
|
659
|
-
f[k].calculateBreaksSizeInValues(),f[k]._labels&&1<f[k]._labels.length&&(D=(f[k].logarithmic?Math.log(f[k]._labels[1].position/f[k].viewportMinimum)/f[k].conversionParameters.lnLogarithmBase:f[k]._labels[1].position-f[k].viewportMinimum)*Math.abs(f[k].conversionParameters.pixelPerUnit)+f[k].lineCoordinates.x1,d=f[k]._labels[f[k]._labels.length-
|
|
660
|
-
Math.abs(f[k].conversionParameters.pixelPerUnit):0)+f[k].lineCoordinates.x1:(0<d?d*Math.abs(f[k].conversionParameters.pixelPerUnit):0)+f[k].lineCoordinates.x1);for(k=0;k<q.length;k++)"axisY"===q[k].type&&(q[k].calculateValueToPixelConversionParameters(),q[k].calculateBreaksSizeInValues());if(0<x){if(a&&0<a.length)for(k=0;k<a.length;k++)r=
|
|
661
|
-
|
|
662
|
-
b[k].calculateBreaksInPixels()}else{p=[];D=[];F=[];s=[];E=[];w=[];N=[];for(O=[];4>x;){aa=$=S=ca=U=T=g=P=M=G=Y=0;if(a&&0<a.length)for(F=[],k=$=0;k<a.length;k++)F.push(Math.ceil(a[k]?a[k].createLabelsAndCalculateWidth():0)),$+=F[k],g+=a[k]&&!n.isNavigator?a[k].margin:0;else F.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateWidth():
|
|
663
|
-
f[0].createLabelsAndCalculateWidth():0));O.push(s);if(c&&0<c.length)for(k=0;k<c.length;k++)c[k].lineCoordinates={},d=Math.round(h.x1+$+g),v=Math.round(h.x2-aa-T>n.width-10?n.width-10:h.x2-aa-T),c[k].labelAutoFit&&!e(u)&&(0<!a.length&&(d=0>c[k].labelAngle?Math.max(d,u):0===c[k].labelAngle?Math.max(d,u/2):d),0<!f.length&&
|
|
664
|
-
0<c[k].titleMaxWidth&&c[k].titleMaxWidth<c[k].lineCoordinates.width?c[k].titleMaxWidth:c[k].lineCoordinates.width);if(b&&0<b.length)for(k=0;k<b.length;k++)b[k].lineCoordinates={},d=Math.round(h.x1+$+g),v=Math.round(h.x2-aa-T>b[k].chart.width-10?b[k].chart.width-10:h.x2-aa-T),b[k]&&b[k].labelAutoFit&&!e(y)&&
|
|
665
|
-
d),b[k].title&&(b[k]._titleTextBlock.maxWidth=0<b[k].titleMaxWidth&&b[k].titleMaxWidth<b[k].lineCoordinates.width?b[k].titleMaxWidth:b[k].lineCoordinates.width);if(c&&0<c.length)for(p=[],k=S=0;k<c.length;k++)p.push(Math.ceil(c[k]?c[k].createLabelsAndCalculateHeight():0)),S+=p[k]+c[k].margin,U+=c[k].margin;
|
|
666
|
-
else D.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateHeight():0));w.push(D);if(c&&0<c.length)for(k=0;k<c.length;k++)0<c[k]._labels.length&&(m=c[k]._labels[0],l=c[k]._labels[c[k]._labels.length-1],u=m.textBlock.width*Math.cos(Math.PI/180*Math.abs(m.textBlock.angle))+(m.textBlock.height-l.textBlock.fontSize/
|
|
667
|
-
if(b&&0<b.length)for(k=0;k<b.length;k++)b[k]&&0<b[k]._labels.length&&(m=b[k]._labels[0],l=b[k]._labels[b[k]._labels.length-1],y=m.textBlock.width*Math.cos(Math.PI/180*Math.abs(m.textBlock.angle))+(m.textBlock.height-l.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(m.textBlock.angle)),
|
|
668
|
-
n.sessionVariables.axisY[k].height=p[k]:n.sessionVariables.axisY[k].height;else for(k=0;k<c.length;k++)n.sessionVariables.axisY[k].height=p[k];if(c&&0<c.length)for(k=c.length-1;0<=k;k--)l=Math.round(h.y2),m=Math.round(h.y2>c[k].chart.height?c[k].chart.height:
|
|
669
|
-
c[k].
|
|
670
|
-
Y+=p[k]+c[k].margin;if(b&&0<b.length)for(k=b.length-1;0<=k;k--)b[k]&&(l=Math.round(h.y1),m=Math.round(h.y1+(D[k]+b[k].margin+G)),b[k].lineCoordinates.y1=m,b[k].lineCoordinates.y2=m,"inside"===b[k].labelPlacement&&0<k&&(b[k].lineCoordinates.y1=m-D[k]+
|
|
671
|
-
b[k].lineCoordinates.y2=b[k].lineCoordinates.y1-b[k].lineThickness/2),b[k].bounds={x1:d,y1:l+(b[k].margin+G),x2:v,y2:m,width:v-d},b[k].bounds.height=b[k].bounds.y2-b[k].bounds.y1,b[k].title&&(b[k]._titleTextBlock.maxWidth=0<b[k].titleMaxWidth&&
|
|
672
|
-
0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:h.y1<Math.max(U,10)?Math.max(U,10):h.y1):h.y1<Math.max(U,10)?Math.max(U,10):h.y1;v=Math.round(h.x1+$+g);m=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:h.y2-S>n.height-Math.max(U,10)?n.height-
|
|
673
|
-
b[U].labelAutoFit&&(v=b[U].lineCoordinates.x1,d=v-$);a[k].lineCoordinates={x1:v-M,y1:l,x2:v-M,y2:m,height:Math.abs(m-l)};"inside"===a[k].labelPlacement&&0<k&&(a[k].lineCoordinates.x1=a[k].lineCoordinates.x1-(F[k]-(a[k]._titleTextBlock?
|
|
674
|
-
a[k].lineThickness/2);a[k].bounds={x1:v-(F[k]+M),y1:l,x2:v-M,y2:m,height:m-l};a[k].bounds.width=a[k].bounds.x2-a[k].bounds.x1;a[k].title&&(a[k]._titleTextBlock.maxWidth=0<a[k].titleMaxWidth&&a[k].titleMaxWidth<a[k].lineCoordinates.height?
|
|
675
|
-
2:0;d=Math.round(h.x1-g);l=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:h.y1<Math.max(U,10)?Math.max(U,10):h.y1):h.y1<Math.max(U,10)?Math.max(U,10):h.y1;v=Math.round(h.x2-aa-T);m=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:
|
|
676
|
-
d=0>c[U].labelAngle||0===c[U].labelAngle?v-aa:d);if(b&&0<b.length)for(U=0;U<b.length;U++)b[U]&&b[U].labelAutoFit&&(v=b[U].lineCoordinates.x2,d=v-aa);f[k].lineCoordinates={x1:v+P,y1:l,x2:v+P,y2:m,height:Math.abs(m-l)};"inside"===f[k].labelPlacement&&
|
|
677
|
-
f[k].tickPlacement&&0<k&&(f[k].lineCoordinates.x1+=f[k].tickLength,f[k].lineCoordinates.x2=f[k].lineCoordinates.x1+f[k].lineThickness/2);f[k].bounds={x1:f[k].lineCoordinates.x1,y1:l,x2:v+s[k]+P,y2:m,width:v-d,height:m-l};f[k].bounds.width=f[k].bounds.x2-
|
|
678
|
-
P+=s[k]+f[k].margin}for(k=0;k<q.length;k++)"axisY"===q[k].type&&(q[k].calculateValueToPixelConversionParameters(),q[k].calculateBreaksSizeInValues());if(0<x){if(a&&0<a.length)for(k=0;k<a.length;k++)r=N[x-1][k]===N[x][k]?!0:!1;else r=!0;if(f&&
|
|
679
|
-
|
|
680
|
-
f[0].chart;g=h.ctx;h.alignVerticalAxes&&h.alignVerticalAxes();g.save();g.beginPath();a&&a.length&&g.rect(5,a[0].bounds.y1,a[0].chart.width-10,a[a.length-1].bounds.y2);f&&f.length&&g.rect(5,f[f.length-1].bounds.y1,f[0].chart.width-10,f[0].bounds.y2);
|
|
681
|
-
|
|
682
|
-
if(
|
|
683
|
-
if(
|
|
684
|
-
if(f&&0<f.length)for(d=0;d<f.length;d++)f[d].
|
|
685
|
-
|
|
686
|
-
"value"}};z.prototype.calculateBreaksSizeInValues=function(){for(var a="left"===this._position||"right"===this._position?this.lineCoordinates.height||this.chart.height:this.lineCoordinates.width||this.chart.width,f=this.scaleBreaks?this.scaleBreaks._appliedBreaks:
|
|
687
|
-
g,d=0;d<f.length;d++)g=b||!e(f[d].options.spacing),f[d].spacing=Va(f[d].spacing,a,8,g?0.1*a:8,g?0:3)<<0,f[d].size=0>f[d].spacing?0:Math.abs(f[d].spacing/c),this.logarithmic&&(f[d].size=Math.pow(this.logarithmBase,f[d].size))};z.prototype.calculateBreaksInPixels=
|
|
688
|
-
!(a[f].startValue>this.conversionParameters.maximum);f++)a[f].endValue<this.conversionParameters.minimum||(e(this.scaleBreaks.firstBreakIndex)&&(this.scaleBreaks.firstBreakIndex=f),a[f].startValue>=this.conversionParameters.minimum&&(a[f].startPixel=this.convertValueToPixel(a[f].startValue),
|
|
689
|
-
c=0,b=0,g=1,d=0;0!==this.labelAngle&&360!==this.labelAngle&&(g=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=[],g=0!==this.labelAngle&&360!==this.labelAngle?
|
|
690
|
-
this._labels.length-1||e<Math.log(l/p.position)*v/g)||(c.push(p),l=p.position,e=p.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(m=0;m<this._labels.length;m++)p=this._labels[m],p.position<
|
|
691
|
-
(f=!0)}if("left"===this._position||"right"===this._position)if(this.logarithmic&&!this.equidistantInterval&&this.labelAutoFit){for(var c=[],n,l=this.viewportMaximum,v=this.lineCoordinates.height/Math.log(this.range),m=this._labels.length-1;0<=m;m--){p=this._labels[m];if(p.position<this.viewportMinimum)break;
|
|
692
|
-
Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(m=0;m<this._labels.length;m++)p=this._labels[m],p.position<this.viewportMinimum||(n=p.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),b+=n);b>this.lineCoordinates.height*
|
|
693
|
-
this._position){for(m=0;m<this._labels.length;m++)p=this._labels[m],p.position<this.viewportMinimum||p.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%
|
|
694
|
-
(q.x-=p.textBlock.width/2,q.y="inside"===this.labelPlacement?q.y-(("inside"===this.tickPlacement?this.tickLength:0)+p.textBlock.height-p.textBlock.fontSize/2):q.y+("inside"===this.tickPlacement?0:this.tickLength)+p.textBlock.fontSize/2+5):(q.x="inside"===this.labelPlacement?0>this.labelAngle?q.x:q.x-p.textBlock.width*
|
|
695
|
-
this.tickPlacement?this.tickLength:0)-5:q.y-("inside"===this.tickPlacement?this.tickLength:0)-Math.abs(p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+5):q.y+("inside"===this.tickPlacement?0:this.tickLength)+Math.abs(0>this.labelAngle?p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-5:5)),p.textBlock.x=
|
|
696
|
-
a.viewportMinimum||p.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(p.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.x<<0)+0.5:q.x<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(b,q.y<<0);a.ctx.lineTo(b,q.y-a.tickLength<<0);a.ctx.stroke();
|
|
697
|
-
2,this._titleTextBlock.y=this.bounds.y2-this._titleTextBlock.height-3,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("top"===this._position){for(m=0;m<this._labels.length;m++)p=this._labels[m],p.position<this.viewportMinimum||p.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(p.position),
|
|
698
|
-
0)+0.5:q.x<<0,this.ctx.beginPath(),this.ctx.moveTo(b,q.y<<0),this.ctx.lineTo(b,q.y-this.tickLength<<0),this.ctx.stroke()),f&&0!==d++%2&&this.labelAutoFit||(0===p.textBlock.angle?(q.x-=p.textBlock.width/2,q.y="inside"===this.labelPlacement?q.y+this.labelFontSize/2+("inside"===this.tickPlacement?this.tickLength:0)+5:q.y-(("inside"===this.tickPlacement?
|
|
699
|
-
180*this.labelAngle):q.x+(p.textBlock.height-this.labelFontSize)*Math.sin(Math.PI/180*this.labelAngle)-(0<this.labelAngle?p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0),q.y="inside"===this.labelPlacement?0<this.labelAngle?q.y+("inside"===this.tickPlacement?this.tickLength:0)+5:q.y-p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+
|
|
700
|
-
Math.cos(Math.PI/180*this.labelAngle)+(0<this.labelAngle?p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):0)))),p.textBlock.x=q.x,p.textBlock.y=q.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(m=0;m<a._labels.length;m++)if(p=a._labels[m],!(p.position<a.viewportMinimum||p.position>a.viewportMaximum)&&
|
|
701
|
-
2?(q.x<<0)+0.5:q.x<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(b,q.y<<0);a.ctx.lineTo(b,q.y+a.tickLength<<0);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.lineCoordinates.x1+this.lineCoordinates.width/2-this._titleTextBlock.width/2,this._titleTextBlock.y=this.bounds.y1+1,this.titleMaxWidth=
|
|
702
|
-
p.position<this.viewportMinimum||p.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0,this.ctx.beginPath(),this.ctx.moveTo(q.x<<0,b),this.ctx.lineTo(q.x-this.tickLength<<
|
|
703
|
-
q.x+("inside"===this.tickPlacement?this.tickLength:0)+5:q.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5):(p.textBlock.y="inside"===this.labelPlacement?q.y:q.y-p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle),p.textBlock.x="inside"===this.labelPlacement?q.x+("inside"===this.tickPlacement?
|
|
704
|
-
5:q.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+(p.textBlock.height-p.textBlock.fontSize/2-5)*Math.sin(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength))));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(m=0;m<a._labels.length;m++)if(p=a._labels[m],!(p.position<
|
|
705
|
-
a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(q.x<<0,b);a.ctx.lineTo(q.x+a.tickLength<<0,b);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.bounds.x1+1,this._titleTextBlock.y=this.lineCoordinates.height/2+this._titleTextBlock.width/
|
|
706
|
-
this._position){for(m=0;m<this._labels.length;m++)p=this._labels[m],p.position<this.viewportMinimum||p.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0,this.ctx.beginPath(),this.ctx.moveTo(q.x<<
|
|
707
|
-
(p.textBlock.y=q.y,p.textBlock.x="inside"===this.labelPlacement?q.x-p.textBlock.width-("inside"===this.tickPlacement?this.tickLength:0)-5:q.x+("inside"===this.tickPlacement?0:this.tickLength)+5):(p.textBlock.y="inside"===this.labelPlacement?q.y-p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):0>this.labelAngle?q.y:q.y-(p.textBlock.height-p.textBlock.fontSize/2-5)*Math.cos(Math.PI/
|
|
708
|
-
("inside"===this.tickPlacement?this.tickLength:0)-5:0<this.labelAngle?q.x+(p.textBlock.height-p.textBlock.fontSize/2-5)*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?0:this.tickLength):q.x+("inside"===this.tickPlacement?0:this.tickLength)+5)));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(m=0;m<
|
|
709
|
-
a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(q.x<<0,b);a.ctx.lineTo(q.x-a.tickLength<<0,b);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.bounds.x2-1,this._titleTextBlock.y=
|
|
710
|
-
0;if("inside"===this.labelPlacement)this.chart.addEventListener("dataAnimationIterationEnd",function(){for(m=0;m<a._labels.length;m++)p=a._labels[m],p.position<a.viewportMinimum||(p.position>a.viewportMaximum||f&&0!==d++%2&&a.labelAutoFit)||(a.ctx.save(),a.ctx.beginPath(),p.textBlock.render(!0),a.ctx.restore())},this);else for(m=0;m<
|
|
711
|
-
z.prototype.renderInterlacedColors=function(){var a=this.chart.plotArea.ctx,f,c,b=this.chart.plotArea,g=0;f=!0;if(("bottom"===this._position||"top"===this._position)&&this.interlacedColor)for(a.fillStyle=this.interlacedColor,g=0;g<this._labels.length;g++)f?(f=this.getPixelCoordinatesOnAxis(this._labels[g].position),c=g+1>this._labels.length-
|
|
712
|
-
f.x),Math.abs(b.y1-b.y2)),f=!1):f=!0;else if(("left"===this._position||"right"===this._position)&&this.interlacedColor)for(a.fillStyle=this.interlacedColor,g=0;g<this._labels.length;g++)f?(c=this.getPixelCoordinatesOnAxis(this._labels[g].position),f=g+1>this._labels.length-1?this.getPixelCoordinatesOnAxis(this.viewportMaximum):this.getPixelCoordinatesOnAxis(this._labels[g+
|
|
713
|
-
function(a){if(this.stripLines&&0<this.stripLines.length&&a){for(var f=this,c,b=0,g=0,d=!1,l=!1,v=[],x=[],l=!1,b=0;b<this.stripLines.length;b++){var m=this.stripLines[b];m._thicknessType===a&&("pixel"===a&&(m.value<this.viewportMinimum||m.value>this.viewportMaximum||e(m.value)||isNaN(this.range))||"value"===a&&(m.startValue<=this.viewportMinimum&&
|
|
714
|
-
v.push(m))}for(b=0;b<this._stripLineLabels.length;b++)if(m=this.stripLines[b],c=this._stripLineLabels[b],!(c.position<this.viewportMinimum||c.position>this.viewportMaximum||isNaN(this.range))){a=this.getPixelCoordinatesOnAxis(c.position);if("outside"===c.stripLine.labelPlacement)if(m&&(this.ctx.strokeStyle=m.color,this.ctx.lineWidth="pixel"===
|
|
715
|
-
a.y<<0);this.ctx.lineTo(n,a.y+this.tickLength<<0);this.ctx.stroke();0===this.labelAngle?(a.x-=c.textBlock.width/2,a.y+=this.tickLength+c.textBlock.fontSize/2+5):(a.x-=0>this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0,a.y+=this.tickLength+Math.abs(0>this.labelAngle?c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-
|
|
716
|
-
0),this.ctx.stroke(),0===this.labelAngle?(a.x-=c.textBlock.width/2,a.y-=this.tickLength+c.textBlock.height-c.textBlock.fontSize/2):(a.x+=(c.textBlock.height-this.tickLength-this.labelFontSize/2)*Math.sin(Math.PI/180*this.labelAngle)-(0<this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0),a.y-=this.tickLength+(c.textBlock.height*
|
|
717
|
-
this.ctx.lineWidth%2?(a.y<<0)+0.5:a.y<<0,this.ctx.beginPath(),this.ctx.moveTo(a.x<<0,n),this.ctx.lineTo(a.x-this.tickLength<<0,n),this.ctx.stroke(),0===this.labelAngle?a.x=a.x-c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-this.tickLength-5:(a.y-=c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle),a.x=0<this.labelAngle?a.x-c.textBlock.width*
|
|
718
|
-
2-5)*Math.sin(Math.PI/180*this.labelAngle)-this.tickLength)):"right"===this._position&&(n=1===this.ctx.lineWidth%2?(a.y<<0)+0.5:a.y<<0,this.ctx.beginPath(),this.ctx.moveTo(a.x<<0,n),this.ctx.lineTo(a.x+this.tickLength<<0,n),this.ctx.stroke(),0===this.labelAngle?a.x=a.x+this.tickLength+5:(a.y=0>this.labelAngle?a.y:a.y-(c.textBlock.height-c.textBlock.fontSize/
|
|
719
|
-
this.tickLength:a.x+this.tickLength+5));else c.textBlock.angle=-90,"bottom"===this._position?(c.textBlock.maxWidth=this.options.stripLines[b].labelMaxWidth?this.options.stripLines[b].labelMaxWidth:this.chart.plotArea.height-3,c.textBlock.measureText(),a.x-c.textBlock.height-m.thickness/2>this.chart.plotArea.x1?e(m.startValue)?a.x-=c.textBlock.height-
|
|
720
|
-
2+m.thickness/2:a.x+=c.textBlock.height/2-c.textBlock.fontSize/2),a.y=-90===c.textBlock.angle?"near"===c.stripLine.labelAlign?this.chart.plotArea.y2-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1+c.textBlock.width)/2:this.chart.plotArea.y1+c.textBlock.width+3:"near"===c.stripLine.labelAlign?this.chart.plotArea.y2-
|
|
721
|
-
this._position?(c.textBlock.maxWidth=this.options.stripLines[b].labelMaxWidth?this.options.stripLines[b].labelMaxWidth:this.chart.plotArea.height-3,c.textBlock.measureText(),a.x-c.textBlock.height-m.thickness/2>this.chart.plotArea.x1?e(m.startValue)?a.x-=c.textBlock.height-c.textBlock.fontSize/2+m.thickness/2:a.x-=c.textBlock.height/2-c.textBlock.fontSize/
|
|
722
|
-
2),a.y=-90===c.textBlock.angle?"near"===c.stripLine.labelAlign?this.chart.plotArea.y1+c.textBlock.width+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1+c.textBlock.width)/2:this.chart.plotArea.y2-3:"near"===c.stripLine.labelAlign?this.chart.plotArea.y1+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1-
|
|
723
|
-
this.options.stripLines[b].labelMaxWidth:this.chart.plotArea.width-3,c.textBlock.angle=0,c.textBlock.measureText(),a.y-c.textBlock.height-m.thickness/2>this.chart.plotArea.y1?e(m.startValue)?a.y-=c.textBlock.height-c.textBlock.fontSize/2+m.thickness/2:a.y-=c.textBlock.height/2-c.textBlock.fontSize/2:e(m.startValue)?a.y+=c.textBlock.height-c.textBlock.fontSize/
|
|
724
|
-
(this.chart.plotArea.x2+this.chart.plotArea.x1)/2-c.textBlock.width/2:this.chart.plotArea.x2-c.textBlock.width-3):"right"===this._position&&(c.textBlock.maxWidth=this.options.stripLines[b].labelMaxWidth?this.options.stripLines[b].labelMaxWidth:this.chart.plotArea.width-3,c.textBlock.angle=0,c.textBlock.measureText(),a.y-c.textBlock.height-
|
|
725
|
-
2:e(m.startValue)?a.y+=c.textBlock.height-c.textBlock.fontSize/2+m.thickness/2:a.y-=c.textBlock.height/2-c.textBlock.fontSize/2+3,a.x="near"===c.stripLine.labelAlign?this.chart.plotArea.x2-c.textBlock.width-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.x2+this.chart.plotArea.x1)/2-c.textBlock.width/2:this.chart.plotArea.x1+3);c.textBlock.x=
|
|
726
|
-
this.chart.plotArea.height);this.ctx.clip();for(b=0;b<v.length;b++)m=v[b],m.showOnTop?d||(d=!0,this.chart.addEventListener("dataAnimationIterationEnd",function(){this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();for(g=
|
|
727
|
-
function(){for(g=0;g<x.length;g++)c=x[g],"inside"===c.stripLine.labelPlacement&&c.stripLine.showOnTop&&(f.ctx.save(),f.ctx.beginPath(),f.ctx.rect(f.chart.plotArea.x1,f.chart.plotArea.y1,f.chart.plotArea.width,f.chart.plotArea.height),f.ctx.clip(),c.textBlock.render(!0),f.ctx.restore())},c.textBlock)):
|
|
728
|
-
function(){this.chart._breaksCanvas&&(this.scaleBreaks&&0<this.scaleBreaks._appliedBreaks.length&&this.maskCanvas)&&(this.chart._breaksCanvasCtx.save(),this.chart._breaksCanvasCtx.beginPath(),this.chart._breaksCanvasCtx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,
|
|
729
|
-
function(){if(this.scaleBreaks&&0<this.scaleBreaks._appliedBreaks.length){var a=this.scaleBreaks._appliedBreaks;u?(this.maskCanvas=sa(this.chart.width,this.chart.height),this.maskCtx=this.maskCanvas.getContext("2d")):(this.maskCanvas=this.chart.plotArea.canvas,this.maskCtx=this.chart.plotArea.ctx);
|
|
730
|
-
this.viewportMinimum||(a[f].startValue>this.viewportMaximum||isNaN(this.range))||a[f].render(this.maskCtx);this.maskCtx.restore()}};z.prototype.renderCrosshair=function(a,f){isFinite(this.minimum)&&isFinite(this.maximum)&&this.crosshair.render(a,f)};z.prototype.showCrosshair=function(a){e(a)||
|
|
731
|
-
a))};z.prototype.renderGrid=function(){if(this.gridThickness&&0<this.gridThickness){var a=this.chart.ctx;a.save();var f,c=this.chart.plotArea;a.lineWidth=this.gridThickness;a.strokeStyle=this.gridColor;a.setLineDash&&a.setLineDash(S(this.gridDashType,this.gridThickness));if("bottom"===this._position||
|
|
732
|
-
f=this.getPixelCoordinatesOnAxis(this._labels[b].position),f=1===a.lineWidth%2?(f.x<<0)+0.5:f.x<<0,a.moveTo(f,c.y1<<0),a.lineTo(f,c.y2<<0),a.stroke());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>
|
|
733
|
-
0,f),a.lineTo(c.x2<<0,f),a.stroke());a.restore()}};z.prototype.renderAxisLine=function(){var a=this.chart.ctx,f=u?this.chart._preRenderCtx:a,c=Math.ceil(this.tickThickness/(this.reversed?-2:2)),b=Math.ceil(this.tickThickness/(this.reversed?2:-2)),g,d;f.save();if("bottom"===this._position||"top"===this._position){if(this.lineThickness){this.reversed?
|
|
734
|
-
this.lineColor?this.lineColor:"black";f.setLineDash&&f.setLineDash(S(this.lineDashType,this.lineThickness));var l=1===this.lineThickness%2?(this.lineCoordinates.y1<<0)+0.5:this.lineCoordinates.y1<<0;f.beginPath();if(this.scaleBreaks&&!e(this.scaleBreaks.firstBreakIndex))if(e(this.scaleBreaks.lastBreakIndex))g=this.scaleBreaks._appliedBreaks[this.scaleBreaks.firstBreakIndex].endPixel+
|
|
735
|
-
c,l),g=this.scaleBreaks._appliedBreaks[v].endPixel+b;g&&(f.moveTo(g,l),f.lineTo(d,l));f.stroke()}}else if(("left"===this._position||"right"===this._position)&&this.lineThickness){this.reversed?(g=this.lineCoordinates.y1,d=this.lineCoordinates.y2):(g=this.lineCoordinates.y2,d=this.lineCoordinates.y1);f.lineWidth=this.lineThickness;f.strokeStyle=
|
|
736
|
-
0;f.beginPath();if(this.scaleBreaks&&!e(this.scaleBreaks.firstBreakIndex))if(e(this.scaleBreaks.lastBreakIndex))g=this.scaleBreaks._appliedBreaks[this.scaleBreaks.firstBreakIndex].endPixel+c;else for(v=this.scaleBreaks.firstBreakIndex;v<=this.scaleBreaks.lastBreakIndex;v++)f.moveTo(l,g),f.lineTo(l,this.scaleBreaks._appliedBreaks[v].startPixel+
|
|
737
|
-
this.chart.height),this.chart._breaksCanvasCtx&&this.chart._breaksCanvasCtx.drawImage(this.chart._preRenderCanvas,0,0,this.chart.width,this.chart.height),f.clearRect(0,0,this.chart.width,this.chart.height));f.restore()};z.prototype.getPixelCoordinatesOnAxis=function(a){var f={};if("bottom"===this._position||"top"===this._position)f.x=this.convertValueToPixel(a),
|
|
738
|
-
return f};z.prototype.convertPixelToValue=function(a){if("undefined"===typeof a)return null;var f=0,c=0,b,f=!0,g=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],c="number"===typeof a?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);
|
|
739
|
-
g.length;c++){if(!(g[c].endValue<this.conversionParameters.minimum))if(f)if(g[c].startValue<this.conversionParameters.minimum){if(1<g[c].size&&this.conversionParameters.minimum*Math.pow(g[c].endValue/g[c].startValue,Math.log(b)/Math.log(g[c].size))<g[c].endValue){a=Math.pow(g[c].endValue/g[c].startValue,Math.log(b)/Math.log(g[c].size));break}else a*=g[c].endValue/this.conversionParameters.minimum/
|
|
740
|
-
b/=Math.pow(g[c].size,Math.log(g[c].endValue/this.conversionParameters.minimum)/Math.log(g[c].endValue/g[c].startValue));f=!1}else if(b>g[c].startValue/this.conversionParameters.minimum){b/=g[c].startValue/this.conversionParameters.minimum;if(b<g[c].size){a*=Math.pow(g[c].endValue/g[c].startValue,1===g[c].size?1:Math.log(b)/Math.log(g[c].size))/b;break}else a*=g[c].endValue/g[c].startValue/
|
|
741
|
-
if(b<g[c].size){a*=Math.pow(g[c].endValue/g[c].startValue,1===g[c].size?1:Math.log(b)/Math.log(g[c].size))/b;break}else a*=g[c].endValue/g[c].startValue/g[c].size;b/=g[c].size}else break}else for(c=g.length-1;0<=c;c--)if(!(g[c].startValue>this.conversionParameters.minimum))if(f)if(g[c].endValue>this.conversionParameters.minimum){if(1<g[c].size&&this.conversionParameters.minimum*Math.pow(g[c].endValue/
|
|
742
|
-
Math.log(b)/Math.log(g[c].size));break}else a*=g[c].startValue/this.conversionParameters.minimum*Math.pow(g[c].size,Math.log(g[c].startValue/this.conversionParameters.minimum)/Math.log(g[c].endValue/g[c].startValue))*b,b*=Math.pow(g[c].size,Math.log(this.conversionParameters.minimum/g[c].startValue)/Math.log(g[c].endValue/g[c].startValue));f=!1}else if(b<g[c].endValue/this.conversionParameters.minimum){b/=
|
|
743
|
-
g[c].startValue,1>=g[c].size?1:Math.log(b)/Math.log(g[c].size))*b;break}else a/=g[c].endValue/g[c].startValue/g[c].size;b*=g[c].size;f=!1}else break;else if(b<g[c].endValue/g[c+1].startValue){b/=g[c].endValue/g[c+1].startValue;if(b>1/g[c].size){a*=Math.pow(g[c].endValue/g[c].startValue,1>=g[c].size?1:Math.log(b)/Math.log(g[c].size))*b;break}else a/=g[c].endValue/g[c].startValue/g[c].size;b*=g[c].size}else break;
|
|
744
|
-
if(c<=this.conversionParameters.reference===("left"===this._position||"right"===this._position)!==this.reversed)for(c=0;c<g.length;c++){if(!(g[c].endValue<this.conversionParameters.minimum))if(f)if(g[c].startValue<this.conversionParameters.minimum){if(g[c].size&&this.conversionParameters.minimum+b*(g[c].endValue-g[c].startValue)/g[c].size<g[c].endValue){a=0>=g[c].size?0:b*(g[c].endValue-
|
|
745
|
-
this.conversionParameters.minimum)/(g[c].endValue-g[c].startValue),b-=g[c].size*(g[c].endValue-this.conversionParameters.minimum)/(g[c].endValue-g[c].startValue);f=!1}else if(b>g[c].startValue-this.conversionParameters.minimum){b-=g[c].startValue-this.conversionParameters.minimum;if(b<g[c].size){a+=(g[c].endValue-g[c].startValue)*(0===g[c].size?1:b/g[c].size)-b;break}else a+=g[c].endValue-
|
|
746
|
-
g[c-1].endValue;if(b<g[c].size){a+=(g[c].endValue-g[c].startValue)*(0===g[c].size?1:b/g[c].size)-b;break}else a+=g[c].endValue-g[c].startValue-g[c].size;b-=g[c].size}else break}else for(c=g.length-1;0<=c;c--)if(!(g[c].startValue>this.conversionParameters.minimum))if(f)if(g[c].endValue>this.conversionParameters.minimum)if(g[c].size&&this.conversionParameters.minimum+b*(g[c].endValue-
|
|
747
|
-
g[c].startValue-this.conversionParameters.minimum+g[c].size*(this.conversionParameters.minimum-g[c].startValue)/(g[c].endValue-g[c].startValue),b+=g[c].size*(this.conversionParameters.minimum-g[c].startValue)/(g[c].endValue-g[c].startValue),f=!1;else if(b<g[c].endValue-this.conversionParameters.minimum){b-=g[c].endValue-this.conversionParameters.minimum;if(b>-1*g[c].size){a+=(g[c].endValue-
|
|
748
|
-
f=!1}else break;else if(b<g[c].endValue-g[c+1].startValue){b-=g[c].endValue-g[c+1].startValue;if(b>-1*g[c].size){a+=(g[c].endValue-g[c].startValue)*(0===g[c].size?1:b/g[c].size)+b;break}else a-=g[c].endValue-g[c].startValue-g[c].size;b+=g[c].size}else break;f=this.conversionParameters.minimum+a}return f};z.prototype.convertValueToPixel=function(a){a=this.getApparentDifference(this.conversionParameters.minimum,
|
|
749
|
-
Math.log(a/this.conversionParameters.minimum)/this.conversionParameters.lnLogarithmBase+0.5<<0:"axisX"===this.type?this.conversionParameters.reference+this.conversionParameters.pixelPerUnit*(a-this.conversionParameters.minimum)+0.5<<0:this.conversionParameters.reference+this.conversionParameters.pixelPerUnit*(a-this.conversionParameters.minimum)+0.5};z.prototype.getApparentDifference=function(a,
|
|
750
|
-
0;d<g.length&&!(f<g[d].startValue);d++)a>g[d].endValue||(a<=g[d].startValue&&f>=g[d].endValue?c=c/g[d].endValue*g[d].startValue*g[d].size:a>=g[d].startValue&&f>=g[d].endValue?c=c/g[d].endValue*a*Math.pow(g[d].size,Math.log(g[d].endValue/a)/Math.log(g[d].endValue/g[d].startValue)):a<=g[d].startValue&&f<=g[d].endValue?c=c/f*g[d].startValue*Math.pow(g[d].size,Math.log(f/g[d].startValue)/Math.log(g[d].endValue/
|
|
751
|
-
a)/Math.log(g[d].endValue/g[d].startValue))))}else for(c=e(c)?Math.abs(f-a):c,d=0;d<g.length&&!(f<g[d].startValue);d++)a>g[d].endValue||(a<=g[d].startValue&&f>=g[d].endValue?c=c-g[d].endValue+g[d].startValue+g[d].size:a>g[d].startValue&&f>=g[d].endValue?c=c-g[d].endValue+a+g[d].size*(g[d].endValue-a)/(g[d].endValue-g[d].startValue):a<=g[d].startValue&&f<g[d].endValue?c=c-f+g[d].startValue+g[d].size*(f-g[d].startValue)/
|
|
752
|
-
g[d].size*(f-a)/(g[d].endValue-g[d].startValue)));return c};z.prototype.setViewPortRange=function(a,f){this.sessionVariables.newViewportMinimum=this.viewportMinimum=Math.min(a,f);this.sessionVariables.newViewportMaximum=this.viewportMaximum=Math.max(a,f)};z.prototype.getXValueAt=function(a){if(!a)return null;var f=null;"left"===this._position?f=this.convertPixelToValue(a.y):"bottom"===this._position&&(f=this.convertPixelToValue(a.x));
|
|
753
|
-
function(a){a=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];var f={pixelPerUnit:null,minimum:null,reference:null},c=this.lineCoordinates.width,b=this.lineCoordinates.height,c="bottom"===this._position||"top"===this._position?c:b,b=Math.abs(this.range);if(this.logarithmic)for(var d=0;d<a.length&&!(this.viewportMaximum<a[d].startValue);d++)this.viewportMinimum>a[d].endValue||(this.viewportMinimum>=a[d].startValue&&this.viewportMaximum<=
|
|
754
|
-
this.viewportMaximum>=a[d].endValue?(b=b/a[d].endValue*a[d].startValue,c=0<a[d].spacing.toString().indexOf("%")?c*(1-parseFloat(a[d].spacing)/100):c-Math.min(a[d].spacing,0.1*c)):this.viewportMinimum>a[d].startValue&&this.viewportMaximum>=a[d].endValue?(b=b/a[d].endValue*this.viewportMinimum,c=0<a[d].spacing.toString().indexOf("%")?c*(1-parseFloat(a[d].spacing)/100*Math.log(a[d].endValue/this.viewportMinimum)/Math.log(a[d].endValue/a[d].startValue)):
|
|
755
|
-
this.viewportMinimum)/Math.log(a[d].endValue/a[d].startValue)):this.viewportMinimum<=a[d].startValue&&this.viewportMaximum<a[d].endValue&&(b=b/this.viewportMaximum*a[d].startValue,c=0<a[d].spacing.toString().indexOf("%")?c*(1-parseFloat(a[d].spacing)/100*Math.log(this.viewportMaximum/a[d].startValue)/Math.log(a[d].endValue/a[d].startValue)):c-Math.min(a[d].spacing,0.1*c)*Math.log(this.viewportMaximum/a[d].startValue)/Math.log(a[d].endValue/a[d].startValue)));
|
|
756
|
-
a[d].startValue);d++)this.viewportMinimum>a[d].endValue||(this.viewportMinimum>=a[d].startValue&&this.viewportMaximum<=a[d].endValue?c=0:this.viewportMinimum<=a[d].startValue&&this.viewportMaximum>=a[d].endValue?(b=b-a[d].endValue+a[d].startValue,c=0<a[d].spacing.toString().indexOf("%")?c*(1-parseFloat(a[d].spacing)/100):c-Math.min(a[d].spacing,0.1*c)):this.viewportMinimum>a[d].startValue&&this.viewportMaximum>=a[d].endValue?(b=b-a[d].endValue+this.viewportMinimum,
|
|
757
|
-
c*(1-parseFloat(a[d].spacing)/100*(a[d].endValue-this.viewportMinimum)/(a[d].endValue-a[d].startValue)):c-Math.min(a[d].spacing,0.1*c)*(a[d].endValue-this.viewportMinimum)/(a[d].endValue-a[d].startValue)):this.viewportMinimum<=a[d].startValue&&this.viewportMaximum<a[d].endValue&&(b=b-this.viewportMaximum+a[d].startValue,c=0<a[d].spacing.toString().indexOf("%")?c*(1-parseFloat(a[d].spacing)/100*(this.viewportMaximum-a[d].startValue)/(a[d].endValue-a[d].startValue)):
|
|
758
|
-
a[d].startValue)/(a[d].endValue-a[d].startValue)));f.minimum=this.viewportMinimum;f.maximum=this.viewportMaximum;f.range=b;if("bottom"===this._position||"top"===this._position)this.logarithmic?(f.lnLogarithmBase=Math.log(this.logarithmBase),f.pixelPerUnit=(this.reversed?-1:1)*c*f.lnLogarithmBase/Math.log(Math.abs(b))):f.pixelPerUnit=(this.reversed?-1:1)*c/Math.abs(b),f.reference=this.reversed?this.lineCoordinates.x2:this.lineCoordinates.x1;if("left"===
|
|
759
|
-
(f.lnLogarithmBase=Math.log(this.logarithmBase),f.pixelPerUnit=(this.reversed?1:-1)*c*f.lnLogarithmBase/Math.log(Math.abs(b))):f.pixelPerUnit=(this.reversed?1:-1)*c/Math.abs(b),f.reference=this.reversed?this.lineCoordinates.y1:this.lineCoordinates.y2;this.conversionParameters=f};z.prototype.calculateAxisParameters=function(){if(this.logarithmic)this.calculateLogarithmicAxisParameters();else{var a=this.chart.layoutManager.getFreeSpace(),f=!1,
|
|
760
|
-
a.width,this.maxHeight=a.height):(this.maxWidth=a.height,this.maxHeight=a.width);var a="axisX"===this.type?"xySwapped"===this.chart.plotInfo.axisPlacement?62:70:"xySwapped"===this.chart.plotInfo.axisPlacement?50:40,b=4;"axisX"===this.type&&(b=600>this.maxWidth?8:6);var a=Math.max(b,Math.floor(this.maxWidth/a)),d,h,l,b=0;!e(this.options.viewportMinimum)&&(!e(this.options.viewportMaximum)&&this.options.viewportMinimum>=this.options.viewportMaximum)&&
|
|
761
|
-
if(e(this.options.viewportMinimum)&&!e(this.sessionVariables.newViewportMinimum)&&!isNaN(this.sessionVariables.newViewportMinimum))this.viewportMinimum=this.sessionVariables.newViewportMinimum;else if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=this.minimum;if(e(this.options.viewportMaximum)&&!e(this.sessionVariables.newViewportMaximum)&&!isNaN(this.sessionVariables.newViewportMaximum))this.viewportMaximum=this.sessionVariables.newViewportMaximum;
|
|
762
|
-
isNaN(this.viewportMaximum))this.viewportMaximum=this.maximum;if(this.scaleBreaks)for(b=0;b<this.scaleBreaks._appliedBreaks.length;b++)if((!e(this.sessionVariables.newViewportMinimum)&&this.sessionVariables.newViewportMinimum>=this.scaleBreaks._appliedBreaks[b].startValue||!e(this.options.minimum)&&this.options.minimum>=this.scaleBreaks._appliedBreaks[b].startValue||!e(this.options.viewportMinimum)&&this.viewportMinimum>=this.scaleBreaks._appliedBreaks[b].startValue)&&
|
|
763
|
-
this.sessionVariables.newViewportMaximum<=this.scaleBreaks._appliedBreaks[b].endValue||!e(this.options.maximum)&&this.options.maximum<=this.scaleBreaks._appliedBreaks[b].endValue||!e(this.options.viewportMaximum)&&this.viewportMaximum<=this.scaleBreaks._appliedBreaks[b].endValue)){this.scaleBreaks._appliedBreaks.splice(b,1);break}if("axisX"===this.type){if(this.dataSeries&&0<this.dataSeries.length)for(d=0;d<this.dataSeries.length;d++)"dateTime"===this.dataSeries[d].xValueType&&
|
|
764
|
-
this.viewportMinimum:this.dataInfo.viewPortMin;h=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax;0===h-d&&(b="undefined"===typeof this.options.interval?0.4:this.options.interval,h+=b,d-=b);Infinity!==this.dataInfo.minDiff?l=this.dataInfo.minDiff:1<h-d?l=0.5*Math.abs(h-d):(l=1,c&&(f=!0))}else"axisY"===this.type&&(d=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,h=null!==this.viewportMaximum?this.viewportMaximum:
|
|
765
|
-
isFinite(h)?isFinite(d)?isFinite(h)||(h=d):d=h:(h="undefined"===typeof this.options.interval?-Infinity:this.options.interval,d="undefined"!==typeof this.options.interval||isFinite(this.dataInfo.minDiff)?0:Infinity),0===d&&0===h?(h+=9,d=0):0===h-d?(b=Math.min(Math.abs(0.01*Math.abs(h)),5),h+=b,d-=b):d>h?(b=Math.min(0.01*Math.abs(this.getApparentDifference(h,d,null,!0)),5),0<=h?d=h-b:h=isFinite(d)?d+b:0):(b=Math.min(0.01*Math.abs(this.getApparentDifference(d,h,
|
|
766
|
-
b)),l=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<h-d?0.5*Math.abs(h-d):1,this.includeZero&&(null===this.viewportMinimum||isNaN(this.viewportMinimum))&&0<d&&(d=0),this.includeZero&&(null===this.viewportMaximum||isNaN(this.viewportMaximum))&&0>h&&(h=0));b=this.getApparentDifference(isNaN(this.viewportMinimum)||null===this.viewportMinimum?d:this.viewportMinimum,isNaN(this.viewportMaximum)||null===this.viewportMaximum?h:this.viewportMaximum,null
|
|
767
|
-
"dateTime";this.intervalType||(b/1<=a?(this.interval=1,this.intervalType="millisecond"):b/2<=a?(this.interval=2,this.intervalType="millisecond"):b/5<=a?(this.interval=5,this.intervalType="millisecond"):b/10<=a?(this.interval=10,this.intervalType="millisecond"):b/20<=a?(this.interval=20,this.intervalType="millisecond"):b/50<=a?(this.interval=50,this.intervalType="millisecond"):b/100<=a?(this.interval=100,this.intervalType="millisecond"):b/200<=a?(this.interval=
|
|
768
|
-
b/250<=a?(this.interval=250,this.intervalType="millisecond"):b/300<=a?(this.interval=300,this.intervalType="millisecond"):b/400<=a?(this.interval=400,this.intervalType="millisecond"):b/500<=a?(this.interval=500,this.intervalType="millisecond"):b/(1*ba.secondDuration)<=a?(this.interval=1,this.intervalType="second"):b/(2*ba.secondDuration)<=a?(this.interval=2,this.intervalType="second"):b/(5*ba.secondDuration)<=a?(this.interval=5,this.intervalType="second"):b/(10*
|
|
769
|
-
10,this.intervalType="second"):b/(15*ba.secondDuration)<=a?(this.interval=15,this.intervalType="second"):b/(20*ba.secondDuration)<=a?(this.interval=20,this.intervalType="second"):b/(30*ba.secondDuration)<=a?(this.interval=30,this.intervalType="second"):b/(1*ba.minuteDuration)<=a?(this.interval=1,this.intervalType="minute"):b/(2*ba.minuteDuration)<=a?(this.interval=2,this.intervalType="minute"):b/(5*ba.minuteDuration)<=a?(this.interval=5,this.intervalType="minute"):
|
|
770
|
-
10,this.intervalType="minute"):b/(15*ba.minuteDuration)<=a?(this.interval=15,this.intervalType="minute"):b/(20*ba.minuteDuration)<=a?(this.interval=20,this.intervalType="minute"):b/(30*ba.minuteDuration)<=a?(this.interval=30,this.intervalType="minute"):b/(1*ba.hourDuration)<=a?(this.interval=1,this.intervalType="hour"):b/(2*ba.hourDuration)<=a?(this.interval=2,this.intervalType="hour"):b/(3*ba.hourDuration)<=a?(this.interval=3,this.intervalType="hour"):b/
|
|
771
|
-
"hour"):b/(1*ba.dayDuration)<=a?(this.interval=1,this.intervalType="day"):b/(2*ba.dayDuration)<=a?(this.interval=2,this.intervalType="day"):b/(4*ba.dayDuration)<=a?(this.interval=4,this.intervalType="day"):b/(1*ba.weekDuration)<=a?(this.interval=1,this.intervalType="week"):b/(2*ba.weekDuration)<=a?(this.interval=2,this.intervalType="week"):b/(3*ba.weekDuration)<=a?(this.interval=3,this.intervalType="week"):b/(1*ba.monthDuration)<=a?(this.interval=
|
|
772
|
-
a?(this.interval=2,this.intervalType="month"):b/(3*ba.monthDuration)<=a?(this.interval=3,this.intervalType="month"):b/(6*ba.monthDuration)<=a?(this.interval=6,this.intervalType="month"):(this.interval=b/(1*ba.yearDuration)<=a?1:b/(2*ba.yearDuration)<=a?2:b/(4*ba.yearDuration)<=a?4:Math.floor(z.getNiceNumber(b/(a-1),!0)/ba.yearDuration),this.intervalType="year"));if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=d-
|
|
773
|
-
h+l/2;f?this.autoValueFormatString="MMM DD YYYY HH:mm":"year"===this.intervalType?this.autoValueFormatString="YYYY":"month"===this.intervalType?this.autoValueFormatString="MMM YYYY":"week"===this.intervalType?this.autoValueFormatString="MMM DD YYYY":"day"===this.intervalType?this.autoValueFormatString="MMM DD YYYY":"hour"===this.intervalType?this.autoValueFormatString="hh:mm TT":"minute"===this.intervalType?this.autoValueFormatString=
|
|
774
|
-
"hh:mm:ss TT":"millisecond"===this.intervalType&&(this.autoValueFormatString="fff'ms'");this.valueFormatString||(this.valueFormatString=this.autoValueFormatString)}else{this.intervalType="number";b=z.getNiceNumber(b,!1);this.interval=this.options&&0<this.options.interval?this.options.interval:z.getNiceNumber(b/(a-1),!0);if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum="axisX"===this.type?d-l/2:Math.floor(d/
|
|
775
|
-
isNaN(this.viewportMaximum))this.viewportMaximum="axisX"===this.type?h+l/2:Math.ceil(h/this.interval)*this.interval;0===this.viewportMaximum&&0===this.viewportMinimum&&(0===this.options.viewportMinimum?this.viewportMaximum+=10:0===this.options.viewportMaximum&&(this.viewportMinimum-=10),this.options&&"undefined"===typeof this.options.interval&&(this.interval=z.getNiceNumber((this.viewportMaximum-this.viewportMinimum)/(a-1),!0)))}if(null===
|
|
776
|
-
null!==this.minimum?this.minimum:this.dataInfo.min,h=null!==this.maximum?this.maximum:this.dataInfo.max,0===h-d&&(b="undefined"===typeof this.options.interval?0.4:this.options.interval,h+=b,d-=b),l=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<h-d?0.5*Math.abs(h-d):1):"axisY"===this.type&&(d=null!==this.minimum?this.minimum:this.dataInfo.min,h=null!==this.maximum?this.maximum:this.dataInfo.max,isFinite(d)||isFinite(h)?0===d&&0===
|
|
777
|
-
5),h+=b,d-=b):d>h?(b=Math.min(0.01*Math.abs(this.getApparentDifference(h,d,null,!0)),5),0<=h?d=h-b:h=isFinite(d)?d+b:0):(b=Math.min(0.01*Math.abs(this.getApparentDifference(d,h,null,!0)),0.05),0!==h&&(h+=b),0!==d&&(d-=b)):(h="undefined"===typeof this.options.interval?-Infinity:this.options.interval,d="undefined"!==typeof this.options.interval||isFinite(this.dataInfo.minDiff)?0:Infinity),l=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:
|
|
778
|
-
isNaN(this.minimum))&&0<d&&(d=0),this.includeZero&&(null===this.maximum||isNaN(this.maximum))&&0>h&&(h=0)),Math.abs(this.getApparentDifference(d,h,null,!0)),"axisX"===this.type&&c){this.valueType="dateTime";if(null===this.minimum||isNaN(this.minimum))this.minimum=d-l/2,this.minimum=Math.min(this.minimum,null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?Infinity:this.sessionVariables.viewportMinimum);
|
|
779
|
-
h+l/2,this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?-Infinity:this.sessionVariables.viewportMaximum)}else this.intervalType=this.valueType="number",null===this.minimum&&(this.minimum="axisX"===this.type?d-l/2:Math.floor(d/this.interval)*this.interval,this.minimum=Math.min(this.minimum,null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?
|
|
780
|
-
null===this.maximum&&(this.maximum="axisX"===this.type?h+l/2:Math.ceil(h/this.interval)*this.interval,this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?-Infinity:this.sessionVariables.viewportMaximum)),0===this.maximum&&0===this.minimum&&(0===this.options.minimum?this.maximum+=10:0===this.options.maximum&&(this.minimum-=10));e(this.sessionVariables.newViewportMinimum)&&(this.viewportMinimum=
|
|
781
|
-
e(this.sessionVariables.newViewportMaximum)&&(this.viewportMaximum=Math.min(this.viewportMaximum,this.maximum));this.range=this.viewportMaximum-this.viewportMinimum;this.intervalStartPosition="axisX"===this.type&&c?this.getLabelStartPoint(new Date(this.viewportMinimum),this.intervalType,this.interval):Math.floor((this.viewportMinimum+0.2*this.interval)/this.interval)*this.interval;this.valueFormatString||(this.valueFormatString=z.generateValueFormatString(this.range,
|
|
782
|
-
function(){var a=this.chart.layoutManager.getFreeSpace(),d=Math.log(this.logarithmBase),c;"bottom"===this._position||"top"===this._position?(this.maxWidth=a.width,this.maxHeight=a.height):(this.maxWidth=a.height,this.maxHeight=a.width);var a="axisX"===this.type?500>this.maxWidth?7:Math.max(7,Math.floor(this.maxWidth/100)):Math.max(Math.floor(this.maxWidth/50),3),b,g,h,l;l=1;if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=
|
|
783
|
-
isNaN(this.viewportMaximum))this.viewportMaximum=this.maximum;if(this.scaleBreaks)for(l=0;l<this.scaleBreaks._appliedBreaks.length;l++)if((!e(this.sessionVariables.newViewportMinimum)&&this.sessionVariables.newViewportMinimum>=this.scaleBreaks._appliedBreaks[l].startValue||!e(this.options.minimum)&&this.options.minimum>=this.scaleBreaks._appliedBreaks[l].startValue||!e(this.options.viewportMinimum)&&this.viewportMinimum>=this.scaleBreaks._appliedBreaks[l].startValue)&&
|
|
784
|
-
this.sessionVariables.newViewportMaximum<=this.scaleBreaks._appliedBreaks[l].endValue||!e(this.options.maximum)&&this.options.maximum<=this.scaleBreaks._appliedBreaks[l].endValue||!e(this.options.viewportMaximum)&&this.viewportMaximum<=this.scaleBreaks._appliedBreaks[l].endValue)){this.scaleBreaks._appliedBreaks.splice(l,1);break}"axisX"===this.type?(b=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,g=null!==this.viewportMaximum?
|
|
785
|
-
1===g/b&&(l=Math.pow(this.logarithmBase,"undefined"===typeof this.options.interval?0.4:this.options.interval),g*=l,b/=l),h=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:g/b>this.logarithmBase?g/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase):"axisY"===this.type&&(b=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,g=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,0>=b&&!isFinite(g)?(g=
|
|
786
|
-
this.options.interval,b=1):0>=b?b=g:isFinite(g)||(g=b),1===b&&1===g?(g*=this.logarithmBase-1/this.logarithmBase,b=1):1===g/b?(l=Math.min(g*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,5)),g*=l,b/=l):b>g?(l=Math.min(b/g*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,5)),1<=g?b=g/l:g=b*l):(l=Math.min(g/b*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,0.04)),1!==g&&(g*=l),1!==b&&(b/=l)),h=Infinity!==this.dataInfo.minDiff?
|
|
787
|
-
g/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase,this.includeZero&&(null===this.viewportMinimum||isNaN(this.viewportMinimum))&&1<b&&(b=1),this.includeZero&&(null===this.viewportMaximum||isNaN(this.viewportMaximum))&&1>g&&(g=1));l=(isNaN(this.viewportMaximum)||null===this.viewportMaximum?g:this.viewportMaximum)/(isNaN(this.viewportMinimum)||null===this.viewportMinimum?b:this.viewportMinimum);var v=(isNaN(this.viewportMaximum)||null===this.viewportMaximum?
|
|
788
|
-
null===this.viewportMinimum?b:this.viewportMinimum);this.intervalType="number";l=Math.pow(this.logarithmBase,z.getNiceNumber(Math.abs(Math.log(l)/d),!1));this.options&&0<this.options.interval?this.interval=this.options.interval:(this.interval=z.getNiceExponent(Math.log(l)/d/(a-1),!0),c=z.getNiceNumber(v/(a-1),!0));if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum="axisX"===this.type?b/Math.sqrt(h):Math.pow(this.logarithmBase,
|
|
789
|
-
if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum="axisX"===this.type?g*Math.sqrt(h):Math.pow(this.logarithmBase,this.interval*Math.ceil(Math.log(g)/d/this.interval));1===this.viewportMaximum&&1===this.viewportMinimum&&(1===this.options.viewportMinimum?this.viewportMaximum*=this.logarithmBase-1/this.logarithmBase:1===this.options.viewportMaximum&&(this.viewportMinimum/=this.logarithmBase-1/this.logarithmBase),this.options&&
|
|
790
|
-
(this.interval=z.getNiceExponent(Math.ceil(Math.log(l)/d)/(a-1)),c=z.getNiceNumber((this.viewportMaximum-this.viewportMinimum)/(a-1),!0)));if(null===this.minimum||null===this.maximum)"axisX"===this.type?(b=null!==this.minimum?this.minimum:this.dataInfo.min,g=null!==this.maximum?this.maximum:this.dataInfo.max,1===g/b&&(l=Math.pow(this.logarithmBase,"undefined"===typeof this.options.interval?0.4:this.options.interval),g*=l,b/=l),h=Infinity!==this.dataInfo.minDiff?
|
|
791
|
-
g/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase):"axisY"===this.type&&(b=null!==this.minimum?this.minimum:this.dataInfo.min,g=null!==this.maximum?this.maximum:this.dataInfo.max,isFinite(b)||isFinite(g)?1===b&&1===g?(g*=this.logarithmBase,b/=this.logarithmBase):1===g/b?(l=Math.pow(this.logarithmBase,this.interval),g*=l,b/=l):b>g?(l=Math.min(0.01*(b/g),5),1<=g?b=g/l:g=b*l):(l=Math.min(g/b*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,
|
|
792
|
-
typeof this.options.interval?0:this.options.interval,b=1),h=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:g/b>this.logarithmBase?g/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase,this.includeZero&&(null===this.minimum||isNaN(this.minimum))&&1<b&&(b=1),this.includeZero&&(null===this.maximum||isNaN(this.maximum))&&1>g&&(g=1)),this.intervalType="number",null===this.minimum&&(this.minimum="axisX"===this.type?b/Math.sqrt(h):Math.pow(this.logarithmBase,
|
|
793
|
-
d/this.interval)),e(null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?"undefined"===typeof this.sessionVariables.newViewportMinimum?Infinity:this.sessionVariables.newViewportMinimum:this.sessionVariables.viewportMinimum)||(this.minimum=Math.min(this.minimum,null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?"undefined"===typeof this.sessionVariables.newViewportMinimum?Infinity:this.sessionVariables.newViewportMinimum:
|
|
562
|
+
markerBorderColor:s,markerBorderThickness:w};(t.showInLegend||p.showInLegend&&!1!==t.showInLegend)&&v.push(q)}}!0===this.reversed&&v.reverse();if(0<v.length){p=null;k=t=u=0;t=null!==this.itemWidth?null!==this.itemMaxWidth?Math.min(this.itemWidth,this.itemMaxWidth,h):this.itemMaxWidth=Math.min(this.itemWidth,h):null!==this.itemMaxWidth?Math.min(this.itemMaxWidth,h):this.itemMaxWidth=h;x=0===x?0.75*this.lineHeight:x;t=(this.itemMaxWidth?this.itemMaxWidth:t)-(x+l);for(n=0;n<v.length;n++){q=v[n];r=t;
|
|
563
|
+
if("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType)r-=2*0.1*this.lineHeight;if(!(0>=d||"undefined"===typeof d||0>=r||"undefined"===typeof r))if("horizontal"===this.orientation){q.textBlock=new na(this.ctx,{x:0,y:0,maxWidth:r,maxHeight:this.itemWrap?d:this.lineHeight,angle:0,text:q.text,horizontalAlign:"left",fontSize:this.fontSize,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontColor:this.fontColor,fontStyle:this.fontStyle,textBaseline:"middle"});q.textBlock.measureText();
|
|
564
|
+
null!==this.itemWidth&&(q.textBlock.width=this.itemWidth-(x+l+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0)));if(!p||p.width+Math.round(q.textBlock.width+x+l+(0===p.width?0:this.horizontalSpacing)+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0))>h)p={items:[],width:0},m.push(p),this.height+=k,k=0;k=Math.max(k,q.textBlock.height?q.textBlock.height:this.lineHeight);q.textBlock.x=p.width;q.textBlock.y=
|
|
565
|
+
0;p.width+=Math.round(q.textBlock.width+x+l+(0===p.width?0:this.horizontalSpacing)+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0));p.items.push(q);this.width=Math.max(p.width,this.width)}else q.textBlock=new na(this.ctx,{x:0,y:0,maxWidth:t,maxHeight:!0===this.itemWrap?d:1.5*this.fontSize,angle:0,text:q.text,horizontalAlign:"left",fontSize:this.fontSize,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontColor:this.fontColor,fontStyle:this.fontStyle,
|
|
566
|
+
textBaseline:"middle"}),q.textBlock.measureText(),null!==this.itemWidth&&(q.textBlock.width=this.itemWidth-(x+l+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0))),this.height<d-this.lineHeight?(p={items:[],width:0},m.push(p)):(p=m[u],u=(u+1)%m.length),p&&(this.height+=q.textBlock.height?q.textBlock.height:this.lineHeight,q.textBlock.x=p.width,q.textBlock.y=0,p.width+=Math.round(q.textBlock.width+x+l+(0===p.width?0:this.horizontalSpacing)+("line"===q.chartType||
|
|
567
|
+
"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0)),p.items.push(q),this.width=Math.max(p.width,this.width))}this.height=!1===this.itemWrap?m.length*this.lineHeight:this.height+k;this.height=Math.min(d,this.height);this.width=Math.min(h,this.width)}"top"===this.verticalAlign?(g="left"===this.horizontalAlign?f.x1:"right"===this.horizontalAlign?f.x2-this.width:f.x1+f.width/2-this.width/2,b=f.y1):"center"===this.verticalAlign?(g="left"===this.horizontalAlign?f.x1:"right"===this.horizontalAlign?
|
|
568
|
+
f.x2-this.width:f.x1+f.width/2-this.width/2,b=f.y1+f.height/2-this.height/2):"bottom"===this.verticalAlign&&(g="left"===this.horizontalAlign?f.x1:"right"===this.horizontalAlign?f.x2-this.width:f.x1+f.width/2-this.width/2,b=f.y2-this.height);this.items=v;for(n=0;n<this.items.length;n++)q=v[n],q.id=++this.chart._eventManager.lastObjectId,this.chart._eventManager.objectMap[q.id]={id:q.id,objectType:"legendItem",legendItemIndex:n,dataSeriesIndex:q.dataSeriesIndex,dataPointIndex:q.dataPointIndex};this.markerSize=
|
|
569
|
+
x;this.rows=m;0<v.length&&a.layoutManager.registerSpace(c,{width:this.width+2+2,height:this.height+5+5});this.bounds={x1:g,y1:b,x2:g+this.width,y2:b+this.height}};J.prototype.render=function(){var a=this.bounds.x1,f=this.bounds.y1,c=this.markerMargin,b=this.maxWidth,g=this.maxHeight,h=this.markerSize,d=this.rows;(0<this.borderThickness&&this.borderColor||this.backgroundColor)&&this.ctx.roundRect(a,f,this.width,this.height,this.cornerRadius,this.borderThickness,this.backgroundColor,this.borderColor);
|
|
570
|
+
for(var e=0,l=0;l<d.length;l++){for(var m=d[l],n=0,p=0;p<m.items.length;p++){var q=m.items[p],k=q.textBlock.x+a+(0===p?0.2*h:this.horizontalSpacing),r=f+e,v=k;this.chart.data[q.dataSeriesIndex].visible||(this.ctx.globalAlpha=0.5);this.ctx.save();this.ctx.beginPath();this.ctx.rect(a,f,b,Math.max(g-g%this.lineHeight,0));this.ctx.clip();if("line"===q.chartType||"stepLine"===q.chartType||"spline"===q.chartType)this.ctx.strokeStyle=q.lineColor,this.ctx.lineWidth=Math.ceil(this.lineHeight/8),this.ctx.beginPath(),
|
|
571
|
+
this.ctx.moveTo(k-0.1*this.lineHeight,r+this.lineHeight/2),this.ctx.lineTo(k+0.85*this.lineHeight,r+this.lineHeight/2),this.ctx.stroke(),v-=0.1*this.lineHeight;if("error"===q.chartType){this.ctx.strokeStyle=this.errorMarkerColor[0];this.ctx.lineWidth=h/8;this.ctx.beginPath();var x=k-0.08*this.lineHeight+0.1*this.lineHeight,w=r+0.15*this.lineHeight,u=0.7*this.lineHeight,t=u+0.02*this.lineHeight;this.ctx.moveTo(x,w);this.ctx.lineTo(x+u,w);this.ctx.stroke();this.ctx.beginPath();this.ctx.moveTo(x+u/2,
|
|
572
|
+
w);this.ctx.lineTo(x+u/2,w+t);this.ctx.stroke();this.ctx.beginPath();this.ctx.moveTo(x,w+t);this.ctx.lineTo(x+u,w+t);this.ctx.stroke();this.errorMarkerColor.shift()}s.drawMarker(k+h/2,r+this.lineHeight/2,this.ctx,q.markerType,"error"===q.chartType||"line"===q.chartType||"spline"===q.chartType?q.markerSize/2:q.markerSize,q.markerColor,q.markerBorderColor,q.markerBorderThickness);q.textBlock.x=k+c+h;if("line"===q.chartType||"stepLine"===q.chartType||"spline"===q.chartType)q.textBlock.x+=0.1*this.lineHeight;
|
|
573
|
+
q.textBlock.y=Math.round(r+this.lineHeight/2);q.textBlock.render(!0);this.ctx.restore();n=0<p?Math.max(n,q.textBlock.height?q.textBlock.height:this.lineHeight):q.textBlock.height?q.textBlock.height:this.lineHeight;this.chart.data[q.dataSeriesIndex].visible||(this.ctx.globalAlpha=1);k=W(q.id);this.ghostCtx.fillStyle=k;this.ghostCtx.beginPath();this.ghostCtx.fillRect(v,q.textBlock.y-this.lineHeight/2,q.textBlock.x+q.textBlock.width-v,q.textBlock.height?q.textBlock.height:this.lineHeight);q.x1=this.chart._eventManager.objectMap[q.id].x1=
|
|
574
|
+
v;q.y1=this.chart._eventManager.objectMap[q.id].y1=q.textBlock.y-this.lineHeight/2;q.x2=this.chart._eventManager.objectMap[q.id].x2=q.textBlock.x+q.textBlock.width;q.y2=this.chart._eventManager.objectMap[q.id].y2=q.textBlock.y+(q.textBlock.height?q.textBlock.height:this.lineHeight)-this.lineHeight/2}e+=n}};ia(O,aa);O.prototype.getDefaultAxisPlacement=function(){var a=this.type;if("column"===a||"line"===a||"stepLine"===a||"spline"===a||"area"===a||"stepArea"===a||"splineArea"===a||"stackedColumn"===
|
|
575
|
+
a||"stackedLine"===a||"bubble"===a||"scatter"===a||"stackedArea"===a||"stackedColumn100"===a||"stackedLine100"===a||"stackedArea100"===a||"candlestick"===a||"ohlc"===a||"rangeColumn"===a||"rangeArea"===a||"rangeSplineArea"===a||"boxAndWhisker"===a||"waterfall"===a)return"normal";if("bar"===a||"stackedBar"===a||"stackedBar100"===a||"rangeBar"===a)return"xySwapped";if("pie"===a||"doughnut"===a||"funnel"===a||"pyramid"===a)return"none";"error"!==a&&window.console.log("Unknown Chart Type: "+a);return null};
|
|
576
|
+
O.getDefaultLegendMarker=function(a){if("column"===a||"stackedColumn"===a||"stackedLine"===a||"bar"===a||"stackedBar"===a||"stackedBar100"===a||"bubble"===a||"scatter"===a||"stackedColumn100"===a||"stackedLine100"===a||"stepArea"===a||"candlestick"===a||"ohlc"===a||"rangeColumn"===a||"rangeBar"===a||"rangeArea"===a||"rangeSplineArea"===a||"boxAndWhisker"===a||"waterfall"===a)return"square";if("line"===a||"stepLine"===a||"spline"===a||"pie"===a||"doughnut"===a)return"circle";if("area"===a||"splineArea"===
|
|
577
|
+
a||"stackedArea"===a||"stackedArea100"===a||"funnel"===a||"pyramid"===a)return"triangle";if("error"===a)return"none";window.console.log("Unknown Chart Type: "+a);return null};O.prototype.getDataPointAtX=function(a,f){if(!this.dataPoints||0===this.dataPoints.length)return null;var c={dataPoint:null,distance:Infinity,index:NaN},b=null,g=0,h=0,d=1,e=Infinity,l=0,m=0,n=0;"none"!==this.chart.plotInfo.axisPlacement&&(this.axisX.logarithmic?(n=Math.log(this.dataPoints[this.dataPoints.length-1].x/this.dataPoints[0].x),
|
|
578
|
+
n=1<n?Math.min(Math.max((this.dataPoints.length-1)/n*Math.log(a/this.dataPoints[0].x)>>0,0),this.dataPoints.length):0):(n=this.dataPoints[this.dataPoints.length-1].x-this.dataPoints[0].x,n=0<n?Math.min(Math.max((this.dataPoints.length-1)/n*(a-this.dataPoints[0].x)>>0,0),this.dataPoints.length):0));for(;;){h=0<d?n+g:n-g;if(0<=h&&h<this.dataPoints.length){var b=this.dataPoints[h],p=this.axisX.logarithmic?b.x>a?b.x/a:a/b.x:Math.abs(b.x-a);p<c.distance&&(c.dataPoint=b,c.distance=p,c.index=h);b=p;b<=e?
|
|
579
|
+
e=b:0<d?l++:m++;if(1E3<l&&1E3<m)break}else if(0>n-g&&n+g>=this.dataPoints.length)break;-1===d?(g++,d=1):d=-1}return f||(c.dataPoint.x.getTime?c.dataPoint.x.getTime():c.dataPoint.x)!==(a.getTime?a.getTime():a)?f&&null!==c.dataPoint?c:null:c};O.prototype.getDataPointAtXY=function(a,f,c){if(!this.dataPoints||0===this.dataPoints.length||a<this.chart.plotArea.x1||a>this.chart.plotArea.x2||f<this.chart.plotArea.y1||f>this.chart.plotArea.y2)return null;c=c||!1;var b=[],g=0,h=0,d=1,l=!1,v=Infinity,m=0,n=
|
|
580
|
+
0,p=0;if("none"!==this.chart.plotInfo.axisPlacement)if(p=(this.chart.axisX[0]?this.chart.axisX[0]:this.chart.axisX2[0]).getXValueAt({x:a,y:f}),this.axisX.logarithmic)var q=Math.log(this.dataPoints[this.dataPoints.length-1].x/this.dataPoints[0].x),p=1<q?Math.min(Math.max((this.dataPoints.length-1)/q*Math.log(p/this.dataPoints[0].x)>>0,0),this.dataPoints.length):0;else q=this.dataPoints[this.dataPoints.length-1].x-this.dataPoints[0].x,p=0<q?Math.min(Math.max((this.dataPoints.length-1)/q*(p-this.dataPoints[0].x)>>
|
|
581
|
+
0,0),this.dataPoints.length):0;for(;;){h=0<d?p+g:p-g;if(0<=h&&h<this.dataPoints.length){var q=this.chart._eventManager.objectMap[this.dataPointIds[h]],k=this.dataPoints[h],r=null;if(q){switch(this.type){case "column":case "stackedColumn":case "stackedColumn100":case "bar":case "stackedBar":case "stackedBar100":case "rangeColumn":case "rangeBar":case "waterfall":case "error":a>=q.x1&&(a<=q.x2&&f>=q.y1&&f<=q.y2)&&(b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:Math.min(Math.abs(q.x1-
|
|
582
|
+
a),Math.abs(q.x2-a),Math.abs(q.y1-f),Math.abs(q.y2-f))}),l=!0);break;case "line":case "stepLine":case "spline":case "area":case "stepArea":case "stackedArea":case "stackedArea100":case "splineArea":case "scatter":var x=qa("markerSize",k,this)||4,s=c?20:x,r=Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y1-f,2));r<=s&&b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:r});q=Math.abs(q.x1-a);q<=v?v=q:0<d?m++:n++;r<=x/2&&(l=!0);break;case "rangeArea":case "rangeSplineArea":x=qa("markerSize",k,this)||
|
|
583
|
+
4;s=c?20:x;r=Math.min(Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y1-f,2)),Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y2-f,2)));r<=s&&b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:r});q=Math.abs(q.x1-a);q<=v?v=q:0<d?m++:n++;r<=x/2&&(l=!0);break;case "bubble":x=q.size;r=Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y1-f,2));r<=x/2&&(b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:r}),l=!0);break;case "pie":case "doughnut":x=q.center;s="doughnut"===this.type?q.percentInnerRadius*q.radius:
|
|
584
|
+
0;r=Math.sqrt(Math.pow(x.x-a,2)+Math.pow(x.y-f,2));r<q.radius&&r>s&&(r=Math.atan2(f-x.y,a-x.x),0>r&&(r+=2*Math.PI),r=Number(((180*(r/Math.PI)%360+360)%360).toFixed(12)),x=Number(((180*(q.startAngle/Math.PI)%360+360)%360).toFixed(12)),s=Number(((180*(q.endAngle/Math.PI)%360+360)%360).toFixed(12)),0===s&&1<q.endAngle&&(s=360),x>=s&&(0!==k.y&&!e(k.y))&&(s+=360,r<x&&(r+=360)),r>x&&r<s&&(b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:0}),l=!0));break;case "funnel":case "pyramid":r=q.funnelSection;
|
|
585
|
+
f>r.y1&&f<r.y4&&(r.y6?f>r.y6?(h=r.x6+(r.x5-r.x6)/(r.y5-r.y6)*(f-r.y6),r=r.x3+(r.x4-r.x3)/(r.y4-r.y3)*(f-r.y3)):(h=r.x1+(r.x6-r.x1)/(r.y6-r.y1)*(f-r.y1),r=r.x2+(r.x3-r.x2)/(r.y3-r.y2)*(f-r.y2)):(h=r.x1+(r.x4-r.x1)/(r.y4-r.y1)*(f-r.y1),r=r.x2+(r.x3-r.x2)/(r.y3-r.y2)*(f-r.y2)),a>h&&a<r&&(b.push({dataPoint:k,dataPointIndex:q.dataPointIndex,dataSeries:this,distance:0}),l=!0));break;case "boxAndWhisker":if(a>=q.x1-q.borderThickness/2&&a<=q.x2+q.borderThickness/2&&f>=q.y4-q.borderThickness/2&&f<=q.y1+q.borderThickness/
|
|
586
|
+
2||Math.abs(q.x2-a+q.x1-a)<q.borderThickness&&f>=q.y1&&f<=q.y4)b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:Math.min(Math.abs(q.x1-a),Math.abs(q.x2-a),Math.abs(q.y2-f),Math.abs(q.y3-f))}),l=!0;break;case "candlestick":if(a>=q.x1-q.borderThickness/2&&a<=q.x2+q.borderThickness/2&&f>=q.y2-q.borderThickness/2&&f<=q.y3+q.borderThickness/2||Math.abs(q.x2-a+q.x1-a)<q.borderThickness&&f>=q.y1&&f<=q.y4)b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:Math.min(Math.abs(q.x1-a),
|
|
587
|
+
Math.abs(q.x2-a),Math.abs(q.y2-f),Math.abs(q.y3-f))}),l=!0;break;case "ohlc":if(Math.abs(q.x2-a+q.x1-a)<q.borderThickness&&f>=q.y2&&f<=q.y3||a>=q.x1&&a<=(q.x2+q.x1)/2&&f>=q.y1-q.borderThickness/2&&f<=q.y1+q.borderThickness/2||a>=(q.x1+q.x2)/2&&a<=q.x2&&f>=q.y4-q.borderThickness/2&&f<=q.y4+q.borderThickness/2)b.push({dataPoint:k,dataPointIndex:h,dataSeries:this,distance:Math.min(Math.abs(q.x1-a),Math.abs(q.x2-a),Math.abs(q.y2-f),Math.abs(q.y3-f))}),l=!0}if(l||1E3<m&&1E3<n)break}}else if(0>p-g&&p+g>=
|
|
588
|
+
this.dataPoints.length)break;-1===d?(g++,d=1):d=-1}a=null;for(f=0;f<b.length;f++)a?b[f].distance<=a.distance&&(a=b[f]):a=b[f];return a};O.prototype.getMarkerProperties=function(a,f,c,b){var g=this.dataPoints,h=g[a].markerColor?g[a].markerColor:this.markerColor?this.markerColor:g[a].color?g[a].color:this.color?this.color:this._colorSet[a%this._colorSet.length],d=g[a].markerBorderColor?g[a].markerBorderColor:this.markerBorderColor?this.markerBorderColor:null,l=e(g[a].markerBorderThickness)?this.markerBorderThickness?
|
|
589
|
+
this.markerBorderThickness:null:g[a].markerBorderThickness,v=g[a].markerType?g[a].markerType:this.markerType;a=e(g[a].markerSize)?this.markerSize:g[a].markerSize;return{x:f,y:c,ctx:b,type:v,size:a,color:h,borderColor:d,borderThickness:l}};ia(z,aa);z.prototype.createExtraLabelsForLog=function(a){a=(a||0)+1;if(!(5<a)){var f=this.logLabelValues[0]||this.intervalStartPosition;if(Math.log(this.range)/Math.log(f/this.viewportMinimum)<this.noTicks-1){for(var c=z.getNiceNumber((f-this.viewportMinimum)/Math.min(Math.max(2,
|
|
590
|
+
this.noTicks-this.logLabelValues.length),3),!0),b=Math.ceil(this.viewportMinimum/c)*c;b<f;b+=c)b<this.viewportMinimum||this.logLabelValues.push(b);this.logLabelValues.sort(Xa);this.createExtraLabelsForLog(a)}}};z.prototype.createLabels=function(){var a,f,c=0,b=0,g,h=0,d=0,b=0,b=this.interval,l=0,v,m=0.6*this.chart.height,n;a=!1;var p=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],q=p.length?e(this.scaleBreaks.firstBreakIndex)?0:this.scaleBreaks.firstBreakIndex:0;if("axisX"!==this.type||"dateTime"!==
|
|
591
|
+
this.valueType||this.logarithmic){g=this.viewportMaximum;if(this.labels){a=Math.ceil(b);for(var b=Math.ceil(this.intervalStartPosition),k=!1,c=b;c<this.viewportMaximum;c+=a)if(this.labels[c])k=!0;else{k=!1;break}k&&(this.interval=a,this.intervalStartPosition=b)}if(this.logarithmic&&!this.equidistantInterval)for(this.logLabelValues||(this.logLabelValues=[],this.createExtraLabelsForLog()),b=0,k=q;b<this.logLabelValues.length;b++)if(c=this.logLabelValues[b],c<this.viewportMinimum)b++;else{for(;k<p.length&&
|
|
592
|
+
c>p[k].endValue;k++);a=k<p.length&&c>=p[k].startValue&&c<=p[k].endValue;n=c;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:n,label:this.labels[n]?this.labels[n]:null}):"axisX"===this.type&&this.labels[n]?this.labels[n]:ca(n,this.valueFormatString,this.chart._cultureInfo),a=new na(this.ctx,{x:0,y:0,maxWidth:h,maxHeight:d,angle:this.labelAngle,text:this.prefix+a+this.suffix,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,cornerRadius:this.labelCornerRadius,
|
|
593
|
+
textAlign:this.labelTextAlign,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle",borderThickness:0}),this._labels.push({position:n,textBlock:a,effectiveHeight:null}))}k=q;for(c=this.intervalStartPosition;c<=g;c=parseFloat(1E-12>this.interval?this.logarithmic&&this.equidistantInterval?c*Math.pow(this.logarithmBase,this.interval):c+this.interval:(this.logarithmic&&this.equidistantInterval?
|
|
594
|
+
c*Math.pow(this.logarithmBase,this.interval):c+this.interval).toFixed(12))){for(;k<p.length&&c>p[k].endValue;k++);a=k<p.length&&c>=p[k].startValue&&c<=p[k].endValue;n=c;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:n,label:this.labels[n]?this.labels[n]:null}):"axisX"===this.type&&this.labels[n]?this.labels[n]:ca(n,this.valueFormatString,this.chart._cultureInfo),a=new na(this.ctx,{x:0,y:0,maxWidth:h,maxHeight:d,angle:this.labelAngle,text:this.prefix+a+this.suffix,
|
|
595
|
+
textAlign:this.labelTextAlign,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,borderThickness:this.labelBorderThickness,cornerRadius:this.labelCornerRadius,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle"}),this._labels.push({position:n,textBlock:a,effectiveHeight:null}))}}else for(this.intervalStartPosition=this.getLabelStartPoint(new Date(this.viewportMinimum),
|
|
596
|
+
this.intervalType,this.interval),g=cb(new Date(this.viewportMaximum),this.interval,this.intervalType),k=q,c=this.intervalStartPosition;c<g;cb(c,b,this.intervalType)){for(a=c.getTime();k<p.length&&a>p[k].endValue;k++);n=a;a=k<p.length&&a>=p[k].startValue&&a<=p[k].endValue;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:new Date(n),label:this.labels[n]?this.labels[n]:null}):"axisX"===this.type&&this.labels[n]?this.labels[n]:ga(n,this.valueFormatString,this.chart._cultureInfo),
|
|
597
|
+
a=new na(this.ctx,{x:0,y:0,maxWidth:h,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,borderThickness:this.labelBorderThickness,cornerRadius:this.labelCornerRadius,maxHeight:d,angle:this.labelAngle,text:this.prefix+a+this.suffix,textAlign:this.labelTextAlign,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle"}),this._labels.push({position:n,textBlock:a,
|
|
598
|
+
effectiveHeight:null,breaksLabelType:void 0}))}if("bottom"===this._position||"top"===this._position)l=this.logarithmic&&!this.equidistantInterval&&2<=this._labels.length?this.lineCoordinates.width*Math.log(Math.min(this._labels[this._labels.length-1].position/this._labels[this._labels.length-2].position,this._labels[1].position/this._labels[0].position))/Math.log(this.range):this.lineCoordinates.width/(this.logarithmic&&this.equidistantInterval?Math.log(this.range)/Math.log(this.logarithmBase):Math.abs(this.range))*
|
|
599
|
+
ba[this.intervalType+"Duration"]*this.interval,h="undefined"===typeof this.options.labelMaxWidth?0.5*this.chart.width>>0:this.options.labelMaxWidth,this.chart.panEnabled||(d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.8*this.chart.height>>0:1.5*this.labelFontSize);else if("left"===this._position||"right"===this._position)l=this.logarithmic&&!this.equidistantInterval&&2<=this._labels.length?this.lineCoordinates.height*Math.log(Math.min(this._labels[this._labels.length-1].position/
|
|
600
|
+
this._labels[this._labels.length-2].position,this._labels[1].position/this._labels[0].position))/Math.log(this.range):this.lineCoordinates.height/(this.logarithmic&&this.equidistantInterval?Math.log(this.range)/Math.log(this.logarithmBase):Math.abs(this.range))*ba[this.intervalType+"Duration"]*this.interval,this.chart.panEnabled||(h="undefined"===typeof this.options.labelMaxWidth?0.3*this.chart.width>>0:this.options.labelMaxWidth),d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.3*
|
|
601
|
+
this.chart.height>>0:1.5*this.labelFontSize;for(b=0;b<this._labels.length;b++){a=this._labels[b].textBlock;a.maxWidth=h;a.maxHeight=d;var r=a.measureText();v=r.height}g=[];q=p=0;if(this.labelAutoFit||this.options.labelAutoFit)if(e(this.labelAngle)||(this.labelAngle=(this.labelAngle%360+360)%360,90<this.labelAngle&&270>this.labelAngle?this.labelAngle-=180:270<=this.labelAngle&&360>=this.labelAngle&&(this.labelAngle-=360)),"bottom"===this._position||"top"===this._position)if(h=0.9*l>>0,q=0,!this.chart.panEnabled&&
|
|
602
|
+
1<=this._labels.length){this.sessionVariables.labelFontSize=this.labelFontSize;this.sessionVariables.labelMaxWidth=h;this.sessionVariables.labelMaxHeight=d;this.sessionVariables.labelAngle=this.labelAngle;this.sessionVariables.labelWrap=this.labelWrap;for(c=0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=this._labels[c].textBlock;for(var x,k=a.text.split(" "),b=0;b<k.length;b++)n=k[b],this.ctx.font=a.fontStyle+" "+a.fontWeight+" "+a.fontSize+"px "+a.fontFamily,n=this.ctx.measureText(n),
|
|
603
|
+
n.width>q&&(x=c,q=n.width)}c=0;for(c=this.intervalStartPosition<this.viewportMinimum?1:0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=this._labels[c].textBlock;r=a.measureText();for(k=c+1;k<this._labels.length;k++)if(!this._labels[k].breaksLabelType){f=this._labels[k].textBlock;f=f.measureText();break}g.push(a.height);this.sessionVariables.labelMaxHeight=Math.max.apply(Math,g);Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.sin(Math.PI/180*Math.abs(this.labelAngle));b=h*Math.sin(Math.PI/
|
|
604
|
+
180*Math.abs(this.labelAngle))+(d-a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));if(e(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&0!==this.options.labelAngle)if(this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:Math.min((b-h*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),b),n=(m-(v+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(-25)))/Math.sin(Math.PI/180*Math.abs(-25)),!e(this.options.labelWrap))this.labelWrap?e(this.options.labelMaxWidth)?
|
|
605
|
+
(this.sessionVariables.labelMaxWidth=Math.min(Math.max(h,q),n),this.sessionVariables.labelWrap=this.labelWrap,f&&r.width+f.width>>0>2*h&&(this.sessionVariables.labelAngle=-25)):(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelAngle=this.sessionVariables.labelMaxWidth>h?-25:this.sessionVariables.labelAngle):e(this.options.labelMaxWidth)?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxHeight=
|
|
606
|
+
d,this.sessionVariables.labelMaxWidth=h,f&&r.width+f.width>>0>2*h&&(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=n)):(this.sessionVariables.labelAngle=this.sessionVariables.labelMaxWidth>h?-25:this.sessionVariables.labelAngle,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelWrap=this.labelWrap);else{if(e(this.options.labelWrap))if(!e(this.options.labelMaxWidth))this.options.labelMaxWidth<h?
|
|
607
|
+
(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=b):(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=d);else if(!e(f))if(b=r.width+f.width>>0,k=this.labelFontSize,q<h)b-2*h>p&&(p=b-2*h,b>=2*h&&b<2.2*h?(this.sessionVariables.labelMaxWidth=h,e(this.options.labelFontSize)&&12<k&&(k=Math.floor(12/13*k),a.measureText()),this.sessionVariables.labelFontSize=e(this.options.labelFontSize)?
|
|
608
|
+
k:this.options.labelFontSize,this.sessionVariables.labelAngle=this.labelAngle):b>=2.2*h&&b<2.8*h?(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=n,this.sessionVariables.labelFontSize=k):b>=2.8*h&&b<3.2*h?(this.sessionVariables.labelMaxWidth=Math.max(h,q),this.sessionVariables.labelWrap=!0,e(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=e(this.options.labelFontSize)?
|
|
609
|
+
k:this.options.labelFontSize,this.sessionVariables.labelAngle=this.labelAngle):b>=3.2*h&&b<3.6*h?(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelMaxWidth=n,this.sessionVariables.labelFontSize=this.labelFontSize):b>3.6*h&&b<5*h?(e(this.options.labelFontSize)&&12<k&&(k=Math.floor(12/13*k),a.measureText()),this.sessionVariables.labelFontSize=e(this.options.labelFontSize)?k:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=
|
|
610
|
+
-25,this.sessionVariables.labelMaxWidth=n):b>5*h&&(this.sessionVariables.labelWrap=!0,this.sessionVariables.labelMaxWidth=h,this.sessionVariables.labelFontSize=k,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelAngle=this.labelAngle));else if(x===c&&(0===x&&q+this._labels[x+1].textBlock.measureText().width-2*h>p||x===this._labels.length-1&&q+this._labels[x-1].textBlock.measureText().width-2*h>p||0<x&&x<this._labels.length-1&&q+this._labels[x+1].textBlock.measureText().width-2*h>p&&
|
|
611
|
+
q+this._labels[x-1].textBlock.measureText().width-2*h>p))p=0===x?q+this._labels[x+1].textBlock.measureText().width-2*h:q+this._labels[x-1].textBlock.measureText().width-2*h,this.sessionVariables.labelFontSize=e(this.options.labelFontSize)?k:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=n;else if(0===p)for(this.sessionVariables.labelFontSize=e(this.options.labelFontSize)?k:this.options.labelFontSize,this.sessionVariables.labelWrap=
|
|
612
|
+
!0,b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.sessionVariables.labelMaxWidth=Math.min(Math.max(h,q),n),r=a.measureText(),b<this._labels.length-1&&(k=b+1,f=this._labels[k].textBlock,f.maxWidth=this.sessionVariables.labelMaxWidth=Math.min(Math.max(h,q),n),f=f.measureText(),r.width+f.width>>0>2*h&&(this.sessionVariables.labelAngle=-25))}else(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:Math.min((b-h*Math.cos(Math.PI/
|
|
613
|
+
180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),b),n=0!=this.labelAngle?(m-(v+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)):h,this.sessionVariables.labelMaxHeight=this.labelWrap?(m-n*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)):1.5*this.labelFontSize,e(this.options.labelWrap))?e(this.options.labelWrap)&&(this.labelWrap&&!e(this.options.labelMaxWidth)?
|
|
614
|
+
(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:n,this.sessionVariables.labelMaxHeight=d):(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxWidth=n,this.sessionVariables.labelMaxHeight=b<0.9*l?0.9*l:b,this.sessionVariables.labelWrap=this.labelWrap)):(this.options.labelWrap?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?
|
|
615
|
+
this.options.labelMaxWidth:n):(e(this.options.labelMaxWidth),this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:n,this.sessionVariables.labelWrap=this.labelWrap),this.sessionVariables.labelMaxHeight=d)}for(b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.labelMaxWidth=this.sessionVariables.labelMaxWidth,a.fontSize=this.sessionVariables.labelFontSize,a.angle=this.labelAngle=this.sessionVariables.labelAngle,a.wrap=this.labelWrap=this.sessionVariables.labelWrap,
|
|
616
|
+
a.maxHeight=this.sessionVariables.labelMaxHeight,a.measureText()}else for(c=0;c<this._labels.length;c++)a=this._labels[c].textBlock,a.maxWidth=this.labelMaxWidth=e(this.options.labelMaxWidth)?e(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=h:this.sessionVariables.labelMaxWidth:this.options.labelMaxWidth,a.fontSize=this.labelFontSize=e(this.options.labelFontSize)?e(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=this.labelFontSize:this.sessionVariables.labelFontSize:
|
|
617
|
+
this.options.labelFontSize,a.angle=this.labelAngle=e(this.options.labelAngle)?e(this.sessionVariables.labelAngle)?this.sessionVariables.labelAngle=this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=e(this.options.labelWrap)?e(this.sessionVariables.labelWrap)?this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:this.options.labelWrap,a.maxHeight=e(this.sessionVariables.labelMaxHeight)?this.sessionVariables.labelMaxHeight=d:this.sessionVariables.labelMaxHeight,
|
|
618
|
+
a.measureText();else if("left"===this._position||"right"===this._position)if(h=e(this.options.labelMaxWidth)?0.3*this.chart.width>>0:this.options.labelMaxWidth,d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.3*this.chart.height>>0:1.5*this.labelFontSize,!this.chart.panEnabled&&1<=this._labels.length){this.sessionVariables.labelFontSize=this.labelFontSize;this.sessionVariables.labelMaxWidth=h;this.sessionVariables.labelMaxHeight=d;this.sessionVariables.labelAngle=e(this.sessionVariables.labelAngle)?
|
|
619
|
+
0:this.sessionVariables.labelAngle;this.sessionVariables.labelWrap=this.labelWrap;for(c=0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=this._labels[c].textBlock;r=a.measureText();for(k=c+1;k<this._labels.length;k++)if(!this._labels[k].breaksLabelType){f=this._labels[k].textBlock;f=f.measureText();break}g.push(a.height);this.sessionVariables.labelMaxHeight=Math.max.apply(Math,g);b=h*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(d-a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));
|
|
620
|
+
Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.sin(Math.PI/180*Math.abs(this.labelAngle));e(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&0!==this.options.labelAngle?e(this.options.labelWrap)?e(this.options.labelWrap)&&(e(this.options.labelMaxWidth)?e(f)||(l=r.height+f.height>>0,l-2*d>q&&(q=l-2*d,l>=2*d&&l<2.4*d?(e(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelFontSize=
|
|
621
|
+
e(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize):l>=2.4*d&&l<2.8*d?(this.sessionVariables.labelMaxHeight=b,this.sessionVariables.labelFontSize=this.labelFontSize,this.sessionVariables.labelWrap=!0):l>=2.8*d&&l<3.2*d?(this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelWrap=!0,e(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=e(this.options.labelFontSize)?
|
|
622
|
+
this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelAngle=e(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):l>=3.2*d&&l<3.6*d?(this.sessionVariables.labelMaxHeight=b,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelFontSize=this.labelFontSize):l>3.6*d&&l<10*d?(e(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=e(this.options.labelFontSize)?
|
|
623
|
+
this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxWidth=h,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelAngle=e(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):l>10*d&&l<50*d&&(e(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=e(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxHeight=
|
|
624
|
+
d,this.sessionVariables.labelMaxWidth=h,this.sessionVariables.labelAngle=e(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle))):(this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth)):(this.sessionVariables.labelMaxWidth=this.labelWrap?this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth:this.labelMaxWidth?this.options.labelMaxWidth?
|
|
625
|
+
this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth:h,this.sessionVariables.labelMaxHeight=d):(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxWidth=0===this.labelAngle?h:Math.min((b-d*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)),d),e(this.options.labelWrap))?e(this.options.labelWrap)&&(this.labelWrap&&!e(this.options.labelMaxWidth)?(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:
|
|
626
|
+
this.sessionVariables.labelMaxWidth,this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxHeight=b):(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:h,this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:b,e(this.options.labelMaxWidth)&&(this.sessionVariables.labelAngle=this.labelAngle))):this.options.labelWrap?(this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:b,this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=
|
|
627
|
+
h):(this.sessionVariables.labelMaxHeight=d,e(this.options.labelMaxWidth),this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth,this.sessionVariables.labelWrap=this.labelWrap)}for(b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.labelMaxWidth=this.sessionVariables.labelMaxWidth,a.fontSize=this.labelFontSize=this.sessionVariables.labelFontSize,a.angle=this.labelAngle=this.sessionVariables.labelAngle,a.wrap=
|
|
628
|
+
this.labelWrap=this.sessionVariables.labelWrap,a.maxHeight=this.sessionVariables.labelMaxHeight,a.measureText()}else for(c=0;c<this._labels.length;c++)a=this._labels[c].textBlock,a.maxWidth=this.labelMaxWidth=e(this.options.labelMaxWidth)?e(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=h:this.sessionVariables.labelMaxWidth:this.options.labelMaxWidth,a.fontSize=this.labelFontSize=e(this.options.labelFontSize)?e(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=
|
|
629
|
+
this.labelFontSize:this.sessionVariables.labelFontSize:this.options.labelFontSize,a.angle=this.labelAngle=e(this.options.labelAngle)?e(this.sessionVariables.labelAngle)?this.sessionVariables.labelAngle=this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=e(this.options.labelWrap)?e(this.sessionVariables.labelWrap)?this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:this.options.labelWrap,a.maxHeight=e(this.sessionVariables.labelMaxHeight)?
|
|
630
|
+
this.sessionVariables.labelMaxHeight=d:this.sessionVariables.labelMaxHeight,a.measureText();for(c=0;c<this.stripLines.length;c++){var h=this.stripLines[c],s;if("outside"===h.labelPlacement){d=this.sessionVariables.labelMaxWidth;if("bottom"===this._position||"top"===this._position)e(h.options.labelWrap)&&!e(this.sessionVariables.stripLineLabelMaxHeight)?s=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=s=h.labelWrap?0.8*this.chart.height>>0:1.5*this.labelFontSize;
|
|
631
|
+
if("left"===this._position||"right"===this._position)e(h.options.labelWrap)&&!e(this.sessionVariables.stripLineLabelMaxHeight)?s=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=s=h.labelWrap?0.8*this.chart.width>>0:1.5*this.labelFontSize;e(h.labelBackgroundColor)&&(h.labelBackgroundColor="#EEEEEE")}else d="bottom"===this._position||"top"===this._position?0.9*this.chart.width>>0:0.9*this.chart.height>>0,s=e(h.options.labelWrap)||h.labelWrap?"bottom"===this._position||
|
|
632
|
+
"top"===this._position?0.8*this.chart.width>>0:0.8*this.chart.height>>0:1.5*this.labelFontSize,e(h.labelBackgroundColor)&&(e(h.startValue)&&0!==h.startValue?h.labelBackgroundColor=u?"transparent":null:h.labelBackgroundColor="#EEEEEE");a=new na(this.ctx,{x:0,y:0,backgroundColor:h.labelBackgroundColor,borderColor:h.labelBorderColor,borderThickness:h.labelBorderThickness,cornerRadius:h.labelCornerRadius,maxWidth:h.options.labelMaxWidth?h.options.labelMaxWidth:d,maxHeight:s,angle:this.labelAngle,text:h.labelFormatter?
|
|
633
|
+
h.labelFormatter({chart:this.chart,axis:this,stripLine:h}):h.label,textAlign:this.labelTextAlign,fontSize:"outside"===h.labelPlacement?h.options.labelFontSize?h.labelFontSize:this.labelFontSize:h.labelFontSize,fontFamily:"outside"===h.labelPlacement?h.options.labelFontFamily?h.labelFontFamily:this.labelFontFamily:h.labelFontFamily,fontWeight:"outside"===h.labelPlacement?h.options.labelFontWeight?h.labelFontWeight:this.labelFontWeight:h.labelFontWeight,fontColor:h.labelFontColor||h.color,fontStyle:"outside"===
|
|
634
|
+
h.labelPlacement?h.options.labelFontStyle?h.labelFontStyle:this.fontWeight:h.labelFontStyle,textBaseline:"middle"});this._stripLineLabels.push({position:h.value,textBlock:a,effectiveHeight:null,stripLine:h})}};z.prototype.createLabelsAndCalculateWidth=function(){var a=0,f=0;this._labels=[];this._stripLineLabels=[];var c=this.chart.isNavigator?0:5;if("left"===this._position||"right"===this._position){this.createLabels();if("inside"!=this.labelPlacement||"inside"===this.labelPlacement&&0<this._index)for(f=
|
|
635
|
+
0;f<this._labels.length;f++){var b=this._labels[f].textBlock,g=b.measureText(),h=0,h=0===this.labelAngle?g.width:g.width*Math.cos(Math.PI/180*Math.abs(this.labelAngle))+(g.height-b.fontSize/2)*Math.sin(Math.PI/180*Math.abs(this.labelAngle));a<h&&(this.labelEffectiveWidth=a=h);this._labels[f].effectiveWidth=h}for(f=0;f<this._stripLineLabels.length;f++)"outside"===this._stripLineLabels[f].stripLine.labelPlacement&&(this._stripLineLabels[f].stripLine.value>=this.viewportMinimum&&this._stripLineLabels[f].stripLine.value<=
|
|
636
|
+
this.viewportMaximum)&&(b=this._stripLineLabels[f].textBlock,g=b.measureText(),h=0===this.labelAngle?g.width:g.width*Math.cos(Math.PI/180*Math.abs(this.labelAngle))+(g.height-b.fontSize/2)*Math.sin(Math.PI/180*Math.abs(this.labelAngle)),"inside"===this.tickPlacement&&(h+=this.tickLength),"inside"===this.labelPlacement&&(a+=0<this._index?h:0),a<h&&(a=h),this.stripLineLabelEffectiveWidth=this._stripLineLabels[f].effectiveWidth=h)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===
|
|
637
|
+
this.tickPlacement?0<this._index?this.tickLength:0:this.tickLength)+c};z.prototype.createLabelsAndCalculateHeight=function(){var a=0;this._labels=[];this._stripLineLabels=[];var f,c=0,b=this.chart.isNavigator?0:5;if("bottom"===this._position||"top"===this._position){this.createLabels();if("inside"!=this.labelPlacement||"inside"===this.labelPlacement&&0<this._index)for(c=0;c<this._labels.length;c++){f=this._labels[c].textBlock;var g=f.measureText(),h=0,h=0===this.labelAngle?g.height:g.width*Math.sin(Math.PI/
|
|
638
|
+
180*Math.abs(this.labelAngle))+(g.height-f.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));a<h&&(this.labelEffectiveHeight=a=h);this._labels[c].effectiveHeight=h}for(c=0;c<this._stripLineLabels.length;c++)"outside"===this._stripLineLabels[c].stripLine.labelPlacement&&(this._stripLineLabels[c].stripLine.value>=this.viewportMinimum&&this._stripLineLabels[c].stripLine.value<=this.viewportMaximum)&&(f=this._stripLineLabels[c].textBlock,g=f.measureText(),h=0===this.labelAngle?g.height:g.width*
|
|
639
|
+
Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(g.height-f.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle)),"inside"===this.tickPlacement&&(h+=this.tickLength),"inside"===this.labelPlacement&&(a+=0<this._index?h:0),a<h&&(a=h),this.stripLineLabelEffectiveHeight=this._stripLineLabels[c].effectiveHeight=h)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===this.tickPlacement?0<this._index?this.tickLength:0:this.tickLength)+b};z.setLayout=function(a,f,c,b,g,h){var d,
|
|
640
|
+
l,v,m,n=a[0]?a[0].chart:f[0].chart,p=n.isNavigator?0:10,q=n._axes;if(a&&0<a.length)for(var k=0;k<a.length;k++)a[k]&&a[k].calculateAxisParameters();if(f&&0<f.length)for(k=0;k<f.length;k++)f[k].calculateAxisParameters();if(c&&0<c.length)for(k=0;k<c.length;k++)c[k].calculateAxisParameters();if(b&&0<b.length)for(k=0;k<b.length;k++)b[k].calculateAxisParameters();for(k=0;k<q.length;k++)if(q[k]&&q[k].scaleBreaks&&q[k].scaleBreaks._appliedBreaks.length)for(var r=q[k].scaleBreaks._appliedBreaks,x=0;x<r.length&&
|
|
641
|
+
!(r[x].startValue>q[k].viewportMaximum);x++)r[x].endValue<q[k].viewportMinimum||(e(q[k].scaleBreaks.firstBreakIndex)&&(q[k].scaleBreaks.firstBreakIndex=x),r[x].startValue>=q[k].viewPortMinimum&&(q[k].scaleBreaks.lastBreakIndex=x));for(var s=x=0,w=0,u=0,t=0,y=0,z=0,D,E,F=l=0,I,J,R,r=I=J=R=!1,k=0;k<q.length;k++)q[k]&&q[k].title&&(q[k]._titleTextBlock=new na(q[k].ctx,{text:q[k].title,horizontalAlign:"center",fontSize:q[k].titleFontSize,fontFamily:q[k].titleFontFamily,fontWeight:q[k].titleFontWeight,
|
|
642
|
+
fontColor:q[k].titleFontColor,fontStyle:q[k].titleFontStyle,borderColor:q[k].titleBorderColor,borderThickness:q[k].titleBorderThickness,backgroundColor:q[k].titleBackgroundColor,cornerRadius:q[k].titleCornerRadius,textBaseline:"top"}));for(k=0;k<q.length;k++)if(q[k].title)switch(q[k]._position){case "left":q[k]._titleTextBlock.maxWidth=q[k].titleMaxWidth||h.height;q[k]._titleTextBlock.maxHeight=q[k].titleWrap?0.8*h.width:1.5*q[k].titleFontSize;q[k]._titleTextBlock.angle=-90;break;case "right":q[k]._titleTextBlock.maxWidth=
|
|
643
|
+
q[k].titleMaxWidth||h.height;q[k]._titleTextBlock.maxHeight=q[k].titleWrap?0.8*h.width:1.5*q[k].titleFontSize;q[k]._titleTextBlock.angle=90;break;default:q[k]._titleTextBlock.maxWidth=q[k].titleMaxWidth||h.width,q[k]._titleTextBlock.maxHeight=q[k].titleWrap?0.8*h.height:1.5*q[k].titleFontSize,q[k]._titleTextBlock.angle=0}if("normal"===g){for(var u=[],t=[],y=[],z=[],N=[],O=[],M=[],P=[];4>x;){var G=0,W=0,S=0,$=0,T=g=0,U=0,ca=0,aa=0,Y=0,V=0,ba=0;if(c&&0<c.length)for(y=[],k=V=0;k<c.length;k++)y.push(Math.ceil(c[k]?
|
|
644
|
+
c[k].createLabelsAndCalculateWidth():0)),V+=y[k],U+=c[k]&&!n.isNavigator?c[k].margin:0;else y.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateWidth():0));M.push(y);if(b&&0<b.length)for(z=[],k=ba=0;k<b.length;k++)z.push(Math.ceil(b[k]?b[k].createLabelsAndCalculateWidth():0)),ba+=z[k],ca+=b[k]?b[k].margin:0;else z.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateWidth():0));P.push(z);d=Math.round(h.x1+V+U);v=Math.round(h.x2-ba-ca>n.width-p?n.width-p:h.x2-ba-ca);if(a&&0<a.length)for(u=[],k=aa=0;k<a.length;k++)a[k]&&
|
|
645
|
+
(a[k].lineCoordinates={}),a[k].lineCoordinates.width=Math.abs(v-d),a[k].title&&(a[k]._titleTextBlock.maxWidth=0<a[k].titleMaxWidth&&a[k].titleMaxWidth<a[k].lineCoordinates.width?a[k].titleMaxWidth:a[k].lineCoordinates.width),u.push(Math.ceil(a[k]?a[k].createLabelsAndCalculateHeight():0)),aa+=u[k],g+=a[k]&&!n.isNavigator?a[k].margin:0;else u.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateHeight():0));N.push(u);if(f&&0<f.length)for(t=[],k=Y=0;k<f.length;k++)f[k]&&(f[k].lineCoordinates={}),f[k].lineCoordinates.width=
|
|
646
|
+
Math.abs(v-d),f[k].title&&(f[k]._titleTextBlock.maxWidth=0<f[k].titleMaxWidth&&f[k].titleMaxWidth<f[k].lineCoordinates.width?f[k].titleMaxWidth:f[k].lineCoordinates.width),t.push(Math.ceil(f[k]?f[k].createLabelsAndCalculateHeight():0)),Y+=t[k],T+=f[k]&&!n.isNavigator?f[k].margin:0;else t.push(Math.ceil(f[0]?f[0].createLabelsAndCalculateHeight():0));O.push(t);if(a&&0<a.length)for(k=0;k<a.length;k++)a[k]&&(a[k].lineCoordinates.x1=d,v=Math.round(h.x2-ba-ca>n.width-p?n.width-p:h.x2-ba-ca),a[k]._labels&&
|
|
647
|
+
1<a[k]._labels.length&&(l=m=0,m=a[k]._labels[1],l="dateTime"===a[k].valueType?a[k]._labels[a[k]._labels.length-2]:a[k]._labels[a[k]._labels.length-1],s=m.textBlock.width*Math.cos(Math.PI/180*Math.abs(m.textBlock.angle))+(m.textBlock.height-l.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(m.textBlock.angle)),w=l.textBlock.width*Math.cos(Math.PI/180*Math.abs(l.textBlock.angle))+(l.textBlock.height-l.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(l.textBlock.angle))),!a[k]||(!a[k].labelAutoFit||
|
|
648
|
+
e(D)||e(E)||n.isNavigator||n.stockChart)||(l=0,0<a[k].labelAngle?E+w>v&&(l+=0<a[k].labelAngle?E+w-v-ba:0):0>a[k].labelAngle?D-s<d&&D-s<a[k].viewportMinimum&&(F=d-(U+a[k].tickLength+y+D-s+a[k].labelFontSize/2)):0===a[k].labelAngle&&(E+w>v&&(l=E+w/2-v-ba),D-s<d&&D-s<a[k].viewportMinimum&&(F=d-U-a[k].tickLength-y-D+s/2)),a[k].viewportMaximum===a[k].maximum&&a[k].viewportMinimum===a[k].minimum&&0<a[k].labelAngle&&0<l?v-=l:a[k].viewportMaximum===a[k].maximum&&a[k].viewportMinimum===a[k].minimum&&0>a[k].labelAngle&&
|
|
649
|
+
0<F?d+=F:a[k].viewportMaximum===a[k].maximum&&a[k].viewportMinimum===a[k].minimum&&0===a[k].labelAngle&&(0<F&&(d+=F),0<l&&(v-=l))),n.panEnabled?aa=e(n.sessionVariables.axisX.height)?n.sessionVariables.axisX.height=aa:n.sessionVariables.axisX.height:n.sessionVariables.axisX.height=aa,l=Math.round(h.y2-aa-g+G),m=Math.round(h.y2),a[k].lineCoordinates.x2=v,a[k].lineCoordinates.width=v-d,a[k].lineCoordinates.y1=l,a[k].lineCoordinates.y2=l+a[k].lineThickness/2,"inside"===a[k].labelPlacement&&0<k&&(a[k].lineCoordinates.y1=
|
|
650
|
+
a[k-1].lineCoordinates.y2+G+(a[k].labelEffectiveHeight||0),a[k].lineCoordinates.y2=a[k].lineCoordinates.y1+a[k].lineThickness/2),"inside"===a[k].tickPlacement&&0<k&&(a[k].lineCoordinates.y1+=a[k].tickLength,a[k].lineCoordinates.y2=a[k].lineCoordinates.y1+a[k].lineThickness/2),a[k].bounds={x1:d,y1:l,x2:v,y2:m-(aa+g-u[k]-G),width:v-d},a[k].bounds.height=a[k].bounds.y2-a[k].bounds.y1),G+=u[k]+a[k].margin;if(f&&0<f.length)for(k=0;k<f.length;k++)f[k].lineCoordinates.x1=Math.round(h.x1+V+U),f[k].lineCoordinates.x2=
|
|
651
|
+
Math.round(h.x2-ba-ca>n.width-p?n.width-p:h.x2-ba-ca),f[k].lineCoordinates.width=Math.abs(v-d),f[k]._labels&&1<f[k]._labels.length&&(m=f[k]._labels[1],l="dateTime"===f[k].valueType?f[k]._labels[f[k]._labels.length-2]:f[k]._labels[f[k]._labels.length-1],s=m.textBlock.width*Math.cos(Math.PI/180*Math.abs(m.textBlock.angle))+(m.textBlock.height-l.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(m.textBlock.angle)),w=l.textBlock.width*Math.cos(Math.PI/180*Math.abs(l.textBlock.angle))+(l.textBlock.height-
|
|
652
|
+
l.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(l.textBlock.angle))),n.panEnabled?Y=e(n.sessionVariables.axisX2.height)?n.sessionVariables.axisX2.height=Y:n.sessionVariables.axisX2.height:n.sessionVariables.axisX2.height=Y,l=Math.round(h.y1),m=f[k].lineCoordinates.y1=l+Y+T-W,f[k].lineCoordinates.y2=l,"inside"===f[k].labelPlacement&&0<k&&(f[k].lineCoordinates.y1=f[k-1].lineCoordinates.y1-W-(f[k].labelEffectiveHeight||0)),"inside"===f[k].tickPlacement&&0<k&&(f[k].lineCoordinates.y1-=f[k].tickLength),
|
|
653
|
+
f[k].bounds={x1:d,y1:l+(Y+T-t[k]-W),x2:v,y2:m,width:v-d},f[k].bounds.height=f[k].bounds.y2-f[k].bounds.y1,W+=t[k]+f[k].margin;if(c&&0<c.length)for(k=0;k<c.length;k++)U=n.isNavigator?0:10,c[k]&&(d=Math.round(a[0]?a[0].lineCoordinates.x1:f[0].lineCoordinates.x1),U=c[k]._labels&&0<c[k]._labels.length?c[k]._labels[c[k]._labels.length-1].textBlock.height/2:p,l=Math.round(h.y1+Y+T<Math.max(U,p)?Math.max(U,p):h.y1+Y+T),v=Math.round(a[0]?a[0].lineCoordinates.x1:f[0].lineCoordinates.x1),U=0<a.length?0:c[k]._labels&&
|
|
654
|
+
0<c[k]._labels.length?c[k]._labels[0].textBlock.height/2:p,m=Math.round(h.y2-aa-g-U),c[k].lineCoordinates={x1:d-S,y1:l,x2:v-S,y2:m,height:Math.abs(m-l)},"inside"===c[k].labelPlacement&&0<k&&(c[k].lineCoordinates.x1=c[k-1].lineCoordinates.x1-S-(c[k].labelEffectiveWidth||0),c[k].lineCoordinates.x2=c[k].lineCoordinates.x1+c[k].lineThickness/2),"inside"===c[k].tickPlacement&&0<k&&(c[k].lineCoordinates.x1-=c[k].tickLength,c[k].lineCoordinates.x2=c[k].lineCoordinates.x1+c[k].lineThickness/2),c[k].bounds=
|
|
655
|
+
{x1:d-(y[k]+S),y1:l,x2:v-S,y2:m,height:m-l},c[k].bounds.width=c[k].bounds.x2-c[k].bounds.x1,c[k].title&&(c[k]._titleTextBlock.maxWidth=0<c[k].titleMaxWidth&&c[k].titleMaxWidth<c[k].lineCoordinates.height?c[k].titleMaxWidth:c[k].lineCoordinates.height),S+=y[k]+c[k].margin);if(b&&0<b.length)for(k=0;k<b.length;k++)b[k]&&(d=Math.round(a[0]?a[0].lineCoordinates.x2:f[0].lineCoordinates.x2),v=Math.round(d),U=b[k]._labels&&0<b[k]._labels.length?b[k]._labels[b[k]._labels.length-1].textBlock.height/2:0,l=Math.round(h.y1+
|
|
656
|
+
Y+T<Math.max(U,p)?Math.max(U,p):h.y1+Y+T),U=0<a.length?0:b[k]._labels&&0<b[k]._labels.length?b[k]._labels[0].textBlock.height/2:0,m=Math.round(h.y2-(aa+g+U)),b[k].lineCoordinates={x1:d+$,y1:l,x2:d+$,y2:m,height:Math.abs(m-l)},"inside"===b[k].labelPlacement&&0<k&&(b[k].lineCoordinates.x1=b[k-1].lineCoordinates.x2+$+(b[k].labelEffectiveWidth||0),b[k].lineCoordinates.x2=b[k].lineCoordinates.x1+b[k].lineThickness/2),"inside"===b[k].tickPlacement&&0<k&&(b[k].lineCoordinates.x1+=b[k].tickLength,b[k].lineCoordinates.x2=
|
|
657
|
+
b[k].lineCoordinates.x1+b[k].lineThickness/2),b[k].bounds={x1:d+$,y1:l,x2:v+(z[k]+$),y2:m,height:m-l},b[k].bounds.width=b[k].bounds.x2-b[k].bounds.x1,b[k].title&&(b[k]._titleTextBlock.maxWidth=0<b[k].titleMaxWidth&&b[k].titleMaxWidth<b[k].lineCoordinates.height?b[k].titleMaxWidth:b[k].lineCoordinates.height),$+=z[k]+b[k].margin);if(a&&0<a.length)for(k=0;k<a.length;k++)a[k]&&(a[k].calculateValueToPixelConversionParameters(),a[k].calculateBreaksSizeInValues(),a[k]._labels&&1<a[k]._labels.length&&(D=
|
|
658
|
+
(a[k].logarithmic?Math.log(a[k]._labels[1].position/a[k].viewportMinimum)/a[k].conversionParameters.lnLogarithmBase:a[k]._labels[1].position-a[k].viewportMinimum)*Math.abs(a[k].conversionParameters.pixelPerUnit)+a[k].lineCoordinates.x1,d=a[k]._labels[a[k]._labels.length-("dateTime"===a[k].valueType?2:1)].position,d=a[k].getApparentDifference(a[k].viewportMinimum,d),E=a[k].logarithmic?(1<d?Math.log(d)/a[k].conversionParameters.lnLogarithmBase*Math.abs(a[k].conversionParameters.pixelPerUnit):0)+a[k].lineCoordinates.x1:
|
|
659
|
+
(0<d?d*Math.abs(a[k].conversionParameters.pixelPerUnit):0)+a[k].lineCoordinates.x1));if(f&&0<f.length)for(k=0;k<f.length;k++)f[k].calculateValueToPixelConversionParameters(),f[k].calculateBreaksSizeInValues(),f[k]._labels&&1<f[k]._labels.length&&(D=(f[k].logarithmic?Math.log(f[k]._labels[1].position/f[k].viewportMinimum)/f[k].conversionParameters.lnLogarithmBase:f[k]._labels[1].position-f[k].viewportMinimum)*Math.abs(f[k].conversionParameters.pixelPerUnit)+f[k].lineCoordinates.x1,d=f[k]._labels[f[k]._labels.length-
|
|
660
|
+
("dateTime"===f[k].valueType?2:1)].position,d=f[k].getApparentDifference(f[k].viewportMinimum,d),E=f[k].logarithmic?(1<d?Math.log(d)/f[k].conversionParameters.lnLogarithmBase*Math.abs(f[k].conversionParameters.pixelPerUnit):0)+f[k].lineCoordinates.x1:(0<d?d*Math.abs(f[k].conversionParameters.pixelPerUnit):0)+f[k].lineCoordinates.x1);for(k=0;k<q.length;k++)"axisY"===q[k].type&&(q[k].calculateValueToPixelConversionParameters(),q[k].calculateBreaksSizeInValues());if(0<x){if(a&&0<a.length)for(k=0;k<a.length;k++)r=
|
|
661
|
+
N[x-1][k]===N[x][k]?!0:!1;else r=!0;if(f&&0<f.length)for(k=0;k<f.length;k++)I=O[x-1][k]===O[x][k]?!0:!1;else I=!0;if(c&&0<c.length)for(k=0;k<c.length;k++)J=M[x-1][k]===M[x][k]?!0:!1;else J=!0;if(b&&0<b.length)for(k=0;k<b.length;k++)R=P[x-1][k]===P[x][k]?!0:!1;else R=!0}if(r&&I&&J&&R)break;x++}if(a&&0<a.length)for(k=0;k<a.length;k++)a[k].calculateStripLinesThicknessInValues(),a[k].calculateBreaksInPixels();if(f&&0<f.length)for(k=0;k<f.length;k++)f[k].calculateStripLinesThicknessInValues(),f[k].calculateBreaksInPixels();
|
|
662
|
+
if(c&&0<c.length)for(k=0;k<c.length;k++)c[k].calculateStripLinesThicknessInValues(),c[k].calculateBreaksInPixels();if(b&&0<b.length)for(k=0;k<b.length;k++)b[k].calculateStripLinesThicknessInValues(),b[k].calculateBreaksInPixels()}else{p=[];D=[];F=[];s=[];E=[];w=[];N=[];for(O=[];4>x;){aa=$=S=ca=U=T=g=P=M=G=Y=0;if(a&&0<a.length)for(F=[],k=$=0;k<a.length;k++)F.push(Math.ceil(a[k]?a[k].createLabelsAndCalculateWidth():0)),$+=F[k],g+=a[k]&&!n.isNavigator?a[k].margin:0;else F.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateWidth():
|
|
663
|
+
0));N.push(F);if(f&&0<f.length)for(s=[],k=aa=0;k<f.length;k++)s.push(Math.ceil(f[k]?f[k].createLabelsAndCalculateWidth():0)),aa+=s[k],T+=f[k]?f[k].margin:0;else s.push(Math.ceil(f[0]?f[0].createLabelsAndCalculateWidth():0));O.push(s);if(c&&0<c.length)for(k=0;k<c.length;k++)c[k].lineCoordinates={},d=Math.round(h.x1+$+g),v=Math.round(h.x2-aa-T>n.width-10?n.width-10:h.x2-aa-T),c[k].labelAutoFit&&!e(u)&&(0<!a.length&&(d=0>c[k].labelAngle?Math.max(d,u):0===c[k].labelAngle?Math.max(d,u/2):d),0<!f.length&&
|
|
664
|
+
(v=0<c[k].labelAngle?v-t/2:0===c[k].labelAngle?v-t/2:v)),c[k].lineCoordinates.x1=d,c[k].lineCoordinates.x2=v,c[k].lineCoordinates.width=Math.abs(v-d),c[k].title&&(c[k]._titleTextBlock.maxWidth=0<c[k].titleMaxWidth&&c[k].titleMaxWidth<c[k].lineCoordinates.width?c[k].titleMaxWidth:c[k].lineCoordinates.width);if(b&&0<b.length)for(k=0;k<b.length;k++)b[k].lineCoordinates={},d=Math.round(h.x1+$+g),v=Math.round(h.x2-aa-T>b[k].chart.width-10?b[k].chart.width-10:h.x2-aa-T),b[k]&&b[k].labelAutoFit&&!e(y)&&
|
|
665
|
+
(0<!a.length&&(d=0<b[k].labelAngle?Math.max(d,y):0===b[k].labelAngle?Math.max(d,y/2):d),0<!f.length&&(v-=z/2)),b[k].lineCoordinates.x1=d,b[k].lineCoordinates.x2=v,b[k].lineCoordinates.width=Math.abs(v-d),b[k].title&&(b[k]._titleTextBlock.maxWidth=0<b[k].titleMaxWidth&&b[k].titleMaxWidth<b[k].lineCoordinates.width?b[k].titleMaxWidth:b[k].lineCoordinates.width);if(c&&0<c.length)for(p=[],k=S=0;k<c.length;k++)p.push(Math.ceil(c[k]?c[k].createLabelsAndCalculateHeight():0)),S+=p[k]+c[k].margin,U+=c[k].margin;
|
|
666
|
+
else p.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateHeight():0));E.push(p);if(b&&0<b.length)for(D=[],k=0;k<b.length;k++)D.push(Math.ceil(b[k]?b[k].createLabelsAndCalculateHeight():0)),ca+=b[k].margin;else D.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateHeight():0));w.push(D);if(c&&0<c.length)for(k=0;k<c.length;k++)0<c[k]._labels.length&&(m=c[k]._labels[0],l=c[k]._labels[c[k]._labels.length-1],u=m.textBlock.width*Math.cos(Math.PI/180*Math.abs(m.textBlock.angle))+(m.textBlock.height-l.textBlock.fontSize/
|
|
667
|
+
2)*Math.sin(Math.PI/180*Math.abs(m.textBlock.angle)),t=l.textBlock.width*Math.cos(Math.PI/180*Math.abs(l.textBlock.angle))+(l.textBlock.height-l.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(l.textBlock.angle)));if(b&&0<b.length)for(k=0;k<b.length;k++)b[k]&&0<b[k]._labels.length&&(m=b[k]._labels[0],l=b[k]._labels[b[k]._labels.length-1],y=m.textBlock.width*Math.cos(Math.PI/180*Math.abs(m.textBlock.angle))+(m.textBlock.height-l.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(m.textBlock.angle)),
|
|
668
|
+
z=l.textBlock.width*Math.cos(Math.PI/180*Math.abs(l.textBlock.angle))+(l.textBlock.height-l.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(l.textBlock.angle)));if(n.panEnabled)for(k=0;k<c.length;k++)p[k]=e(n.sessionVariables.axisY[k].height)?n.sessionVariables.axisY[k].height=p[k]:n.sessionVariables.axisY[k].height;else for(k=0;k<c.length;k++)n.sessionVariables.axisY[k].height=p[k];if(c&&0<c.length)for(k=c.length-1;0<=k;k--)l=Math.round(h.y2),m=Math.round(h.y2>c[k].chart.height?c[k].chart.height:
|
|
669
|
+
h.y2),c[k].lineCoordinates.y1=l-(p[k]+c[k].margin+Y),c[k].lineCoordinates.y2=l-(p[k]+c[k].margin+Y),"inside"===c[k].labelPlacement&&0<k&&(c[k].lineCoordinates.y1=c[k].lineCoordinates.y1+p[k]-(c[k]._titleTextBlock?c[k]._titleTextBlock.height:0)-c[k].tickLength-(c[k].stripLineLabelEffectiveHeight||0)-5,c[k].lineCoordinates.y2=c[k].lineCoordinates.y1+c[k].lineThickness/2),"inside"===c[k].tickPlacement&&0<k&&(c[k].lineCoordinates.y1+=c[k].tickLength,c[k].lineCoordinates.y2=c[k].lineCoordinates.y1+c[k].lineThickness/
|
|
670
|
+
2),c[k].bounds={x1:d,y1:l-(p[k]+Y+c[k].margin),x2:v,y2:m-(Y+c[k].margin),width:v-d,height:p[k]},c[k].title&&(c[k]._titleTextBlock.maxWidth=0<c[k].titleMaxWidth&&c[k].titleMaxWidth<c[k].lineCoordinates.width?c[k].titleMaxWidth:c[k].lineCoordinates.width),Y+=p[k]+c[k].margin;if(b&&0<b.length)for(k=b.length-1;0<=k;k--)b[k]&&(l=Math.round(h.y1),m=Math.round(h.y1+(D[k]+b[k].margin+G)),b[k].lineCoordinates.y1=m,b[k].lineCoordinates.y2=m,"inside"===b[k].labelPlacement&&0<k&&(b[k].lineCoordinates.y1=m-D[k]+
|
|
671
|
+
(b[k]._titleTextBlock?b[k]._titleTextBlock.height:0)+b[k].tickLength+(b[k].stripLineLabelEffectiveHeight||0),b[k].lineCoordinates.y2=b[k].lineCoordinates.y1-b[k].lineThickness/2),"inside"===b[k].tickPlacement&&0<k&&(b[k].lineCoordinates.y1-=b[k].tickLength,b[k].lineCoordinates.y2=b[k].lineCoordinates.y1-b[k].lineThickness/2),b[k].bounds={x1:d,y1:l+(b[k].margin+G),x2:v,y2:m,width:v-d},b[k].bounds.height=b[k].bounds.y2-b[k].bounds.y1,b[k].title&&(b[k]._titleTextBlock.maxWidth=0<b[k].titleMaxWidth&&
|
|
672
|
+
b[k].titleMaxWidth<b[k].lineCoordinates.width?b[k].titleMaxWidth:b[k].lineCoordinates.width),G+=D[k]+b[k].margin);if(a&&0<a.length)for(k=0;k<a.length;k++){U=a[k]._labels&&0<a[k]._labels.length?a[k]._labels[0].textBlock.fontSize/2:0;d=Math.round(h.x1+g);l=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:h.y1<Math.max(U,10)?Math.max(U,10):h.y1):h.y1<Math.max(U,10)?Math.max(U,10):h.y1;v=Math.round(h.x1+$+g);m=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:h.y2-S>n.height-Math.max(U,10)?n.height-
|
|
673
|
+
Math.max(U,10):h.y2-S):h.y2>n.height-Math.max(U,10)?n.height-Math.max(U,10):h.y2;if(c&&0<c.length)for(U=0;U<c.length;U++)c[U]&&c[U].labelAutoFit&&(v=c[U].lineCoordinates.x1,d=0>c[U].labelAngle||0===c[U].labelAngle?v-$:d);if(b&&0<b.length)for(U=0;U<b.length;U++)b[U]&&b[U].labelAutoFit&&(v=b[U].lineCoordinates.x1,d=v-$);a[k].lineCoordinates={x1:v-M,y1:l,x2:v-M,y2:m,height:Math.abs(m-l)};"inside"===a[k].labelPlacement&&0<k&&(a[k].lineCoordinates.x1=a[k].lineCoordinates.x1-(F[k]-(a[k]._titleTextBlock?
|
|
674
|
+
a[k]._titleTextBlock.height:0))+a[k].tickLength+(a[k].stripLineLabelEffectiveWidth||0),a[k].lineCoordinates.x2=a[k].lineCoordinates.x1+a[k].lineThickness/2);"inside"===a[k].tickPlacement&&0<k&&(a[k].lineCoordinates.x1-=a[k].tickLength,a[k].lineCoordinates.x2=a[k].lineCoordinates.x1+a[k].lineThickness/2);a[k].bounds={x1:v-(F[k]+M),y1:l,x2:v-M,y2:m,height:m-l};a[k].bounds.width=a[k].bounds.x2-a[k].bounds.x1;a[k].title&&(a[k]._titleTextBlock.maxWidth=0<a[k].titleMaxWidth&&a[k].titleMaxWidth<a[k].lineCoordinates.height?
|
|
675
|
+
a[k].titleMaxWidth:a[k].lineCoordinates.height);a[k].calculateValueToPixelConversionParameters();a[k].calculateBreaksSizeInValues();M+=F[k]+a[k].margin}if(f&&0<f.length)for(k=0;k<f.length;k++){U=f[k]._labels&&0<f[k]._labels.length?f[k]._labels[0].textBlock.fontSize/2:0;d=Math.round(h.x1-g);l=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:h.y1<Math.max(U,10)?Math.max(U,10):h.y1):h.y1<Math.max(U,10)?Math.max(U,10):h.y1;v=Math.round(h.x2-aa-T);m=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:
|
|
676
|
+
h.y2-S>n.height-Math.max(U,10)?n.height-Math.max(U,10):h.y2-S):h.y2>n.height-Math.max(U,10)?n.height-Math.max(U,10):h.y2;if(c&&0<c.length)for(U=0;U<c.length;U++)c[U]&&c[U].labelAutoFit&&(v=0>c[U].labelAngle?Math.max(v,u):0===c[U].labelAngle?Math.max(v,u/2):v,d=0>c[U].labelAngle||0===c[U].labelAngle?v-aa:d);if(b&&0<b.length)for(U=0;U<b.length;U++)b[U]&&b[U].labelAutoFit&&(v=b[U].lineCoordinates.x2,d=v-aa);f[k].lineCoordinates={x1:v+P,y1:l,x2:v+P,y2:m,height:Math.abs(m-l)};"inside"===f[k].labelPlacement&&
|
|
677
|
+
0<k&&(f[k].lineCoordinates.x1=f[k].lineCoordinates.x1+(s[k]-(f[k]._titleTextBlock?f[k]._titleTextBlock.height:0)-2)-f[k].tickLength-(f[k].stripLineLabelEffectiveWidth||0),f[k].lineCoordinates.x2=f[k].lineCoordinates.x1+f[k].lineThickness/2);"inside"===f[k].tickPlacement&&0<k&&(f[k].lineCoordinates.x1+=f[k].tickLength,f[k].lineCoordinates.x2=f[k].lineCoordinates.x1+f[k].lineThickness/2);f[k].bounds={x1:f[k].lineCoordinates.x1,y1:l,x2:v+s[k]+P,y2:m,width:v-d,height:m-l};f[k].bounds.width=f[k].bounds.x2-
|
|
678
|
+
f[k].bounds.x1;f[k].title&&(f[k]._titleTextBlock.maxWidth=0<f[k].titleMaxWidth&&f[k].titleMaxWidth<f[k].lineCoordinates.height?f[k].titleMaxWidth:f[k].lineCoordinates.height);f[k].calculateValueToPixelConversionParameters();f[k].calculateBreaksSizeInValues();P+=s[k]+f[k].margin}for(k=0;k<q.length;k++)"axisY"===q[k].type&&(q[k].calculateValueToPixelConversionParameters(),q[k].calculateBreaksSizeInValues());if(0<x){if(a&&0<a.length)for(k=0;k<a.length;k++)r=N[x-1][k]===N[x][k]?!0:!1;else r=!0;if(f&&
|
|
679
|
+
0<f.length)for(k=0;k<f.length;k++)I=O[x-1][k]===O[x][k]?!0:!1;else I=!0;if(c&&0<c.length)for(k=0;k<c.length;k++)J=E[x-1][k]===E[x][k]?!0:!1;else J=!0;if(b&&0<b.length)for(k=0;k<b.length;k++)R=w[x-1][k]===w[x][k]?!0:!1;else R=!0}if(r&&I&&J&&R)break;x++}if(c&&0<c.length)for(k=0;k<c.length;k++)c[k].calculateStripLinesThicknessInValues(),c[k].calculateBreaksInPixels();if(b&&0<b.length)for(k=0;k<b.length;k++)b[k].calculateStripLinesThicknessInValues(),b[k].calculateBreaksInPixels();if(a&&0<a.length)for(k=
|
|
680
|
+
0;k<a.length;k++)a[k].calculateStripLinesThicknessInValues(),a[k].calculateBreaksInPixels();if(f&&0<f.length)for(k=0;k<f.length;k++)f[k].calculateStripLinesThicknessInValues(),f[k].calculateBreaksInPixels()}};z.render=function(a,f,c,b,g){var h=a[0]?a[0].chart:f[0].chart;g=h.ctx;h.alignVerticalAxes&&h.alignVerticalAxes();g.save();g.beginPath();a&&a.length&&g.rect(5,a[0].bounds.y1,a[0].chart.width-10,a[a.length-1].bounds.y2);f&&f.length&&g.rect(5,f[f.length-1].bounds.y1,f[0].chart.width-10,f[0].bounds.y2);
|
|
681
|
+
g.clip();if(a&&0<a.length)for(var d=0;d<a.length;d++)a[d].renderLabelsTicksAndTitle();if(f&&0<f.length)for(d=0;d<f.length;d++)f[d].renderLabelsTicksAndTitle();g.restore();if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderLabelsTicksAndTitle();if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderLabelsTicksAndTitle();h.preparePlotArea();h=h.plotArea;g.save();g.beginPath();g.rect(h.x1,h.y1,Math.abs(h.x2-h.x1),Math.abs(h.y2-h.y1));g.clip();if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderStripLinesOfThicknessType("value");
|
|
682
|
+
if(f&&0<f.length)for(d=0;d<f.length;d++)f[d].renderStripLinesOfThicknessType("value");if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderStripLinesOfThicknessType("value");if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderStripLinesOfThicknessType("value");if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderInterlacedColors();if(f&&0<f.length)for(d=0;d<f.length;d++)f[d].renderInterlacedColors();if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderInterlacedColors();if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderInterlacedColors();
|
|
683
|
+
g.restore();if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderGrid(),u&&(a[d].createMask(),a[d].renderBreaksBackground());if(f&&0<f.length)for(d=0;d<f.length;d++)f[d].renderGrid(),u&&(f[d].createMask(),f[d].renderBreaksBackground());if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderGrid(),u&&(c[d].createMask(),c[d].renderBreaksBackground());if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderGrid(),u&&(b[d].createMask(),b[d].renderBreaksBackground());if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderAxisLine();
|
|
684
|
+
if(f&&0<f.length)for(d=0;d<f.length;d++)f[d].renderAxisLine();if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderAxisLine();if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderAxisLine();if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderStripLinesOfThicknessType("pixel");if(f&&0<f.length)for(d=0;d<f.length;d++)f[d].renderStripLinesOfThicknessType("pixel");if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderStripLinesOfThicknessType("pixel");if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderStripLinesOfThicknessType("pixel")};
|
|
685
|
+
z.prototype.calculateStripLinesThicknessInValues=function(){for(var a=0;a<this.stripLines.length;a++)if(null!==this.stripLines[a].startValue&&null!==this.stripLines[a].endValue){var f=Math.min(this.stripLines[a].startValue,this.stripLines[a].endValue),c=Math.max(this.stripLines[a].startValue,this.stripLines[a].endValue),f=this.getApparentDifference(f,c);this.stripLines[a].value=this.logarithmic?this.stripLines[a].value*Math.sqrt(Math.log(Math.max(this.stripLines[a].startValue,this.stripLines[a].endValue)/
|
|
686
|
+
Math.min(this.stripLines[a].startValue,this.stripLines[a].endValue))/Math.log(f)):this.stripLines[a].value+(Math.abs(this.stripLines[a].endValue-this.stripLines[a].startValue)-f)/2;this.stripLines[a].thickness=f;this.stripLines[a]._thicknessType="value"}};z.prototype.calculateBreaksSizeInValues=function(){for(var a="left"===this._position||"right"===this._position?this.lineCoordinates.height||this.chart.height:this.lineCoordinates.width||this.chart.width,f=this.scaleBreaks?this.scaleBreaks._appliedBreaks:
|
|
687
|
+
[],c=this.conversionParameters.pixelPerUnit||a/(this.logarithmic?this.conversionParameters.maximum/this.conversionParameters.minimum:this.conversionParameters.maximum-this.conversionParameters.minimum),b=this.scaleBreaks&&!e(this.scaleBreaks.options.spacing),g,d=0;d<f.length;d++)g=b||!e(f[d].options.spacing),f[d].spacing=Va(f[d].spacing,a,8,g?0.1*a:8,g?0:3)<<0,f[d].size=0>f[d].spacing?0:Math.abs(f[d].spacing/c),this.logarithmic&&(f[d].size=Math.pow(this.logarithmBase,f[d].size))};z.prototype.calculateBreaksInPixels=
|
|
688
|
+
function(){if(!(this.scaleBreaks&&0>=this.scaleBreaks._appliedBreaks.length)){var a=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];a.length&&(this.scaleBreaks.firstBreakIndex=this.scaleBreaks.lastBreakIndex=null);for(var f=0;f<a.length&&!(a[f].startValue>this.conversionParameters.maximum);f++)a[f].endValue<this.conversionParameters.minimum||(e(this.scaleBreaks.firstBreakIndex)&&(this.scaleBreaks.firstBreakIndex=f),a[f].startValue>=this.conversionParameters.minimum&&(a[f].startPixel=this.convertValueToPixel(a[f].startValue),
|
|
689
|
+
this.scaleBreaks.lastBreakIndex=f),a[f].endValue<=this.conversionParameters.maximum&&(a[f].endPixel=this.convertValueToPixel(a[f].endValue)))}};z.prototype.renderLabelsTicksAndTitle=function(){var a=this,f=!1,c=0,b=0,g=1,d=0;0!==this.labelAngle&&360!==this.labelAngle&&(g=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=[],g=0!==this.labelAngle&&360!==this.labelAngle?
|
|
690
|
+
1:1.2,e,l=this.viewportMaximum,v=this.lineCoordinates.width/Math.log(this.range),m=this._labels.length-1;0<=m;m--){p=this._labels[m];if(p.position<this.viewportMinimum)break;p.position>this.viewportMaximum||!(m===this._labels.length-1||e<Math.log(l/p.position)*v/g)||(c.push(p),l=p.position,e=p.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(m=0;m<this._labels.length;m++)p=this._labels[m],p.position<
|
|
691
|
+
this.viewportMinimum||(e=p.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),c+=e);c>this.lineCoordinates.width*g&&this.labelAutoFit&&(f=!0)}if("left"===this._position||"right"===this._position)if(this.logarithmic&&!this.equidistantInterval&&this.labelAutoFit){for(var c=[],n,l=this.viewportMaximum,v=this.lineCoordinates.height/Math.log(this.range),m=this._labels.length-1;0<=m;m--){p=this._labels[m];if(p.position<this.viewportMinimum)break;
|
|
692
|
+
p.position>this.viewportMaximum||!(m===this._labels.length-1||n<Math.log(l/p.position)*v)||(c.push(p),l=p.position,n=p.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(m=0;m<this._labels.length;m++)p=this._labels[m],p.position<this.viewportMinimum||(n=p.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),b+=n);b>this.lineCoordinates.height*
|
|
693
|
+
g&&this.labelAutoFit&&(f=!0)}}this.logarithmic&&(!this.equidistantInterval&&this.labelAutoFit)&&this._labels.sort(function(a,b){return a.position-b.position});var m=0,p,q;if("bottom"===this._position){for(m=0;m<this._labels.length;m++)p=this._labels[m],p.position<this.viewportMinimum||p.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%
|
|
694
|
+
2?(q.x<<0)+0.5:q.x<<0,this.ctx.beginPath(),this.ctx.moveTo(b,q.y<<0),this.ctx.lineTo(b,q.y+this.tickLength<<0),this.ctx.stroke()),f&&0!==d++%2&&this.labelAutoFit||(0===p.textBlock.angle?(q.x-=p.textBlock.width/2,q.y="inside"===this.labelPlacement?q.y-(("inside"===this.tickPlacement?this.tickLength:0)+p.textBlock.height-p.textBlock.fontSize/2):q.y+("inside"===this.tickPlacement?0:this.tickLength)+p.textBlock.fontSize/2+5):(q.x="inside"===this.labelPlacement?0>this.labelAngle?q.x:q.x-p.textBlock.width*
|
|
695
|
+
Math.cos(Math.PI/180*this.labelAngle):q.x-(0>this.labelAngle?p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0),q.y="inside"===this.labelPlacement?0>this.labelAngle?q.y-("inside"===this.tickPlacement?this.tickLength:0)-5:q.y-("inside"===this.tickPlacement?this.tickLength:0)-Math.abs(p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+5):q.y+("inside"===this.tickPlacement?0:this.tickLength)+Math.abs(0>this.labelAngle?p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-5:5)),p.textBlock.x=
|
|
696
|
+
q.x,p.textBlock.y=q.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(m=0;m<a._labels.length;m++)if(p=a._labels[m],!(p.position<a.viewportMinimum||p.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(p.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.x<<0)+0.5:q.x<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(b,q.y<<0);a.ctx.lineTo(b,q.y-a.tickLength<<0);a.ctx.stroke();
|
|
697
|
+
a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.lineCoordinates.x1+this.lineCoordinates.width/2-this._titleTextBlock.width/2,this._titleTextBlock.y=this.bounds.y2-this._titleTextBlock.height-3,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("top"===this._position){for(m=0;m<this._labels.length;m++)p=this._labels[m],p.position<this.viewportMinimum||p.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(p.position),
|
|
698
|
+
this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(q.x<<0)+0.5:q.x<<0,this.ctx.beginPath(),this.ctx.moveTo(b,q.y<<0),this.ctx.lineTo(b,q.y-this.tickLength<<0),this.ctx.stroke()),f&&0!==d++%2&&this.labelAutoFit||(0===p.textBlock.angle?(q.x-=p.textBlock.width/2,q.y="inside"===this.labelPlacement?q.y+this.labelFontSize/2+("inside"===this.tickPlacement?this.tickLength:0)+5:q.y-(("inside"===this.tickPlacement?
|
|
699
|
+
0:this.tickLength)+p.textBlock.height-p.textBlock.fontSize/2)):(q.x="inside"===this.labelPlacement?0<this.labelAngle?q.x:q.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):q.x+(p.textBlock.height-this.labelFontSize)*Math.sin(Math.PI/180*this.labelAngle)-(0<this.labelAngle?p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0),q.y="inside"===this.labelPlacement?0<this.labelAngle?q.y+("inside"===this.tickPlacement?this.tickLength:0)+5:q.y-p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+
|
|
700
|
+
("inside"===this.tickPlacement?this.tickLength:0)+5:q.y-(("inside"===this.tickPlacement?0:this.tickLength)+((p.textBlock.height-p.textBlock.fontSize/2)*Math.cos(Math.PI/180*this.labelAngle)+(0<this.labelAngle?p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):0)))),p.textBlock.x=q.x,p.textBlock.y=q.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(m=0;m<a._labels.length;m++)if(p=a._labels[m],!(p.position<a.viewportMinimum||p.position>a.viewportMaximum)&&
|
|
701
|
+
(q=a.getPixelCoordinatesOnAxis(p.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.x<<0)+0.5:q.x<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(b,q.y<<0);a.ctx.lineTo(b,q.y+a.tickLength<<0);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.lineCoordinates.x1+this.lineCoordinates.width/2-this._titleTextBlock.width/2,this._titleTextBlock.y=this.bounds.y1+1,this.titleMaxWidth=
|
|
702
|
+
this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("left"===this._position){for(m=0;m<this._labels.length;m++)p=this._labels[m],p.position<this.viewportMinimum||p.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0,this.ctx.beginPath(),this.ctx.moveTo(q.x<<0,b),this.ctx.lineTo(q.x-this.tickLength<<
|
|
703
|
+
0,b),this.ctx.stroke()),f&&0!==d++%2&&this.labelAutoFit||(0===this.labelAngle?(p.textBlock.y=q.y,p.textBlock.x="inside"===this.labelPlacement?q.x+("inside"===this.tickPlacement?this.tickLength:0)+5:q.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5):(p.textBlock.y="inside"===this.labelPlacement?q.y:q.y-p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle),p.textBlock.x="inside"===this.labelPlacement?q.x+("inside"===this.tickPlacement?
|
|
704
|
+
this.tickLength:0)+5:0<this.labelAngle?q.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5:q.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+(p.textBlock.height-p.textBlock.fontSize/2-5)*Math.sin(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength))));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(m=0;m<a._labels.length;m++)if(p=a._labels[m],!(p.position<
|
|
705
|
+
a.viewportMinimum||p.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(p.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(q.x<<0,b);a.ctx.lineTo(q.x+a.tickLength<<0,b);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.bounds.x1+1,this._titleTextBlock.y=this.lineCoordinates.height/2+this._titleTextBlock.width/
|
|
706
|
+
2+this.lineCoordinates.y1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("right"===this._position){for(m=0;m<this._labels.length;m++)p=this._labels[m],p.position<this.viewportMinimum||p.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0,this.ctx.beginPath(),this.ctx.moveTo(q.x<<
|
|
707
|
+
0,b),this.ctx.lineTo(q.x+this.tickLength<<0,b),this.ctx.stroke()),f&&0!==d++%2&&this.labelAutoFit||(0===this.labelAngle?(p.textBlock.y=q.y,p.textBlock.x="inside"===this.labelPlacement?q.x-p.textBlock.width-("inside"===this.tickPlacement?this.tickLength:0)-5:q.x+("inside"===this.tickPlacement?0:this.tickLength)+5):(p.textBlock.y="inside"===this.labelPlacement?q.y-p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):0>this.labelAngle?q.y:q.y-(p.textBlock.height-p.textBlock.fontSize/2-5)*Math.cos(Math.PI/
|
|
708
|
+
180*this.labelAngle),p.textBlock.x="inside"===this.labelPlacement?q.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?this.tickLength:0)-5:0<this.labelAngle?q.x+(p.textBlock.height-p.textBlock.fontSize/2-5)*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?0:this.tickLength):q.x+("inside"===this.tickPlacement?0:this.tickLength)+5)));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(m=0;m<
|
|
709
|
+
a._labels.length;m++)if(p=a._labels[m],!(p.position<a.viewportMinimum||p.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(p.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(q.x<<0,b);a.ctx.lineTo(q.x-a.tickLength<<0,b);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.bounds.x2-1,this._titleTextBlock.y=
|
|
710
|
+
this.lineCoordinates.height/2-this._titleTextBlock.width/2+this.lineCoordinates.y1,this.titleMaxWidth=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++)p=a._labels[m],p.position<a.viewportMinimum||(p.position>a.viewportMaximum||f&&0!==d++%2&&a.labelAutoFit)||(a.ctx.save(),a.ctx.beginPath(),p.textBlock.render(!0),a.ctx.restore())},this);else for(m=0;m<
|
|
711
|
+
this._labels.length;m++)p=this._labels[m],p.position<this.viewportMinimum||(p.position>this.viewportMaximum||f&&0!==d++%2&&this.labelAutoFit)||p.textBlock.render(!0)};z.prototype.renderInterlacedColors=function(){var a=this.chart.plotArea.ctx,f,c,b=this.chart.plotArea,g=0;f=!0;if(("bottom"===this._position||"top"===this._position)&&this.interlacedColor)for(a.fillStyle=this.interlacedColor,g=0;g<this._labels.length;g++)f?(f=this.getPixelCoordinatesOnAxis(this._labels[g].position),c=g+1>this._labels.length-
|
|
712
|
+
1?this.getPixelCoordinatesOnAxis(this.viewportMaximum):this.getPixelCoordinatesOnAxis(this._labels[g+1].position),a.fillRect(Math.min(c.x,f.x),b.y1,Math.abs(c.x-f.x),Math.abs(b.y1-b.y2)),f=!1):f=!0;else if(("left"===this._position||"right"===this._position)&&this.interlacedColor)for(a.fillStyle=this.interlacedColor,g=0;g<this._labels.length;g++)f?(c=this.getPixelCoordinatesOnAxis(this._labels[g].position),f=g+1>this._labels.length-1?this.getPixelCoordinatesOnAxis(this.viewportMaximum):this.getPixelCoordinatesOnAxis(this._labels[g+
|
|
713
|
+
1].position),a.fillRect(b.x1,Math.min(c.y,f.y),Math.abs(b.x1-b.x2),Math.abs(f.y-c.y)),f=!1):f=!0;a.beginPath()};z.prototype.renderStripLinesOfThicknessType=function(a){if(this.stripLines&&0<this.stripLines.length&&a){for(var f=this,c,b=0,g=0,d=!1,l=!1,v=[],x=[],l=!1,b=0;b<this.stripLines.length;b++){var m=this.stripLines[b];m._thicknessType===a&&("pixel"===a&&(m.value<this.viewportMinimum||m.value>this.viewportMaximum||e(m.value)||isNaN(this.range))||"value"===a&&(m.startValue<=this.viewportMinimum&&
|
|
714
|
+
m.endValue<=this.viewportMinimum||m.startValue>=this.viewportMaximum&&m.endValue>=this.viewportMaximum||e(m.startValue)||e(m.endValue)||isNaN(this.range))||v.push(m))}for(b=0;b<this._stripLineLabels.length;b++)if(m=this.stripLines[b],c=this._stripLineLabels[b],!(c.position<this.viewportMinimum||c.position>this.viewportMaximum||isNaN(this.range))){a=this.getPixelCoordinatesOnAxis(c.position);if("outside"===c.stripLine.labelPlacement)if(m&&(this.ctx.strokeStyle=m.color,this.ctx.lineWidth="pixel"===
|
|
715
|
+
m._thicknessType?m.thickness:this.tickThickness),"bottom"===this._position){var n=1===this.ctx.lineWidth%2?(a.x<<0)+0.5:a.x<<0;this.ctx.beginPath();this.ctx.moveTo(n,a.y<<0);this.ctx.lineTo(n,a.y+this.tickLength<<0);this.ctx.stroke();0===this.labelAngle?(a.x-=c.textBlock.width/2,a.y+=this.tickLength+c.textBlock.fontSize/2+5):(a.x-=0>this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0,a.y+=this.tickLength+Math.abs(0>this.labelAngle?c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-
|
|
716
|
+
5:5))}else"top"===this._position?(n=1===this.ctx.lineWidth%2?(a.x<<0)+0.5:a.x<<0,this.ctx.beginPath(),this.ctx.moveTo(n,a.y<<0),this.ctx.lineTo(n,a.y-this.tickLength<<0),this.ctx.stroke(),0===this.labelAngle?(a.x-=c.textBlock.width/2,a.y-=this.tickLength+c.textBlock.height-c.textBlock.fontSize/2):(a.x+=(c.textBlock.height-this.tickLength-this.labelFontSize/2)*Math.sin(Math.PI/180*this.labelAngle)-(0<this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0),a.y-=this.tickLength+(c.textBlock.height*
|
|
717
|
+
Math.cos(Math.PI/180*this.labelAngle)+(0<this.labelAngle?c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):0)))):"left"===this._position?(n=1===this.ctx.lineWidth%2?(a.y<<0)+0.5:a.y<<0,this.ctx.beginPath(),this.ctx.moveTo(a.x<<0,n),this.ctx.lineTo(a.x-this.tickLength<<0,n),this.ctx.stroke(),0===this.labelAngle?a.x=a.x-c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-this.tickLength-5:(a.y-=c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle),a.x=0<this.labelAngle?a.x-c.textBlock.width*
|
|
718
|
+
Math.cos(Math.PI/180*this.labelAngle)-this.tickLength-5:a.x-c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+(c.textBlock.height-c.textBlock.fontSize/2-5)*Math.sin(Math.PI/180*this.labelAngle)-this.tickLength)):"right"===this._position&&(n=1===this.ctx.lineWidth%2?(a.y<<0)+0.5:a.y<<0,this.ctx.beginPath(),this.ctx.moveTo(a.x<<0,n),this.ctx.lineTo(a.x+this.tickLength<<0,n),this.ctx.stroke(),0===this.labelAngle?a.x=a.x+this.tickLength+5:(a.y=0>this.labelAngle?a.y:a.y-(c.textBlock.height-c.textBlock.fontSize/
|
|
719
|
+
2-5)*Math.cos(Math.PI/180*this.labelAngle),a.x=0<this.labelAngle?a.x+(c.textBlock.height-c.textBlock.fontSize/2-5)*Math.sin(Math.PI/180*this.labelAngle)+this.tickLength:a.x+this.tickLength+5));else c.textBlock.angle=-90,"bottom"===this._position?(c.textBlock.maxWidth=this.options.stripLines[b].labelMaxWidth?this.options.stripLines[b].labelMaxWidth:this.chart.plotArea.height-3,c.textBlock.measureText(),a.x-c.textBlock.height-m.thickness/2>this.chart.plotArea.x1?e(m.startValue)?a.x-=c.textBlock.height-
|
|
720
|
+
c.textBlock.fontSize/2+m.thickness/2:a.x-=c.textBlock.height/2-c.textBlock.fontSize/2:(c.textBlock.angle=90,e(m.startValue)?a.x+=c.textBlock.height-c.textBlock.fontSize/2+m.thickness/2:a.x+=c.textBlock.height/2-c.textBlock.fontSize/2),a.y=-90===c.textBlock.angle?"near"===c.stripLine.labelAlign?this.chart.plotArea.y2-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1+c.textBlock.width)/2:this.chart.plotArea.y1+c.textBlock.width+3:"near"===c.stripLine.labelAlign?this.chart.plotArea.y2-
|
|
721
|
+
c.textBlock.width-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1-c.textBlock.width)/2:this.chart.plotArea.y1+3):"top"===this._position?(c.textBlock.maxWidth=this.options.stripLines[b].labelMaxWidth?this.options.stripLines[b].labelMaxWidth:this.chart.plotArea.height-3,c.textBlock.measureText(),a.x-c.textBlock.height-m.thickness/2>this.chart.plotArea.x1?e(m.startValue)?a.x-=c.textBlock.height-c.textBlock.fontSize/2+m.thickness/2:a.x-=c.textBlock.height/2-c.textBlock.fontSize/
|
|
722
|
+
2:(c.textBlock.angle=90,e(m.startValue)?a.x+=c.textBlock.height-c.textBlock.fontSize/2+m.thickness/2:a.x+=c.textBlock.height/2-c.textBlock.fontSize/2),a.y=-90===c.textBlock.angle?"near"===c.stripLine.labelAlign?this.chart.plotArea.y1+c.textBlock.width+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1+c.textBlock.width)/2:this.chart.plotArea.y2-3:"near"===c.stripLine.labelAlign?this.chart.plotArea.y1+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1-
|
|
723
|
+
c.textBlock.width)/2:this.chart.plotArea.y2-c.textBlock.width-3):"left"===this._position?(c.textBlock.maxWidth=this.options.stripLines[b].labelMaxWidth?this.options.stripLines[b].labelMaxWidth:this.chart.plotArea.width-3,c.textBlock.angle=0,c.textBlock.measureText(),a.y-c.textBlock.height-m.thickness/2>this.chart.plotArea.y1?e(m.startValue)?a.y-=c.textBlock.height-c.textBlock.fontSize/2+m.thickness/2:a.y-=c.textBlock.height/2-c.textBlock.fontSize/2:e(m.startValue)?a.y+=c.textBlock.height-c.textBlock.fontSize/
|
|
724
|
+
2+m.thickness/2:a.y+=c.textBlock.height/2-c.textBlock.fontSize+3,a.x="near"===c.stripLine.labelAlign?this.chart.plotArea.x1+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.x2+this.chart.plotArea.x1)/2-c.textBlock.width/2:this.chart.plotArea.x2-c.textBlock.width-3):"right"===this._position&&(c.textBlock.maxWidth=this.options.stripLines[b].labelMaxWidth?this.options.stripLines[b].labelMaxWidth:this.chart.plotArea.width-3,c.textBlock.angle=0,c.textBlock.measureText(),a.y-c.textBlock.height-
|
|
725
|
+
m.thickness/2>this.chart.plotArea.y1?e(m.startValue)?a.y-=c.textBlock.height-c.textBlock.fontSize/2+m.thickness/2:a.y-=c.textBlock.height/2-c.textBlock.fontSize/2:e(m.startValue)?a.y+=c.textBlock.height-c.textBlock.fontSize/2+m.thickness/2:a.y-=c.textBlock.height/2-c.textBlock.fontSize/2+3,a.x="near"===c.stripLine.labelAlign?this.chart.plotArea.x2-c.textBlock.width-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.x2+this.chart.plotArea.x1)/2-c.textBlock.width/2:this.chart.plotArea.x1+3);c.textBlock.x=
|
|
726
|
+
a.x;c.textBlock.y=a.y;x.push(c)}if(!l){l=!1;this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();for(b=0;b<v.length;b++)m=v[b],m.showOnTop?d||(d=!0,this.chart.addEventListener("dataAnimationIterationEnd",function(){this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();for(g=
|
|
727
|
+
0;g<v.length;g++)m=v[g],m.showOnTop&&m.render();this.ctx.restore()},m)):m.render();for(b=0;b<x.length;b++)c=x[b],c.stripLine.showOnTop?l||(l=!0,this.chart.addEventListener("dataAnimationIterationEnd",function(){for(g=0;g<x.length;g++)c=x[g],"inside"===c.stripLine.labelPlacement&&c.stripLine.showOnTop&&(f.ctx.save(),f.ctx.beginPath(),f.ctx.rect(f.chart.plotArea.x1,f.chart.plotArea.y1,f.chart.plotArea.width,f.chart.plotArea.height),f.ctx.clip(),c.textBlock.render(!0),f.ctx.restore())},c.textBlock)):
|
|
728
|
+
"inside"===c.stripLine.labelPlacement&&c.textBlock.render(!0);this.ctx.restore();l=!0}if(l)for(l=!1,b=0;b<x.length;b++)c=x[b],"outside"===c.stripLine.labelPlacement&&c.textBlock.render(!0)}};z.prototype.renderBreaksBackground=function(){this.chart._breaksCanvas&&(this.scaleBreaks&&0<this.scaleBreaks._appliedBreaks.length&&this.maskCanvas)&&(this.chart._breaksCanvasCtx.save(),this.chart._breaksCanvasCtx.beginPath(),this.chart._breaksCanvasCtx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,
|
|
729
|
+
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())};z.prototype.createMask=function(){if(this.scaleBreaks&&0<this.scaleBreaks._appliedBreaks.length){var a=this.scaleBreaks._appliedBreaks;u?(this.maskCanvas=sa(this.chart.width,this.chart.height),this.maskCtx=this.maskCanvas.getContext("2d")):(this.maskCanvas=this.chart.plotArea.canvas,this.maskCtx=this.chart.plotArea.ctx);
|
|
730
|
+
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 f=0;f<a.length;f++)a[f].endValue<this.viewportMinimum||(a[f].startValue>this.viewportMaximum||isNaN(this.range))||a[f].render(this.maskCtx);this.maskCtx.restore()}};z.prototype.renderCrosshair=function(a,f){isFinite(this.minimum)&&isFinite(this.maximum)&&this.crosshair.render(a,f)};z.prototype.showCrosshair=function(a){e(a)||
|
|
731
|
+
(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))};z.prototype.renderGrid=function(){if(this.gridThickness&&0<this.gridThickness){var a=this.chart.ctx;a.save();var f,c=this.chart.plotArea;a.lineWidth=this.gridThickness;a.strokeStyle=this.gridColor;a.setLineDash&&a.setLineDash(S(this.gridDashType,this.gridThickness));if("bottom"===this._position||
|
|
732
|
+
"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(),f=this.getPixelCoordinatesOnAxis(this._labels[b].position),f=1===a.lineWidth%2?(f.x<<0)+0.5:f.x<<0,a.moveTo(f,c.y1<<0),a.lineTo(f,c.y2<<0),a.stroke());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>
|
|
733
|
+
this.viewportMaximum||this._labels[b].breaksLabelType)||(a.beginPath(),f=this.getPixelCoordinatesOnAxis(this._labels[b].position),f=1===a.lineWidth%2?(f.y<<0)+0.5:f.y<<0,a.moveTo(c.x1<<0,f),a.lineTo(c.x2<<0,f),a.stroke());a.restore()}};z.prototype.renderAxisLine=function(){var a=this.chart.ctx,f=u?this.chart._preRenderCtx:a,c=Math.ceil(this.tickThickness/(this.reversed?-2:2)),b=Math.ceil(this.tickThickness/(this.reversed?2:-2)),g,d;f.save();if("bottom"===this._position||"top"===this._position){if(this.lineThickness){this.reversed?
|
|
734
|
+
(g=this.lineCoordinates.x2,d=this.lineCoordinates.x1):(g=this.lineCoordinates.x1,d=this.lineCoordinates.x2);f.lineWidth=this.lineThickness;f.strokeStyle=this.lineColor?this.lineColor:"black";f.setLineDash&&f.setLineDash(S(this.lineDashType,this.lineThickness));var l=1===this.lineThickness%2?(this.lineCoordinates.y1<<0)+0.5:this.lineCoordinates.y1<<0;f.beginPath();if(this.scaleBreaks&&!e(this.scaleBreaks.firstBreakIndex))if(e(this.scaleBreaks.lastBreakIndex))g=this.scaleBreaks._appliedBreaks[this.scaleBreaks.firstBreakIndex].endPixel+
|
|
735
|
+
b;else for(var v=this.scaleBreaks.firstBreakIndex;v<=this.scaleBreaks.lastBreakIndex;v++)f.moveTo(g,l),f.lineTo(this.scaleBreaks._appliedBreaks[v].startPixel+c,l),g=this.scaleBreaks._appliedBreaks[v].endPixel+b;g&&(f.moveTo(g,l),f.lineTo(d,l));f.stroke()}}else if(("left"===this._position||"right"===this._position)&&this.lineThickness){this.reversed?(g=this.lineCoordinates.y1,d=this.lineCoordinates.y2):(g=this.lineCoordinates.y2,d=this.lineCoordinates.y1);f.lineWidth=this.lineThickness;f.strokeStyle=
|
|
736
|
+
this.lineColor;f.setLineDash&&f.setLineDash(S(this.lineDashType,this.lineThickness));l=1===this.lineThickness%2?(this.lineCoordinates.x1<<0)+0.5:this.lineCoordinates.x1<<0;f.beginPath();if(this.scaleBreaks&&!e(this.scaleBreaks.firstBreakIndex))if(e(this.scaleBreaks.lastBreakIndex))g=this.scaleBreaks._appliedBreaks[this.scaleBreaks.firstBreakIndex].endPixel+c;else for(v=this.scaleBreaks.firstBreakIndex;v<=this.scaleBreaks.lastBreakIndex;v++)f.moveTo(l,g),f.lineTo(l,this.scaleBreaks._appliedBreaks[v].startPixel+
|
|
737
|
+
b),g=this.scaleBreaks._appliedBreaks[v].endPixel+c;g&&(f.moveTo(l,g),f.lineTo(l,d));f.stroke()}u&&(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),f.clearRect(0,0,this.chart.width,this.chart.height));f.restore()};z.prototype.getPixelCoordinatesOnAxis=function(a){var f={};if("bottom"===this._position||"top"===this._position)f.x=this.convertValueToPixel(a),
|
|
738
|
+
f.y=this.lineCoordinates.y1;if("left"===this._position||"right"===this._position)f.y=this.convertValueToPixel(a),f.x=this.lineCoordinates.x2;return f};z.prototype.convertPixelToValue=function(a){if("undefined"===typeof a)return null;var f=0,c=0,b,f=!0,g=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],c="number"===typeof a?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);
|
|
739
|
+
if(c<=this.conversionParameters.reference===("left"===this._position||"right"===this._position)!==this.reversed)for(c=0;c<g.length;c++){if(!(g[c].endValue<this.conversionParameters.minimum))if(f)if(g[c].startValue<this.conversionParameters.minimum){if(1<g[c].size&&this.conversionParameters.minimum*Math.pow(g[c].endValue/g[c].startValue,Math.log(b)/Math.log(g[c].size))<g[c].endValue){a=Math.pow(g[c].endValue/g[c].startValue,Math.log(b)/Math.log(g[c].size));break}else a*=g[c].endValue/this.conversionParameters.minimum/
|
|
740
|
+
Math.pow(g[c].size,Math.log(g[c].endValue/this.conversionParameters.minimum)/Math.log(g[c].endValue/g[c].startValue)),b/=Math.pow(g[c].size,Math.log(g[c].endValue/this.conversionParameters.minimum)/Math.log(g[c].endValue/g[c].startValue));f=!1}else if(b>g[c].startValue/this.conversionParameters.minimum){b/=g[c].startValue/this.conversionParameters.minimum;if(b<g[c].size){a*=Math.pow(g[c].endValue/g[c].startValue,1===g[c].size?1:Math.log(b)/Math.log(g[c].size))/b;break}else a*=g[c].endValue/g[c].startValue/
|
|
741
|
+
g[c].size;b/=g[c].size;f=!1}else break;else if(b>g[c].startValue/g[c-1].endValue){b/=g[c].startValue/g[c-1].endValue;if(b<g[c].size){a*=Math.pow(g[c].endValue/g[c].startValue,1===g[c].size?1:Math.log(b)/Math.log(g[c].size))/b;break}else a*=g[c].endValue/g[c].startValue/g[c].size;b/=g[c].size}else break}else for(c=g.length-1;0<=c;c--)if(!(g[c].startValue>this.conversionParameters.minimum))if(f)if(g[c].endValue>this.conversionParameters.minimum){if(1<g[c].size&&this.conversionParameters.minimum*Math.pow(g[c].endValue/
|
|
742
|
+
g[c].startValue,Math.log(b)/Math.log(g[c].size))>g[c].startValue){a=Math.pow(g[c].endValue/g[c].startValue,Math.log(b)/Math.log(g[c].size));break}else a*=g[c].startValue/this.conversionParameters.minimum*Math.pow(g[c].size,Math.log(g[c].startValue/this.conversionParameters.minimum)/Math.log(g[c].endValue/g[c].startValue))*b,b*=Math.pow(g[c].size,Math.log(this.conversionParameters.minimum/g[c].startValue)/Math.log(g[c].endValue/g[c].startValue));f=!1}else if(b<g[c].endValue/this.conversionParameters.minimum){b/=
|
|
743
|
+
g[c].endValue/this.conversionParameters.minimum;if(b>1/g[c].size){a*=Math.pow(g[c].endValue/g[c].startValue,1>=g[c].size?1:Math.log(b)/Math.log(g[c].size))*b;break}else a/=g[c].endValue/g[c].startValue/g[c].size;b*=g[c].size;f=!1}else break;else if(b<g[c].endValue/g[c+1].startValue){b/=g[c].endValue/g[c+1].startValue;if(b>1/g[c].size){a*=Math.pow(g[c].endValue/g[c].startValue,1>=g[c].size?1:Math.log(b)/Math.log(g[c].size))*b;break}else a/=g[c].endValue/g[c].startValue/g[c].size;b*=g[c].size}else break;
|
|
744
|
+
f=a*this.viewportMinimum}else{a=b=(c-this.conversionParameters.reference)/this.conversionParameters.pixelPerUnit;if(c<=this.conversionParameters.reference===("left"===this._position||"right"===this._position)!==this.reversed)for(c=0;c<g.length;c++){if(!(g[c].endValue<this.conversionParameters.minimum))if(f)if(g[c].startValue<this.conversionParameters.minimum){if(g[c].size&&this.conversionParameters.minimum+b*(g[c].endValue-g[c].startValue)/g[c].size<g[c].endValue){a=0>=g[c].size?0:b*(g[c].endValue-
|
|
745
|
+
g[c].startValue)/g[c].size;break}else a+=g[c].endValue-this.conversionParameters.minimum-g[c].size*(g[c].endValue-this.conversionParameters.minimum)/(g[c].endValue-g[c].startValue),b-=g[c].size*(g[c].endValue-this.conversionParameters.minimum)/(g[c].endValue-g[c].startValue);f=!1}else if(b>g[c].startValue-this.conversionParameters.minimum){b-=g[c].startValue-this.conversionParameters.minimum;if(b<g[c].size){a+=(g[c].endValue-g[c].startValue)*(0===g[c].size?1:b/g[c].size)-b;break}else a+=g[c].endValue-
|
|
746
|
+
g[c].startValue-g[c].size;b-=g[c].size;f=!1}else break;else if(b>g[c].startValue-g[c-1].endValue){b-=g[c].startValue-g[c-1].endValue;if(b<g[c].size){a+=(g[c].endValue-g[c].startValue)*(0===g[c].size?1:b/g[c].size)-b;break}else a+=g[c].endValue-g[c].startValue-g[c].size;b-=g[c].size}else break}else for(c=g.length-1;0<=c;c--)if(!(g[c].startValue>this.conversionParameters.minimum))if(f)if(g[c].endValue>this.conversionParameters.minimum)if(g[c].size&&this.conversionParameters.minimum+b*(g[c].endValue-
|
|
747
|
+
g[c].startValue)/g[c].size>g[c].startValue){a=0>=g[c].size?0:b*(g[c].endValue-g[c].startValue)/g[c].size;break}else a+=g[c].startValue-this.conversionParameters.minimum+g[c].size*(this.conversionParameters.minimum-g[c].startValue)/(g[c].endValue-g[c].startValue),b+=g[c].size*(this.conversionParameters.minimum-g[c].startValue)/(g[c].endValue-g[c].startValue),f=!1;else if(b<g[c].endValue-this.conversionParameters.minimum){b-=g[c].endValue-this.conversionParameters.minimum;if(b>-1*g[c].size){a+=(g[c].endValue-
|
|
748
|
+
g[c].startValue)*(0===g[c].size?1:b/g[c].size)+b;break}else a-=g[c].endValue-g[c].startValue-g[c].size;b+=g[c].size;f=!1}else break;else if(b<g[c].endValue-g[c+1].startValue){b-=g[c].endValue-g[c+1].startValue;if(b>-1*g[c].size){a+=(g[c].endValue-g[c].startValue)*(0===g[c].size?1:b/g[c].size)+b;break}else a-=g[c].endValue-g[c].startValue-g[c].size;b+=g[c].size}else break;f=this.conversionParameters.minimum+a}return f};z.prototype.convertValueToPixel=function(a){a=this.getApparentDifference(this.conversionParameters.minimum,
|
|
749
|
+
a,a);return this.logarithmic?this.conversionParameters.reference+this.conversionParameters.pixelPerUnit*Math.log(a/this.conversionParameters.minimum)/this.conversionParameters.lnLogarithmBase+0.5<<0:"axisX"===this.type?this.conversionParameters.reference+this.conversionParameters.pixelPerUnit*(a-this.conversionParameters.minimum)+0.5<<0:this.conversionParameters.reference+this.conversionParameters.pixelPerUnit*(a-this.conversionParameters.minimum)+0.5};z.prototype.getApparentDifference=function(a,
|
|
750
|
+
f,c,b){var g=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];if(this.logarithmic){c=e(c)?f/a:c;for(var d=0;d<g.length&&!(f<g[d].startValue);d++)a>g[d].endValue||(a<=g[d].startValue&&f>=g[d].endValue?c=c/g[d].endValue*g[d].startValue*g[d].size:a>=g[d].startValue&&f>=g[d].endValue?c=c/g[d].endValue*a*Math.pow(g[d].size,Math.log(g[d].endValue/a)/Math.log(g[d].endValue/g[d].startValue)):a<=g[d].startValue&&f<=g[d].endValue?c=c/f*g[d].startValue*Math.pow(g[d].size,Math.log(f/g[d].startValue)/Math.log(g[d].endValue/
|
|
751
|
+
g[d].startValue)):!b&&(a>g[d].startValue&&f<g[d].endValue)&&(c=a*Math.pow(g[d].size,Math.log(f/a)/Math.log(g[d].endValue/g[d].startValue))))}else for(c=e(c)?Math.abs(f-a):c,d=0;d<g.length&&!(f<g[d].startValue);d++)a>g[d].endValue||(a<=g[d].startValue&&f>=g[d].endValue?c=c-g[d].endValue+g[d].startValue+g[d].size:a>g[d].startValue&&f>=g[d].endValue?c=c-g[d].endValue+a+g[d].size*(g[d].endValue-a)/(g[d].endValue-g[d].startValue):a<=g[d].startValue&&f<g[d].endValue?c=c-f+g[d].startValue+g[d].size*(f-g[d].startValue)/
|
|
752
|
+
(g[d].endValue-g[d].startValue):!b&&(a>g[d].startValue&&f<g[d].endValue)&&(c=a+g[d].size*(f-a)/(g[d].endValue-g[d].startValue)));return c};z.prototype.setViewPortRange=function(a,f){this.sessionVariables.newViewportMinimum=this.viewportMinimum=Math.min(a,f);this.sessionVariables.newViewportMaximum=this.viewportMaximum=Math.max(a,f)};z.prototype.getXValueAt=function(a){if(!a)return null;var f=null;"left"===this._position?f=this.convertPixelToValue(a.y):"bottom"===this._position&&(f=this.convertPixelToValue(a.x));
|
|
753
|
+
return f};z.prototype.calculateValueToPixelConversionParameters=function(a){a=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];var f={pixelPerUnit:null,minimum:null,reference:null},c=this.lineCoordinates.width,b=this.lineCoordinates.height,c="bottom"===this._position||"top"===this._position?c:b,b=Math.abs(this.range);if(this.logarithmic)for(var d=0;d<a.length&&!(this.viewportMaximum<a[d].startValue);d++)this.viewportMinimum>a[d].endValue||(this.viewportMinimum>=a[d].startValue&&this.viewportMaximum<=
|
|
754
|
+
a[d].endValue?c=0:this.viewportMinimum<=a[d].startValue&&this.viewportMaximum>=a[d].endValue?(b=b/a[d].endValue*a[d].startValue,c=0<a[d].spacing.toString().indexOf("%")?c*(1-parseFloat(a[d].spacing)/100):c-Math.min(a[d].spacing,0.1*c)):this.viewportMinimum>a[d].startValue&&this.viewportMaximum>=a[d].endValue?(b=b/a[d].endValue*this.viewportMinimum,c=0<a[d].spacing.toString().indexOf("%")?c*(1-parseFloat(a[d].spacing)/100*Math.log(a[d].endValue/this.viewportMinimum)/Math.log(a[d].endValue/a[d].startValue)):
|
|
755
|
+
c-Math.min(a[d].spacing,0.1*c)*Math.log(a[d].endValue/this.viewportMinimum)/Math.log(a[d].endValue/a[d].startValue)):this.viewportMinimum<=a[d].startValue&&this.viewportMaximum<a[d].endValue&&(b=b/this.viewportMaximum*a[d].startValue,c=0<a[d].spacing.toString().indexOf("%")?c*(1-parseFloat(a[d].spacing)/100*Math.log(this.viewportMaximum/a[d].startValue)/Math.log(a[d].endValue/a[d].startValue)):c-Math.min(a[d].spacing,0.1*c)*Math.log(this.viewportMaximum/a[d].startValue)/Math.log(a[d].endValue/a[d].startValue)));
|
|
756
|
+
else for(d=0;d<a.length&&!(this.viewportMaximum<a[d].startValue);d++)this.viewportMinimum>a[d].endValue||(this.viewportMinimum>=a[d].startValue&&this.viewportMaximum<=a[d].endValue?c=0:this.viewportMinimum<=a[d].startValue&&this.viewportMaximum>=a[d].endValue?(b=b-a[d].endValue+a[d].startValue,c=0<a[d].spacing.toString().indexOf("%")?c*(1-parseFloat(a[d].spacing)/100):c-Math.min(a[d].spacing,0.1*c)):this.viewportMinimum>a[d].startValue&&this.viewportMaximum>=a[d].endValue?(b=b-a[d].endValue+this.viewportMinimum,
|
|
757
|
+
c=0<a[d].spacing.toString().indexOf("%")?c*(1-parseFloat(a[d].spacing)/100*(a[d].endValue-this.viewportMinimum)/(a[d].endValue-a[d].startValue)):c-Math.min(a[d].spacing,0.1*c)*(a[d].endValue-this.viewportMinimum)/(a[d].endValue-a[d].startValue)):this.viewportMinimum<=a[d].startValue&&this.viewportMaximum<a[d].endValue&&(b=b-this.viewportMaximum+a[d].startValue,c=0<a[d].spacing.toString().indexOf("%")?c*(1-parseFloat(a[d].spacing)/100*(this.viewportMaximum-a[d].startValue)/(a[d].endValue-a[d].startValue)):
|
|
758
|
+
c-Math.min(a[d].spacing,0.1*c)*(this.viewportMaximum-a[d].startValue)/(a[d].endValue-a[d].startValue)));f.minimum=this.viewportMinimum;f.maximum=this.viewportMaximum;f.range=b;if("bottom"===this._position||"top"===this._position)this.logarithmic?(f.lnLogarithmBase=Math.log(this.logarithmBase),f.pixelPerUnit=(this.reversed?-1:1)*c*f.lnLogarithmBase/Math.log(Math.abs(b))):f.pixelPerUnit=(this.reversed?-1:1)*c/Math.abs(b),f.reference=this.reversed?this.lineCoordinates.x2:this.lineCoordinates.x1;if("left"===
|
|
759
|
+
this._position||"right"===this._position)this.logarithmic?(f.lnLogarithmBase=Math.log(this.logarithmBase),f.pixelPerUnit=(this.reversed?1:-1)*c*f.lnLogarithmBase/Math.log(Math.abs(b))):f.pixelPerUnit=(this.reversed?1:-1)*c/Math.abs(b),f.reference=this.reversed?this.lineCoordinates.y1:this.lineCoordinates.y2;this.conversionParameters=f};z.prototype.calculateAxisParameters=function(){if(this.logarithmic)this.calculateLogarithmicAxisParameters();else{var a=this.chart.layoutManager.getFreeSpace(),f=!1,
|
|
760
|
+
c=!1;"bottom"===this._position||"top"===this._position?(this.maxWidth=a.width,this.maxHeight=a.height):(this.maxWidth=a.height,this.maxHeight=a.width);var a="axisX"===this.type?"xySwapped"===this.chart.plotInfo.axisPlacement?62:70:"xySwapped"===this.chart.plotInfo.axisPlacement?50:40,b=4;"axisX"===this.type&&(b=600>this.maxWidth?8:6);var a=Math.max(b,Math.floor(this.maxWidth/a)),d,h,l,b=0;!e(this.options.viewportMinimum)&&(!e(this.options.viewportMaximum)&&this.options.viewportMinimum>=this.options.viewportMaximum)&&
|
|
761
|
+
(this.viewportMinimum=this.viewportMaximum=null);if(e(this.options.viewportMinimum)&&!e(this.sessionVariables.newViewportMinimum)&&!isNaN(this.sessionVariables.newViewportMinimum))this.viewportMinimum=this.sessionVariables.newViewportMinimum;else if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=this.minimum;if(e(this.options.viewportMaximum)&&!e(this.sessionVariables.newViewportMaximum)&&!isNaN(this.sessionVariables.newViewportMaximum))this.viewportMaximum=this.sessionVariables.newViewportMaximum;
|
|
762
|
+
else if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=this.maximum;if(this.scaleBreaks)for(b=0;b<this.scaleBreaks._appliedBreaks.length;b++)if((!e(this.sessionVariables.newViewportMinimum)&&this.sessionVariables.newViewportMinimum>=this.scaleBreaks._appliedBreaks[b].startValue||!e(this.options.minimum)&&this.options.minimum>=this.scaleBreaks._appliedBreaks[b].startValue||!e(this.options.viewportMinimum)&&this.viewportMinimum>=this.scaleBreaks._appliedBreaks[b].startValue)&&
|
|
763
|
+
(!e(this.sessionVariables.newViewportMaximum)&&this.sessionVariables.newViewportMaximum<=this.scaleBreaks._appliedBreaks[b].endValue||!e(this.options.maximum)&&this.options.maximum<=this.scaleBreaks._appliedBreaks[b].endValue||!e(this.options.viewportMaximum)&&this.viewportMaximum<=this.scaleBreaks._appliedBreaks[b].endValue)){this.scaleBreaks._appliedBreaks.splice(b,1);break}if("axisX"===this.type){if(this.dataSeries&&0<this.dataSeries.length)for(d=0;d<this.dataSeries.length;d++)"dateTime"===this.dataSeries[d].xValueType&&
|
|
764
|
+
(c=!0);d=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin;h=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax;0===h-d&&(b="undefined"===typeof this.options.interval?0.4:this.options.interval,h+=b,d-=b);Infinity!==this.dataInfo.minDiff?l=this.dataInfo.minDiff:1<h-d?l=0.5*Math.abs(h-d):(l=1,c&&(f=!0))}else"axisY"===this.type&&(d=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,h=null!==this.viewportMaximum?this.viewportMaximum:
|
|
765
|
+
this.dataInfo.viewPortMax,isFinite(d)||isFinite(h)?isFinite(d)?isFinite(h)||(h=d):d=h:(h="undefined"===typeof this.options.interval?-Infinity:this.options.interval,d="undefined"!==typeof this.options.interval||isFinite(this.dataInfo.minDiff)?0:Infinity),0===d&&0===h?(h+=9,d=0):0===h-d?(b=Math.min(Math.abs(0.01*Math.abs(h)),5),h+=b,d-=b):d>h?(b=Math.min(0.01*Math.abs(this.getApparentDifference(h,d,null,!0)),5),0<=h?d=h-b:h=isFinite(d)?d+b:0):(b=Math.min(0.01*Math.abs(this.getApparentDifference(d,h,
|
|
766
|
+
null,!0)),0.05),0!==h&&(h+=b),0!==d&&(d-=b)),l=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<h-d?0.5*Math.abs(h-d):1,this.includeZero&&(null===this.viewportMinimum||isNaN(this.viewportMinimum))&&0<d&&(d=0),this.includeZero&&(null===this.viewportMaximum||isNaN(this.viewportMaximum))&&0>h&&(h=0));b=this.getApparentDifference(isNaN(this.viewportMinimum)||null===this.viewportMinimum?d:this.viewportMinimum,isNaN(this.viewportMaximum)||null===this.viewportMaximum?h:this.viewportMaximum,null,
|
|
767
|
+
!0);if("axisX"===this.type&&c){this.valueType="dateTime";this.intervalType||(b/1<=a?(this.interval=1,this.intervalType="millisecond"):b/2<=a?(this.interval=2,this.intervalType="millisecond"):b/5<=a?(this.interval=5,this.intervalType="millisecond"):b/10<=a?(this.interval=10,this.intervalType="millisecond"):b/20<=a?(this.interval=20,this.intervalType="millisecond"):b/50<=a?(this.interval=50,this.intervalType="millisecond"):b/100<=a?(this.interval=100,this.intervalType="millisecond"):b/200<=a?(this.interval=
|
|
768
|
+
200,this.intervalType="millisecond"):b/250<=a?(this.interval=250,this.intervalType="millisecond"):b/300<=a?(this.interval=300,this.intervalType="millisecond"):b/400<=a?(this.interval=400,this.intervalType="millisecond"):b/500<=a?(this.interval=500,this.intervalType="millisecond"):b/(1*ba.secondDuration)<=a?(this.interval=1,this.intervalType="second"):b/(2*ba.secondDuration)<=a?(this.interval=2,this.intervalType="second"):b/(5*ba.secondDuration)<=a?(this.interval=5,this.intervalType="second"):b/(10*
|
|
769
|
+
ba.secondDuration)<=a?(this.interval=10,this.intervalType="second"):b/(15*ba.secondDuration)<=a?(this.interval=15,this.intervalType="second"):b/(20*ba.secondDuration)<=a?(this.interval=20,this.intervalType="second"):b/(30*ba.secondDuration)<=a?(this.interval=30,this.intervalType="second"):b/(1*ba.minuteDuration)<=a?(this.interval=1,this.intervalType="minute"):b/(2*ba.minuteDuration)<=a?(this.interval=2,this.intervalType="minute"):b/(5*ba.minuteDuration)<=a?(this.interval=5,this.intervalType="minute"):
|
|
770
|
+
b/(10*ba.minuteDuration)<=a?(this.interval=10,this.intervalType="minute"):b/(15*ba.minuteDuration)<=a?(this.interval=15,this.intervalType="minute"):b/(20*ba.minuteDuration)<=a?(this.interval=20,this.intervalType="minute"):b/(30*ba.minuteDuration)<=a?(this.interval=30,this.intervalType="minute"):b/(1*ba.hourDuration)<=a?(this.interval=1,this.intervalType="hour"):b/(2*ba.hourDuration)<=a?(this.interval=2,this.intervalType="hour"):b/(3*ba.hourDuration)<=a?(this.interval=3,this.intervalType="hour"):b/
|
|
771
|
+
(6*ba.hourDuration)<=a?(this.interval=6,this.intervalType="hour"):b/(1*ba.dayDuration)<=a?(this.interval=1,this.intervalType="day"):b/(2*ba.dayDuration)<=a?(this.interval=2,this.intervalType="day"):b/(4*ba.dayDuration)<=a?(this.interval=4,this.intervalType="day"):b/(1*ba.weekDuration)<=a?(this.interval=1,this.intervalType="week"):b/(2*ba.weekDuration)<=a?(this.interval=2,this.intervalType="week"):b/(3*ba.weekDuration)<=a?(this.interval=3,this.intervalType="week"):b/(1*ba.monthDuration)<=a?(this.interval=
|
|
772
|
+
1,this.intervalType="month"):b/(2*ba.monthDuration)<=a?(this.interval=2,this.intervalType="month"):b/(3*ba.monthDuration)<=a?(this.interval=3,this.intervalType="month"):b/(6*ba.monthDuration)<=a?(this.interval=6,this.intervalType="month"):(this.interval=b/(1*ba.yearDuration)<=a?1:b/(2*ba.yearDuration)<=a?2:b/(4*ba.yearDuration)<=a?4:Math.floor(z.getNiceNumber(b/(a-1),!0)/ba.yearDuration),this.intervalType="year"));if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=d-
|
|
773
|
+
l/2;if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=h+l/2;f?this.autoValueFormatString="MMM DD YYYY HH:mm":"year"===this.intervalType?this.autoValueFormatString="YYYY":"month"===this.intervalType?this.autoValueFormatString="MMM YYYY":"week"===this.intervalType?this.autoValueFormatString="MMM DD YYYY":"day"===this.intervalType?this.autoValueFormatString="MMM DD YYYY":"hour"===this.intervalType?this.autoValueFormatString="hh:mm TT":"minute"===this.intervalType?this.autoValueFormatString=
|
|
774
|
+
"hh:mm TT":"second"===this.intervalType?this.autoValueFormatString="hh:mm:ss TT":"millisecond"===this.intervalType&&(this.autoValueFormatString="fff'ms'");this.valueFormatString||(this.valueFormatString=this.autoValueFormatString)}else{this.intervalType="number";b=z.getNiceNumber(b,!1);this.interval=this.options&&0<this.options.interval?this.options.interval:z.getNiceNumber(b/(a-1),!0);if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum="axisX"===this.type?d-l/2:Math.floor(d/
|
|
775
|
+
this.interval)*this.interval;if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum="axisX"===this.type?h+l/2:Math.ceil(h/this.interval)*this.interval;0===this.viewportMaximum&&0===this.viewportMinimum&&(0===this.options.viewportMinimum?this.viewportMaximum+=10:0===this.options.viewportMaximum&&(this.viewportMinimum-=10),this.options&&"undefined"===typeof this.options.interval&&(this.interval=z.getNiceNumber((this.viewportMaximum-this.viewportMinimum)/(a-1),!0)))}if(null===
|
|
776
|
+
this.minimum||null===this.maximum)if("axisX"===this.type?(d=null!==this.minimum?this.minimum:this.dataInfo.min,h=null!==this.maximum?this.maximum:this.dataInfo.max,0===h-d&&(b="undefined"===typeof this.options.interval?0.4:this.options.interval,h+=b,d-=b),l=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<h-d?0.5*Math.abs(h-d):1):"axisY"===this.type&&(d=null!==this.minimum?this.minimum:this.dataInfo.min,h=null!==this.maximum?this.maximum:this.dataInfo.max,isFinite(d)||isFinite(h)?0===d&&0===
|
|
777
|
+
h?(h+=9,d=0):0===h-d?(b=Math.min(Math.abs(0.01*Math.abs(h)),5),h+=b,d-=b):d>h?(b=Math.min(0.01*Math.abs(this.getApparentDifference(h,d,null,!0)),5),0<=h?d=h-b:h=isFinite(d)?d+b:0):(b=Math.min(0.01*Math.abs(this.getApparentDifference(d,h,null,!0)),0.05),0!==h&&(h+=b),0!==d&&(d-=b)):(h="undefined"===typeof this.options.interval?-Infinity:this.options.interval,d="undefined"!==typeof this.options.interval||isFinite(this.dataInfo.minDiff)?0:Infinity),l=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:
|
|
778
|
+
1<h-d?0.5*Math.abs(h-d):1,this.includeZero&&(null===this.minimum||isNaN(this.minimum))&&0<d&&(d=0),this.includeZero&&(null===this.maximum||isNaN(this.maximum))&&0>h&&(h=0)),Math.abs(this.getApparentDifference(d,h,null,!0)),"axisX"===this.type&&c){this.valueType="dateTime";if(null===this.minimum||isNaN(this.minimum))this.minimum=d-l/2,this.minimum=Math.min(this.minimum,null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?Infinity:this.sessionVariables.viewportMinimum);
|
|
779
|
+
if(null===this.maximum||isNaN(this.maximum))this.maximum=h+l/2,this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?-Infinity:this.sessionVariables.viewportMaximum)}else this.intervalType=this.valueType="number",null===this.minimum&&(this.minimum="axisX"===this.type?d-l/2:Math.floor(d/this.interval)*this.interval,this.minimum=Math.min(this.minimum,null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?
|
|
780
|
+
Infinity:this.sessionVariables.viewportMinimum)),null===this.maximum&&(this.maximum="axisX"===this.type?h+l/2:Math.ceil(h/this.interval)*this.interval,this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?-Infinity:this.sessionVariables.viewportMaximum)),0===this.maximum&&0===this.minimum&&(0===this.options.minimum?this.maximum+=10:0===this.options.maximum&&(this.minimum-=10));e(this.sessionVariables.newViewportMinimum)&&(this.viewportMinimum=
|
|
781
|
+
Math.max(this.viewportMinimum,this.minimum));e(this.sessionVariables.newViewportMaximum)&&(this.viewportMaximum=Math.min(this.viewportMaximum,this.maximum));this.range=this.viewportMaximum-this.viewportMinimum;this.intervalStartPosition="axisX"===this.type&&c?this.getLabelStartPoint(new Date(this.viewportMinimum),this.intervalType,this.interval):Math.floor((this.viewportMinimum+0.2*this.interval)/this.interval)*this.interval;this.valueFormatString||(this.valueFormatString=z.generateValueFormatString(this.range,
|
|
782
|
+
2))}};z.prototype.calculateLogarithmicAxisParameters=function(){var a=this.chart.layoutManager.getFreeSpace(),d=Math.log(this.logarithmBase),c;"bottom"===this._position||"top"===this._position?(this.maxWidth=a.width,this.maxHeight=a.height):(this.maxWidth=a.height,this.maxHeight=a.width);var a="axisX"===this.type?500>this.maxWidth?7:Math.max(7,Math.floor(this.maxWidth/100)):Math.max(Math.floor(this.maxWidth/50),3),b,g,h,l;l=1;if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=
|
|
783
|
+
this.minimum;if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=this.maximum;if(this.scaleBreaks)for(l=0;l<this.scaleBreaks._appliedBreaks.length;l++)if((!e(this.sessionVariables.newViewportMinimum)&&this.sessionVariables.newViewportMinimum>=this.scaleBreaks._appliedBreaks[l].startValue||!e(this.options.minimum)&&this.options.minimum>=this.scaleBreaks._appliedBreaks[l].startValue||!e(this.options.viewportMinimum)&&this.viewportMinimum>=this.scaleBreaks._appliedBreaks[l].startValue)&&
|
|
784
|
+
(!e(this.sessionVariables.newViewportMaximum)&&this.sessionVariables.newViewportMaximum<=this.scaleBreaks._appliedBreaks[l].endValue||!e(this.options.maximum)&&this.options.maximum<=this.scaleBreaks._appliedBreaks[l].endValue||!e(this.options.viewportMaximum)&&this.viewportMaximum<=this.scaleBreaks._appliedBreaks[l].endValue)){this.scaleBreaks._appliedBreaks.splice(l,1);break}"axisX"===this.type?(b=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,g=null!==this.viewportMaximum?
|
|
785
|
+
this.viewportMaximum:this.dataInfo.viewPortMax,1===g/b&&(l=Math.pow(this.logarithmBase,"undefined"===typeof this.options.interval?0.4:this.options.interval),g*=l,b/=l),h=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:g/b>this.logarithmBase?g/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase):"axisY"===this.type&&(b=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,g=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,0>=b&&!isFinite(g)?(g=
|
|
786
|
+
"undefined"===typeof this.options.interval?0:this.options.interval,b=1):0>=b?b=g:isFinite(g)||(g=b),1===b&&1===g?(g*=this.logarithmBase-1/this.logarithmBase,b=1):1===g/b?(l=Math.min(g*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,5)),g*=l,b/=l):b>g?(l=Math.min(b/g*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,5)),1<=g?b=g/l:g=b*l):(l=Math.min(g/b*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,0.04)),1!==g&&(g*=l),1!==b&&(b/=l)),h=Infinity!==this.dataInfo.minDiff?
|
|
787
|
+
this.dataInfo.minDiff:g/b>this.logarithmBase?g/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase,this.includeZero&&(null===this.viewportMinimum||isNaN(this.viewportMinimum))&&1<b&&(b=1),this.includeZero&&(null===this.viewportMaximum||isNaN(this.viewportMaximum))&&1>g&&(g=1));l=(isNaN(this.viewportMaximum)||null===this.viewportMaximum?g:this.viewportMaximum)/(isNaN(this.viewportMinimum)||null===this.viewportMinimum?b:this.viewportMinimum);var v=(isNaN(this.viewportMaximum)||null===this.viewportMaximum?
|
|
788
|
+
g:this.viewportMaximum)-(isNaN(this.viewportMinimum)||null===this.viewportMinimum?b:this.viewportMinimum);this.intervalType="number";l=Math.pow(this.logarithmBase,z.getNiceNumber(Math.abs(Math.log(l)/d),!1));this.options&&0<this.options.interval?this.interval=this.options.interval:(this.interval=z.getNiceExponent(Math.log(l)/d/(a-1),!0),c=z.getNiceNumber(v/(a-1),!0));if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum="axisX"===this.type?b/Math.sqrt(h):Math.pow(this.logarithmBase,
|
|
789
|
+
this.interval*Math.floor(Math.log(b)/d/this.interval));if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum="axisX"===this.type?g*Math.sqrt(h):Math.pow(this.logarithmBase,this.interval*Math.ceil(Math.log(g)/d/this.interval));1===this.viewportMaximum&&1===this.viewportMinimum&&(1===this.options.viewportMinimum?this.viewportMaximum*=this.logarithmBase-1/this.logarithmBase:1===this.options.viewportMaximum&&(this.viewportMinimum/=this.logarithmBase-1/this.logarithmBase),this.options&&
|
|
790
|
+
"undefined"===typeof this.options.interval&&(this.interval=z.getNiceExponent(Math.ceil(Math.log(l)/d)/(a-1)),c=z.getNiceNumber((this.viewportMaximum-this.viewportMinimum)/(a-1),!0)));if(null===this.minimum||null===this.maximum)"axisX"===this.type?(b=null!==this.minimum?this.minimum:this.dataInfo.min,g=null!==this.maximum?this.maximum:this.dataInfo.max,1===g/b&&(l=Math.pow(this.logarithmBase,"undefined"===typeof this.options.interval?0.4:this.options.interval),g*=l,b/=l),h=Infinity!==this.dataInfo.minDiff?
|
|
791
|
+
this.dataInfo.minDiff:g/b>this.logarithmBase?g/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase):"axisY"===this.type&&(b=null!==this.minimum?this.minimum:this.dataInfo.min,g=null!==this.maximum?this.maximum:this.dataInfo.max,isFinite(b)||isFinite(g)?1===b&&1===g?(g*=this.logarithmBase,b/=this.logarithmBase):1===g/b?(l=Math.pow(this.logarithmBase,this.interval),g*=l,b/=l):b>g?(l=Math.min(0.01*(b/g),5),1<=g?b=g/l:g=b*l):(l=Math.min(g/b*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,
|
|
792
|
+
0.04)),1!==g&&(g*=l),1!==b&&(b/=l)):(g="undefined"===typeof this.options.interval?0:this.options.interval,b=1),h=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:g/b>this.logarithmBase?g/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase,this.includeZero&&(null===this.minimum||isNaN(this.minimum))&&1<b&&(b=1),this.includeZero&&(null===this.maximum||isNaN(this.maximum))&&1>g&&(g=1)),this.intervalType="number",null===this.minimum&&(this.minimum="axisX"===this.type?b/Math.sqrt(h):Math.pow(this.logarithmBase,
|
|
793
|
+
this.interval*Math.floor(Math.log(b)/d/this.interval)),e(null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?"undefined"===typeof this.sessionVariables.newViewportMinimum?Infinity:this.sessionVariables.newViewportMinimum:this.sessionVariables.viewportMinimum)||(this.minimum=Math.min(this.minimum,null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?"undefined"===typeof this.sessionVariables.newViewportMinimum?Infinity:this.sessionVariables.newViewportMinimum:
|
|
794
794
|
this.sessionVariables.viewportMinimum))),null===this.maximum&&(this.maximum="axisX"===this.type?g*Math.sqrt(h):Math.pow(this.logarithmBase,this.interval*Math.ceil(Math.log(g)/d/this.interval)),e(null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?"undefined"===typeof this.sessionVariables.newViewportMaximum?0:this.sessionVariables.newViewportMaximum:this.sessionVariables.viewportMaximum)||(this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||
|
|
795
795
|
isNaN(this.sessionVariables.viewportMaximum)?"undefined"===typeof this.sessionVariables.newViewportMaximum?0:this.sessionVariables.newViewportMaximum:this.sessionVariables.viewportMaximum))),1===this.maximum&&1===this.minimum&&(1===this.options.minimum?this.maximum*=this.logarithmBase-1/this.logarithmBase:1===this.options.maximum&&(this.minimum/=this.logarithmBase-1/this.logarithmBase));this.viewportMinimum=Math.max(this.viewportMinimum,this.minimum);this.viewportMaximum=Math.min(this.viewportMaximum,
|
|
796
796
|
this.maximum);this.viewportMinimum>this.viewportMaximum&&(!this.options.viewportMinimum&&!this.options.minimum||this.options.viewportMaximum||this.options.maximum?this.options.viewportMinimum||this.options.minimum||!this.options.viewportMaximum&&!this.options.maximum||(this.viewportMinimum=this.minimum=(this.options.viewportMaximum||this.options.maximum)/Math.pow(this.logarithmBase,2*Math.ceil(this.interval))):this.viewportMaximum=this.maximum=this.options.viewportMinimum||this.options.minimum);b=
|
|
@@ -930,7 +930,7 @@ this.chart.requestAnimFrame.call(window,function(){h.animate.call(h)}):this.char
|
|
|
930
930
|
d){if(0!==a){var c=d.dest,b=d.source.canvas,g=d.animationBase;c.drawImage(b,0,0,b.width,b.height,g-g*a,0,a*c.canvas.width/ka,c.canvas.height/ka)}},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/ka,b.height/ka);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/ka,c.canvas.height/ka);c.restore()}},easing:{linear:function(a,
|
|
931
931
|
d,c,b){return c*a/b+d},easeOutQuad:function(a,d,c,b){return-c*(a/=b)*(a-2)+d},easeOutQuart:function(a,d,c,b){return-c*((a=a/b-1)*a*a*a-1)+d},easeInQuad:function(a,d,c,b){return c*(a/=b)*a+d},easeInQuart:function(a,d,c,b){return c*(a/=b)*a*a*a+d}}},s={drawMarker:function(a,d,c,b,g,h,e,l){if(c){var v=1;c.fillStyle=h?h:"#000000";c.strokeStyle=e?e:"#000000";c.lineWidth=l?l:0;c.setLineDash&&c.setLineDash(S("solid",l));"circle"===b?(c.moveTo(a,d),c.beginPath(),c.arc(a,d,g/2,0,2*Math.PI,!1),h&&c.fill(),
|
|
932
932
|
l&&(e?c.stroke():(v=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=v))):"square"===b?(c.beginPath(),c.rect(a-g/2,d-g/2,g,g),h&&c.fill(),l&&(e?c.stroke():(v=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=v))):"triangle"===b?(c.beginPath(),c.moveTo(a-g/2,d+g/2),c.lineTo(a+g/2,d+g/2),c.lineTo(a,d-g/2),c.closePath(),h&&c.fill(),l&&(e?c.stroke():(v=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=v)),c.beginPath()):
|
|
933
|
-
"cross"===b&&(c.strokeStyle=h,c.lineWidth=g/4,c.beginPath(),c.moveTo(a-g/2,d-g/2),c.lineTo(a+g/2,d+g/2),c.stroke(),c.moveTo(a+g/2,d-g/2),c.lineTo(a-g/2,d+g/2),c.stroke())}},drawMarkers:function(a){for(var d=0;d<a.length;d++){var c=a[d];s.drawMarker(c.x,c.y,c.ctx,c.type,c.size,c.color,c.borderColor,c.borderThickness)}}};return t}();Ka.version="v3.7.
|
|
933
|
+
"cross"===b&&(c.strokeStyle=h,c.lineWidth=g/4,c.beginPath(),c.moveTo(a-g/2,d-g/2),c.lineTo(a+g/2,d+g/2),c.stroke(),c.moveTo(a+g/2,d-g/2),c.lineTo(a-g/2,d+g/2),c.stroke())}},drawMarkers:function(a){for(var d=0;d<a.length;d++){var c=a[d];s.drawMarker(c.x,c.y,c.ctx,c.type,c.size,c.color,c.borderColor,c.borderThickness)}}};return t}();Ka.version="v3.7.32 GA";window.CanvasJS&&(Ka&&!window.CanvasJS.Chart)&&(window.CanvasJS.Chart=Ka);ea.StockChart={width:500,height:600,backgroundColor:"white",theme:"light1",
|
|
934
934
|
animationEnabled:!1,animationDuration:1200,culture:"en",creditHref:"",creditText:"CanvasJS",exportEnabled:!1,exportFileName:"StockChart",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"}};ea.Navigator={enabled:!0,width:500,height:70,verticalAlign:"bottom",horizontalAlign:"center",
|
|
935
935
|
dynamicUpdate:!0,backgroundColor:"#fff",animationEnabled:!1,animationDuration:1200,theme:"light1",publicProperties:{slider:"readWrite",backgroundColor:"readWrite",animationEnabled:"readWrite",animationDuration:"readWrite",theme:"readWrite",axisX:"readWrite",axisY:"readWrite",axisX2:"readWrite",axisY2:"readWrite",data:"readWrite",options:"readWrite",bounds:"readOnly"}};ea.RangeSelector={enabled:!0,width:500,height:35,label:"Range",verticalAlign:"top",horizontalAlign:"center",selectedRangeButtonIndex:null,
|
|
936
936
|
publicProperties:{options:"readWrite",buttons:"readWrite",inputFields:"readWrite",buttonStyle:"readWrite",bounds:"readOnly"}};ea.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"}};ea.ButtonStyle={backgroundColor:"#fff",backgroundColorOnHover:"#2196f3",backgroundColorOnSelect:"#2196f3",borderColor:"#2196f3",borderThickness:2,labelFontColor:"#000",
|
|
@@ -1116,7 +1116,7 @@ l[d]:this.label};N.prototype.render=function(){this.textBlock.render(!0)};ia(W,a
|
|
|
1116
1116
|
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+"px",this.elements[d].style.paddingRight=this.style.padding.right+"px",this.elements[d].style.paddingBottom=this.style.padding.bottom+"px",this.elements[d].style.paddingLeft=this.style.padding.left+"px"):this.elements[d].style.padding=this.style.padding+"px",this.elements[d].style.mozAppearance=this.elements[d].style.webkitAppearance=
|
|
1117
1117
|
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=this.rangeSelector=this.stockChart.rangeSelector}};ia(Y,aa);Y.prototype._updateOptions=function(){this.updateOption("backgroundColor");this.updateOption("backgroundColorOnHover");this.updateOption("backgroundColorOnSelect");this.updateOption("borderColor");this.updateOption("borderThickness");
|
|
1118
1118
|
this.updateOption("labelFontColor");this.updateOption("labelFontColorOnHover");this.updateOption("labelFontSize");this.updateOption("labelFontStyle");this.updateOption("labelFontFamily");this.updateOption("labelFontWeight");this.updateOption("width");this.updateOption("maxWidth");this.updateOption("padding");this.updateOption("spacing");this.updateOption("cursor")};ia(ba,aa);ba.prototype._updateOptions=function(){this.updateOption("backgroundColor");this.updateOption("borderColor");this.updateOption("borderThickness");
|
|
1119
|
-
this.updateOption("borderColorOnFocus");this.updateOption("fontColor");this.updateOption("fontSize");this.updateOption("fontStyle");this.updateOption("fontFamily");this.updateOption("fontWeight");this.updateOption("width");this.updateOption("maxWidth");this.updateOption("padding");this.updateOption("spacing");this.updateOption("cursor")};return F}();T.version="v1.7.
|
|
1119
|
+
this.updateOption("borderColorOnFocus");this.updateOption("fontColor");this.updateOption("fontSize");this.updateOption("fontStyle");this.updateOption("fontFamily");this.updateOption("fontWeight");this.updateOption("width");this.updateOption("maxWidth");this.updateOption("padding");this.updateOption("spacing");this.updateOption("cursor")};return F}();T.version="v1.7.32 GA";window.CanvasJS&&(T&&(!window.CanvasJS.StockChart&&window.CanvasJS.Chart)&&(window.CanvasJS.StockChart=T),T&&!window.CanvasJS.Chart&&
|
|
1120
1120
|
(window.CanvasJS.Chart=Ka,window.CanvasJS.StockChart=T))})();
|
|
1121
1121
|
|
|
1122
1122
|
/*
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@canvasjs/stockcharts",
|
|
3
|
-
"version": "1.7.
|
|
4
|
-
"description": "CanvasJS JavaScript StockCharts",
|
|
3
|
+
"version": "1.7.32",
|
|
4
|
+
"description": "CanvasJS JavaScript StockCharts - Official",
|
|
5
5
|
"main": "canvasjs.stock.min.js",
|
|
6
6
|
"keywords": [
|
|
7
7
|
"stock chart",
|