@canvasjs/charts 3.7.30 → 3.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.min.js +152 -152
- 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 Charts
|
|
7
|
+
# CanvasJS JavaScript Charts - Official
|
|
8
8
|
CanvasJS is a JavaScript Charting Library for creating interactive charts & graphs for your web pages. Library supports a wide range of chart types including bar, line, area, pie, doughnut charts, etc. Charts work with all the popular Technologies & Frameworks like React, Angular, jQuery, PHP, etc.
|
|
9
9
|
<br/><br/>
|
|
10
10
|
|
package/canvasjs.min.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
CanvasJS Chart - v3.7.
|
|
2
|
+
CanvasJS Chart - v3.7.32 GA - https://canvasjs.com/
|
|
3
3
|
Copyright 2023 fenopix
|
|
4
4
|
|
|
5
5
|
--------------------- License Information --------------------
|
|
@@ -141,10 +141,10 @@ this.canvas.style.WebkitUserSelect="none",this.canvas.style.MozUserSelect="none"
|
|
|
141
141
|
right:"1px",top:"1px"}),this._canvasJSContainer.appendChild(this._toolBar),this.bounds={x1:0,y1:0,x2:this.width,y2:this.height},P(this.overlaidCanvas,"click",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),P(this.overlaidCanvas,"mousemove",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),P(this.overlaidCanvas,"mouseup",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),P(this.overlaidCanvas,"mousedown",function(a){b._mouseEventHandler(a);wa(b._dropdownMenu)},
|
|
142
142
|
this.allDOMEventHandlers),P(this.overlaidCanvas,"mouseout",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),P(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",function(a){b._touchEventHandler(a)},this.allDOMEventHandlers),P(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerMove":"touchmove",function(a){b._touchEventHandler(a)},this.allDOMEventHandlers),P(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerUp":"touchend",function(a){b._touchEventHandler(a)},
|
|
143
143
|
this.allDOMEventHandlers),P(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerCancel":"touchcancel",function(a){b._touchEventHandler(a)},this.allDOMEventHandlers),this.toolTip=new U(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 v(a,d){for(var c=
|
|
144
|
-
[],b,e=0;e<a.length;e++)if(0==e)c.push(a[0]);else{var f,l,t;t=e-1;f=0===t?0:t-1;l=t===a.length-1?t:t+1;b=Math.abs((a[l].x-a[f].x)/(0===a[l].x-a[t].x?0.01:a[l].x-a[t].x))*(d-1)/2+1;var C=(a[l].x-a[f].x)/b;b=(a[l].y-a[f].y)/b;c[c.length]=a[t].x>a[f].x&&0<C||a[t].x<a[f].x&&0>C?{x:a[t].x+C/3,y:a[t].y+b/3}:{x:a[t].x,y:a[t].y+b/9};t=e;f=0===t?0:t-1;l=t===a.length-1?t:t+1;b=Math.abs((a[l].x-a[f].x)/(0===a[t].x-a[f].x?0.01:a[t].x-a[f].x))*(d-1)/2+1;C=(a[l].x-a[f].x)/b;b=(a[l].y-a[f].y)/b;
|
|
145
|
-
a[f].x&&0<C||a[t].x<a[f].x&&0>C?{x:a[t].x-C/3,y:a[t].y-b/3}:{x:a[t].x,y:a[t].y-b/9};c[c.length]=a[e]}return c}function B(a,d,c,b,e,f,l,t,C,k){var m=0;k?(l.color=f,t.color=f):k=1;m=C?Math.abs(e-c):Math.abs(b-d);m=0<l.trimLength?Math.abs(m*l.trimLength/100):Math.abs(m-l.length);C?(c+=m/2,e-=m/2):(d+=m/2,b-=m/2);var m=1===Math.round(l.thickness)%2?0.5:0,p=1===Math.round(t.thickness)%2?0.5:0;a.save();a.globalAlpha=k;a.strokeStyle=t.color||f;a.lineWidth=t.thickness||2;a.setLineDash&&
|
|
146
|
-
t.thickness));a.beginPath();C&&0<t.thickness?(a.moveTo(b-l.thickness/2,Math.round((c+e)/2)-p),a.lineTo(d+l.thickness/2,Math.round((c+e)/2)-p)):0<t.thickness&&(a.moveTo(Math.round((d+b)/2)-p,c+l.thickness/2),a.lineTo(Math.round((d+b)/2)-p,e-l.thickness/2));a.stroke();a.strokeStyle=l.color||f;a.lineWidth=l.thickness||2;a.setLineDash&&a.setLineDash(J(l.dashType,l.thickness));a.beginPath();C&&0<l.thickness?(a.moveTo(b-m,c),a.lineTo(b-m,e),a.moveTo(d+m,c),a.lineTo(d+m,e)):0<
|
|
147
|
-
m),a.lineTo(b,c+m),a.moveTo(d,e-m),a.lineTo(b,e-m));a.stroke();a.restore()}function K(a,d){K.base.constructor.call(this,"Legend","legend",d,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));
|
|
144
|
+
[],b,e=0;e<a.length;e++)if(0==e)c.push(a[0]);else{var f,l,t;t=e-1;f=0===t?0:t-1;l=t===a.length-1?t:t+1;b=Math.abs((a[l].x-a[f].x)/(0===a[l].x-a[t].x?0.01:a[l].x-a[t].x))*(d-1)/2+1;var C=(a[l].x-a[f].x)/b;b=(a[l].y-a[f].y)/b;c[c.length]=a[t].x>a[f].x&&0<C||a[t].x<a[f].x&&0>C?{x:a[t].x+C/3,y:a[t].y+b/3}:{x:a[t].x,y:a[t].y+(1===c.length?0:b/9)};t=e;f=0===t?0:t-1;l=t===a.length-1?t:t+1;b=Math.abs((a[l].x-a[f].x)/(0===a[t].x-a[f].x?0.01:a[t].x-a[f].x))*(d-1)/2+1;C=(a[l].x-a[f].x)/b;b=(a[l].y-a[f].y)/b;
|
|
145
|
+
c[c.length]=a[t].x>a[f].x&&0<C||a[t].x<a[f].x&&0>C?{x:a[t].x-C/3,y:a[t].y-b/3}:{x:a[t].x,y:a[t].y-b/9};c[c.length]=a[e]}return c}function B(a,d,c,b,e,f,l,t,C,k){var m=0;k?(l.color=f,t.color=f):k=1;m=C?Math.abs(e-c):Math.abs(b-d);m=0<l.trimLength?Math.abs(m*l.trimLength/100):Math.abs(m-l.length);C?(c+=m/2,e-=m/2):(d+=m/2,b-=m/2);var m=1===Math.round(l.thickness)%2?0.5:0,p=1===Math.round(t.thickness)%2?0.5:0;a.save();a.globalAlpha=k;a.strokeStyle=t.color||f;a.lineWidth=t.thickness||2;a.setLineDash&&
|
|
146
|
+
a.setLineDash(J(t.dashType,t.thickness));a.beginPath();C&&0<t.thickness?(a.moveTo(b-l.thickness/2,Math.round((c+e)/2)-p),a.lineTo(d+l.thickness/2,Math.round((c+e)/2)-p)):0<t.thickness&&(a.moveTo(Math.round((d+b)/2)-p,c+l.thickness/2),a.lineTo(Math.round((d+b)/2)-p,e-l.thickness/2));a.stroke();a.strokeStyle=l.color||f;a.lineWidth=l.thickness||2;a.setLineDash&&a.setLineDash(J(l.dashType,l.thickness));a.beginPath();C&&0<l.thickness?(a.moveTo(b-m,c),a.lineTo(b-m,e),a.moveTo(d+m,c),a.lineTo(d+m,e)):0<
|
|
147
|
+
l.thickness&&(a.moveTo(d,c+m),a.lineTo(b,c+m),a.moveTo(d,e-m),a.lineTo(b,e-m));a.stroke();a.restore()}function K(a,d){K.base.constructor.call(this,"Legend","legend",d,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
148
|
this.lineHeight=Ya(this.fontFamily,this.fontSize,this.fontWeight);this.horizontalSpacing=this.fontSize}function Q(a,d,c,b){Q.base.constructor.call(this,"DataSeries","data",d,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=d.dataPoints?d.dataPoints.length:0;this.dataPointEOs=[];for(d=0;d<a;d++)this.dataPointEOs[d]={};this.dataPointIds=[];this.plotUnit=
|
|
149
149
|
[];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 A(a,d,c,b,e,f){A.base.constructor.call(this,"Axis",d,c,b,a);this.chart=a;this.canvas=a.canvas;this.ctx=a.ctx;this.intervalStartPosition=this.maxHeight=
|
|
150
150
|
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"===e?("left"===f||"bottom"===f?(this.optionsName="axisX",s(this.chart.sessionVariables.axisX[b])&&(this.chart.sessionVariables.axisX[b]={}),this.sessionVariables=this.chart.sessionVariables.axisX[b]):(this.optionsName="axisX2",s(this.chart.sessionVariables.axisX2[b])&&
|
|
@@ -506,8 +506,8 @@ if(null!==u){t=g[a];s=g[u];var z=0,z=b(t,s)-r;if(0>z){for(var A=s=0,H=0;H<m.leng
|
|
|
506
506
|
0.7*D:0.85*D,u=x.x+w*Math.cos(h.midAngle),s=x.y+w*Math.sin(h.midAngle),h.indexLabelTextBlock.x=u,h.indexLabelTextBlock.y=s;for(a=0;a<m.length;a++)if(h=g[a],u=h.indexLabelTextBlock.measureText(),0!==u.height&&0!==u.width)u=u=0,"right"===h.hemisphere?(u=q.x2-(h.indexLabelTextBlock.x+h.indexLabelTextBlock.width+p),u*=-1):u=q.x1-(h.indexLabelTextBlock.x-h.indexLabelTextBlock.width-p),0<u&&(!l&&h.indexLabelText&&(s="right"===h.hemisphere?q.x2-h.indexLabelTextBlock.x:h.indexLabelTextBlock.x-q.x1,0.3*h.indexLabelTextBlock.maxWidth>
|
|
507
507
|
s?h.indexLabelText="":h.indexLabelTextBlock.maxWidth=0.85*s,0.3*h.indexLabelTextBlock.maxWidth<s&&(h.indexLabelTextBlock.x-="right"===h.hemisphere?2:-2)),Math.abs(h.indexLabelTextBlock.y-h.indexLabelTextBlock.height/2-x.y)<D||Math.abs(h.indexLabelTextBlock.y+h.indexLabelTextBlock.height/2-x.y)<D)&&(u/=Math.abs(Math.cos(h.indexLabelAngle)),9<u&&(u*=0.3),u>d&&(d=u)),u=u=0,0<h.indexLabelAngle&&h.indexLabelAngle<Math.PI?(u=q.y2-(h.indexLabelTextBlock.y+h.indexLabelTextBlock.height/2+5),u*=-1):u=q.y1-
|
|
508
508
|
(h.indexLabelTextBlock.y-h.indexLabelTextBlock.height/2-5),0<u&&(!l&&h.indexLabelText&&(s=0<h.indexLabelAngle&&h.indexLabelAngle<Math.PI?-1:1,0===f(a,u*s)&&f(a,2*s)),Math.abs(h.indexLabelTextBlock.x-x.x)<D&&(u/=Math.abs(Math.sin(h.indexLabelAngle)),9<u&&(u*=0.3),u>d&&(d=u)));var G=function(a,b,c){for(var d=[],e=0;d.push(g[b]),b!==c;b=(b+1+m.length)%m.length);d.sort(function(a,b){return a.y-b.y});for(b=0;b<d.length;b++)if(c=d[b],e<0.7*a)e+=c.indexLabelTextBlock.height,c.indexLabelTextBlock.text="",
|
|
509
|
-
c.indexLabelText="",c.indexLabelTextBlock.measureText();else break};(function(){for(var a=-1,c=-1,d=0,f=!1,l=0;l<m.length;l++)if(f=!1,t=g[l],t.indexLabelText){var k=e(l);if(null!==k){var h=g[k];z=0;z=b(t,h);var q;if(q=0>z){q=t.indexLabelTextBlock.x;var
|
|
510
|
-
h.indexLabelTextBlock.height/2;q=t.indexLabelTextBlock.x+t.indexLabelTextBlock.width<h.indexLabelTextBlock.x-p||q>u+p||
|
|
509
|
+
c.indexLabelText="",c.indexLabelTextBlock.measureText();else break};(function(){for(var a=-1,c=-1,d=0,f=!1,l=0;l<m.length;l++)if(f=!1,t=g[l],t.indexLabelText){var k=e(l);if(null!==k){var h=g[k];z=0;z=b(t,h);var q;if(q=0>z){q=t.indexLabelTextBlock.x;var r=t.indexLabelTextBlock.y-t.indexLabelTextBlock.height/2,n=t.indexLabelTextBlock.y+t.indexLabelTextBlock.height/2,s=h.indexLabelTextBlock.y-h.indexLabelTextBlock.height/2,u=h.indexLabelTextBlock.x+h.indexLabelTextBlock.width,C=h.indexLabelTextBlock.y+
|
|
510
|
+
h.indexLabelTextBlock.height/2;q=t.indexLabelTextBlock.x+t.indexLabelTextBlock.width<h.indexLabelTextBlock.x-p||q>u+p||r>C+p||n<s-p?!1:!0}q?(0>a&&(a=l),k!==a&&(c=k,d+=-z),0===l%Math.max(m.length/10,3)&&(f=!0)):f=!0;f&&(0<d&&0<=a&&0<=c)&&(G(d,a,c),c=a=-1,d=0)}}0<d&&G(d,a,c)})()}}function h(){n.plotArea.layoutManager.reset();n.title&&(n.title.dockInsidePlotArea||"center"===n.title.horizontalAlign&&"center"===n.title.verticalAlign)&&n.title.render();if(n.subtitles)for(var a=0;a<n.subtitles.length;a++){var b=
|
|
511
511
|
n.subtitles[a];(b.dockInsidePlotArea||"center"===b.horizontalAlign&&"center"===b.verticalAlign)&&b.render()}n.legend&&(n.legend.dockInsidePlotArea||"center"===n.legend.horizontalAlign&&"center"===n.legend.verticalAlign)&&(n.legend.setLayout(),n.legend.render())}var n=this;if(!(0>=a.dataSeriesIndexes.length)){var k=this.data[a.dataSeriesIndexes[0]],m=k.dataPoints,p=10,q=this.plotArea,g=k.dataPointEOs,r=2,w,v=1.3,u=20/180*Math.PI,y=6,x={x:(q.x2+q.x1)/2,y:(q.y2+q.y1)/2},z=0;a=!1;for(var A=0;A<m.length;A++)z+=
|
|
512
512
|
Math.abs(m[A].y),!a&&("undefined"!==typeof m[A].indexLabel&&null!==m[A].indexLabel&&0<m[A].indexLabel.toString().length)&&(a=!0),!a&&("undefined"!==typeof m[A].label&&null!==m[A].label&&0<m[A].label.toString().length)&&(a=!0);if(0!==z){a=a||"undefined"!==typeof k.indexLabel&&null!==k.indexLabel&&0<k.indexLabel.toString().length;var D="inside"!==k.indexLabelPlacement&&a?0.75*Math.min(q.width,q.height)/2:0.92*Math.min(q.width,q.height)/2;k.radius&&(D=Ta(k.radius,D));var B="undefined"!==typeof k.innerRadius&&
|
|
513
513
|
null!==k.innerRadius?Ta(k.innerRadius,D):0.7*D;k.radius=D;"doughnut"===k.type&&(k.innerRadius=B);var E=Math.min(B/D,(D-1)/D);this.pieDoughnutClickHandler=function(a){n.isAnimating||!s(a.dataSeries.explodeOnClick)&&!a.dataSeries.explodeOnClick||(a=a.dataPoint,a.exploded=a.exploded?!1:!0,1<this.dataPoints.length&&n._animator.animate(0,500,function(a){c(a);h();n.dispatchEvent("dataAnimationIterationEnd",{chart:n});n.dispatchEvent("dataAnimationEnd",{chart:n})}))};d();l();l();l();l();this.disableToolTip=
|
|
@@ -558,150 +558,150 @@ Q.getDefaultLegendMarker(p.type):p.markerType,g=p.legendText?p.legendText:this.i
|
|
|
558
558
|
p.markerBorderColor,u=p.legendMarkerBorderThickness?p.legendMarkerBorderThickness:p.markerBorderThickness?Math.max(1,Math.round(0.2*w)):0;"error"===p.type&&this.errorMarkerColor.push(r);g=this.chart.replaceKeywordsWithValue(g,p.dataPoints[0],p,m);q={markerType:q,markerColor:r,text:g,textBlock:null,chartType:p.type,markerSize:w,lineColor:p._colorSet[0],dataSeriesIndex:p.index,dataPointIndex:null,markerBorderColor:v,markerBorderThickness:u};n.push(q)}else for(var y=0;y<p.dataPoints.length;y++){var x=
|
|
559
559
|
p.dataPoints[y],q=x.legendMarkerType?x.legendMarkerType:p.legendMarkerType?p.legendMarkerType:Q.getDefaultLegendMarker(p.type),g=x.legendText?x.legendText:p.legendText?p.legendText:this.itemTextFormatter?this.itemTextFormatter({chart:this.chart,legend:this.options,dataSeries:p,dataPoint:x}):x.name?x.name:"DataPoint: "+(y+1),r=x.legendMarkerColor?x.legendMarkerColor:p.legendMarkerColor?p.legendMarkerColor:x.color?x.color:p.color?p.color:p._colorSet[y%p._colorSet.length],w=0.75*this.lineHeight,v=x.legendMarkerBorderColor?
|
|
560
560
|
x.legendMarkerBorderColor:p.legendMarkerBorderColor?p.legendMarkerBorderColor:x.markerBorderColor?x.markerBorderColor:p.markerBorderColor,u=x.legendMarkerBorderThickness?x.legendMarkerBorderThickness:p.legendMarkerBorderThickness?p.legendMarkerBorderThickness:x.markerBorderThickness||p.markerBorderThickness?Math.max(1,Math.round(0.2*w)):0,g=this.chart.replaceKeywordsWithValue(g,x,p,y),q={markerType:q,markerColor:r,text:g,textBlock:null,chartType:p.type,markerSize:w,dataSeriesIndex:m,dataPointIndex:y,
|
|
561
|
-
markerBorderColor:v,markerBorderThickness:u};(x.showInLegend||p.showInLegend&&!1!==x.showInLegend)&&n.push(q)}}!0===this.reversed&&n.reverse();if(0<n.length){p=null;
|
|
562
|
-
|
|
563
|
-
null!==this.itemWidth&&(q.textBlock.width=this.itemWidth-(w+h+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0)));if(!p||p.width+Math.round(q.textBlock.width+w+h+(0===p.width?0:this.horizontalSpacing)+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0))>f)p={items:[],width:0},k.push(p),this.height+=g,g=0;g=Math.max(g,q.textBlock.height?q.textBlock.height:this.lineHeight)
|
|
564
|
-
y:0,maxWidth:x,maxHeight:!0===this.itemWrap?l:1.5*this.fontSize,angle:0,text:q.text,horizontalAlign:"left",fontSize:this.fontSize,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontColor:this.fontColor,fontStyle:this.fontStyle,
|
|
565
|
-
(p=k[y],y=(y+1)%k.length),this.height+=q.textBlock.height?q.textBlock.height:this.lineHeight
|
|
566
|
-
|
|
567
|
-
this.horizontalAlign?d.x1:"right"===this.horizontalAlign?d.x2-this.width:d.x1+d.width/2-this.width/2,b=d.y2-this.height);this.items=n;for(m=0;m<this.items.length;m++)q=n[m],q.id=++this.chart._eventManager.lastObjectId,this.chart._eventManager.objectMap[q.id]={id:q.id,objectType:"legendItem",legendItemIndex:m,dataSeriesIndex:q.dataSeriesIndex,dataPointIndex:q.dataPointIndex};this.markerSize=
|
|
568
|
-
{x1:e,y1:b,x2:e+this.width,y2:b+this.height}};K.prototype.render=function(){var a=this.bounds.x1,d=this.bounds.y1,c=this.markerMargin,b=this.maxWidth,e=this.maxHeight,f=this.markerSize,l=this.rows;(0<this.borderThickness&&this.borderColor||this.backgroundColor)&&this.ctx.roundRect(a,d,this.width,this.height,this.cornerRadius,this.borderThickness,this.backgroundColor,this.borderColor);
|
|
569
|
-
p?0.2*f:this.horizontalSpacing),r=d+h,s=g;this.chart.data[q.dataSeriesIndex].visible||(this.ctx.globalAlpha=0.5);this.ctx.save();this.ctx.beginPath();this.ctx.rect(a,d,b,Math.max(e-e%this.lineHeight,0));this.ctx.clip();if("line"===q.chartType||"stepLine"===q.chartType||"spline"===q.chartType)this.ctx.strokeStyle=q.lineColor,this.ctx.lineWidth=Math.ceil(this.lineHeight/8),this.ctx.beginPath(),
|
|
570
|
-
2),this.ctx.stroke(),s-=0.1*this.lineHeight;if("error"===q.chartType){this.ctx.strokeStyle=this.errorMarkerColor[0];this.ctx.lineWidth=f/8;this.ctx.beginPath();var w=g-0.08*this.lineHeight+0.1*this.lineHeight,u=r+0.15*this.lineHeight,
|
|
571
|
-
this.ctx.stroke();this.errorMarkerColor.shift()}W.drawMarker(g+f/2,r+this.lineHeight/2,this.ctx,q.markerType,"error"===q.chartType||"line"===q.chartType||"spline"===q.chartType?q.markerSize/2:q.markerSize,q.markerColor,q.markerBorderColor,q.markerBorderThickness);q.textBlock.x=g+c+f;if("line"===q.chartType||"stepLine"===q.chartType||"spline"===q.chartType)q.textBlock.x+=0.1*this.lineHeight;
|
|
572
|
-
q.textBlock.height:this.lineHeight):q.textBlock.height?q.textBlock.height:this.lineHeight;this.chart.data[q.dataSeriesIndex].visible||(this.ctx.globalAlpha=1);g=X(q.id);this.ghostCtx.fillStyle=g;this.ghostCtx.beginPath();this.ghostCtx.fillRect(s,q.textBlock.y-this.lineHeight/2,q.textBlock.x+q.textBlock.width-s,q.textBlock.height?q.textBlock.height:this.lineHeight);q.x1=this.chart._eventManager.objectMap[q.id].x1=
|
|
573
|
-
this.chart._eventManager.objectMap[q.id].x2=q.textBlock.x+q.textBlock.width;q.y2=this.chart._eventManager.objectMap[q.id].y2=q.textBlock.y+(q.textBlock.height?q.textBlock.height:this.lineHeight)-this.lineHeight/2}h+=m}};oa(Q,G);Q.prototype.getDefaultAxisPlacement=function(){var a=this.type;if("column"===a||"line"===a||"stepLine"===a||"spline"===a||"area"===a||"stepArea"===a||"splineArea"===a||"stackedColumn"===
|
|
574
|
-
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};
|
|
575
|
-
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"===
|
|
576
|
-
if("error"===a)return"none";window.console.log("Unknown Chart Type: "+a);return null};Q.prototype.getDataPointAtX=function(a,d){if(!this.dataPoints||0===this.dataPoints.length)return null;var c={dataPoint:null,distance:Infinity,index:NaN},b=null,e=0,f=0,l=1,h=Infinity,n=0,k=0,m=0;"none"!==this.chart.plotInfo.axisPlacement&&(this.axisX.logarithmic?(m=Math.log(this.dataPoints[this.dataPoints.length-1].x/this.dataPoints[0].x),
|
|
577
|
-
0,0),this.dataPoints.length):0):(m=this.dataPoints[this.dataPoints.length-1].x-this.dataPoints[0].x,m=0<m?Math.min(Math.max((this.dataPoints.length-1)/m*(a-this.dataPoints[0].x)>>0,0),this.dataPoints.length):0));for(;;){f=0<l?m+e:m-e;if(0<=f&&f<this.dataPoints.length){var b=this.dataPoints[f],p=this.axisX.logarithmic?b.x>a?b.x/a:a/b.x:Math.abs(b.x-a);p<c.distance&&(c.dataPoint=b,c.distance=p,c.index=f);b=p;b<=h?
|
|
578
|
-
-1===l?(e++,l=1):l=-1}return d||(c.dataPoint.x.getTime?c.dataPoint.x.getTime():c.dataPoint.x)!==(a.getTime?a.getTime():a)?d&&null!==c.dataPoint?c:null:c};Q.prototype.getDataPointAtXY=function(a,d,c){if(!this.dataPoints||0===this.dataPoints.length||a<this.chart.plotArea.x1||a>this.chart.plotArea.x2||d<this.chart.plotArea.y1||d>this.chart.plotArea.y2)return null;c=c||!1;var b=[],e=0,f=0,l=1,h=!1,n=Infinity,k=0,m=
|
|
579
|
-
this.chart.axisX2[0]).getXValueAt({x:a,y:d}),this.axisX.logarithmic)var q=Math.log(this.dataPoints[this.dataPoints.length-1].x/this.dataPoints[0].x),p=1<q?Math.min(Math.max((this.dataPoints.length-1)/q*Math.log(p/this.dataPoints[0].x)>>0,0),this.dataPoints.length):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)>>
|
|
580
|
-
this.chart._eventManager.objectMap[this.dataPointIds[f]],g=this.dataPoints[f],r=null;if(q){switch(this.type){case "column":case "stackedColumn":case "stackedColumn100":case "bar":case "stackedBar":case "stackedBar100":case "rangeColumn":case "rangeBar":case "waterfall":case "error":a>=q.x1&&(a<=q.x2&&d>=q.y1&&d<=q.y2)&&(b.push({dataPoint:g,dataPointIndex:f,dataSeries:this,distance:Math.min(Math.abs(q.x1-
|
|
581
|
-
ma("markerSize",g,this)||4,v=c?20:w,r=Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y1-d,2));r<=v&&b.push({dataPoint:g,dataPointIndex:f,dataSeries:this,distance:r});q=Math.abs(q.x1-a);q<=n?n=q:0<l?k++:m++;r<=w/2&&(h=!0);break;case "rangeArea":case "rangeSplineArea":w=ma("markerSize",g,this)||
|
|
582
|
-
n?n=q:0<l?k++:m++;r<=w/2&&(h=!0);break;case "bubble":w=q.size;r=Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y1-d,2));r<=w/2&&(b.push({dataPoint:g,dataPointIndex:f,dataSeries:this,distance:r}),h=!0);break;case "pie":case "doughnut":w=q.center;v="doughnut"===this.type?q.percentInnerRadius*q.radius:
|
|
583
|
-
360)%360).toFixed(12)),v=Number(((180*(q.endAngle/Math.PI)%360+360)%360).toFixed(12)),0===v&&1<q.endAngle&&(v=360),w>=v&&(0!==g.y&&!s(g.y))&&(v+=360,r<w&&(r+=360)),r>w&&r<v&&(b.push({dataPoint:g,dataPointIndex:f,dataSeries:this,distance:0}),h=!0));break;case "funnel":case "pyramid":r=q.funnelSection;
|
|
584
|
-
(r.x4-r.x1)/(r.y4-r.y1)*(d-r.y1),r=r.x2+(r.x3-r.x2)/(r.y3-r.y2)*(d-r.y2)),a>f&&a<r&&(b.push({dataPoint:g,dataPointIndex:q.dataPointIndex,dataSeries:this,distance:0}),h=!0));break;case "boxAndWhisker":if(a>=q.x1-q.borderThickness/2&&a<=q.x2+q.borderThickness/2&&d>=q.y4-q.borderThickness/2&&d<=q.y1+q.borderThickness/
|
|
585
|
-
|
|
586
|
-
2&&d<=q.y1+q.borderThickness/2||a>=(q.x1+q.x2)/2&&a<=q.x2&&d>=q.y4-q.borderThickness/2&&d<=q.y4+q.borderThickness/2)b.push({dataPoint:g,dataPointIndex:f,dataSeries:this,distance:Math.min(Math.abs(q.x1-a),Math.abs(q.x2-a),Math.abs(q.y2-d),Math.abs(q.y3-d))}),h=!0}if(h||1E3<k&&1E3<m)break}}else if(0>p-e&&p+e>=
|
|
587
|
-
this.dataPoints,f=e[a].markerColor?e[a].markerColor:this.markerColor?this.markerColor:e[a].color?e[a].color:this.color?this.color:this._colorSet[a%this._colorSet.length],l=e[a].markerBorderColor?e[a].markerBorderColor:this.markerBorderColor?this.markerBorderColor:null,h=s(e[a].markerBorderThickness)?this.markerBorderThickness?
|
|
588
|
-
y:c,ctx:b,type:n,size:a,color:f,borderColor:l,borderThickness:h}};oa(A,G);A.prototype.createExtraLabelsForLog=function(a){a=(a||0)+1;if(!(5<a)){var d=this.logLabelValues[0]||this.intervalStartPosition;if(Math.log(this.range)/Math.log(d/this.viewportMinimum)<this.noTicks-1){for(var c=A.getNiceNumber((d-this.viewportMinimum)/Math.min(Math.max(2,
|
|
589
|
-
this.createExtraLabelsForLog(a)}}};A.prototype.createLabels=function(){var a,d,c=0,b=0,e,f=0,l=0,b=0,b=this.interval,h=0,n,k=0.6*this.chart.height,m;a=!1;var p=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],q=p.length?s(this.scaleBreaks.firstBreakIndex)?0:this.scaleBreaks.firstBreakIndex:0;if("axisX"!==this.type||"dateTime"!==
|
|
590
|
-
a)if(this.labels[c])g=!0;else{g=!1;break}g&&(this.interval=a,this.intervalStartPosition=b)}if(this.logarithmic&&!this.equidistantInterval)for(this.logLabelValues||(this.logLabelValues=[],this.createExtraLabelsForLog()),b=0,g=q;b<this.logLabelValues.length;b++)if(c=this.logLabelValues[b],c<this.viewportMinimum)b++;else{for(;g<p.length&&
|
|
591
|
-
label:this.labels[m]?this.labels[m]:null}):"axisX"===this.type&&this.labels[m]?this.labels[m]:da(m,this.valueFormatString,this.chart._cultureInfo),a=new ja(this.ctx,{x:0,y:0,maxWidth:f,maxHeight:l,angle:this.labelAngle,text:this.prefix+a+this.suffix,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,cornerRadius:this.labelCornerRadius,
|
|
592
|
-
fontStyle:this.labelFontStyle,textBaseline:"middle",borderThickness:0}),this._labels.push({position:m,textBlock:a,effectiveHeight:null}))}g=q;for(c=this.intervalStartPosition;c<=e;c=parseFloat(1E-12>this.interval?this.logarithmic&&this.equidistantInterval?c*Math.pow(this.logarithmBase,this.interval):c+this.interval:(this.logarithmic&&this.equidistantInterval?
|
|
593
|
-
c<=p[g].endValue;m=c;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:m,label:this.labels[m]?this.labels[m]:null}):"axisX"===this.type&&this.labels[m]?this.labels[m]:da(m,this.valueFormatString,this.chart._cultureInfo),a=new ja(this.ctx,{x:0,y:0,maxWidth:f,maxHeight:l,angle:this.labelAngle,text:this.prefix+a+this.suffix,
|
|
594
|
-
cornerRadius:this.labelCornerRadius,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle"}),this._labels.push({position:m,textBlock:a,effectiveHeight:null}))}}else for(this.intervalStartPosition=this.getLabelStartPoint(new Date(this.viewportMinimum),
|
|
595
|
-
e;Xa(c,b,this.intervalType)){for(a=c.getTime();g<p.length&&a>p[g].endValue;g++);m=a;a=g<p.length&&a>=p[g].startValue&&a<=p[g].endValue;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:new Date(m),label:this.labels[m]?this.labels[m]:null}):"axisX"===this.type&&this.labels[m]?this.labels[m]:Ba(m,this.valueFormatString,this.chart._cultureInfo),
|
|
596
|
-
cornerRadius:this.labelCornerRadius,maxHeight:l,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:m,textBlock:a,
|
|
597
|
-
this.lineCoordinates.width*Math.log(Math.min(this._labels[this._labels.length-1].position/this._labels[this._labels.length-2].position,this._labels[1].position/this._labels[0].position))/Math.log(this.range):this.lineCoordinates.width/(this.logarithmic&&this.equidistantInterval?Math.log(this.range)/Math.log(this.logarithmBase):Math.abs(this.range))*
|
|
598
|
-
(l="undefined"===typeof this.options.labelWrap||this.labelWrap?0.8*this.chart.height>>0:1.5*this.labelFontSize);else if("left"===this._position||"right"===this._position)h=this.logarithmic&&!this.equidistantInterval&&2<=this._labels.length?this.lineCoordinates.height*Math.log(Math.min(this._labels[this._labels.length-1].position/
|
|
599
|
-
Math.log(this.range)/Math.log(this.logarithmBase):Math.abs(this.range))*T[this.intervalType+"Duration"]*this.interval,this.chart.panEnabled||(f="undefined"===typeof this.options.labelMaxWidth?0.3*this.chart.width>>0:this.options.labelMaxWidth),l="undefined"===typeof this.options.labelWrap||this.labelWrap?0.3*this.chart.height>>
|
|
600
|
-
this.options.labelAutoFit)if(s(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(f=0.9*h>>0,q=0,!this.chart.panEnabled&&1<=
|
|
601
|
-
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 v,g=a.text.split(" "),b=0;b<g.length;b++)m=g[b],this.ctx.font=a.fontStyle+" "+a.fontWeight+" "+a.fontSize+"px "+a.fontFamily,m=this.ctx.measureText(m),
|
|
602
|
-
r=a.measureText();for(g=c+1;g<this._labels.length;g++)if(!this._labels[g].breaksLabelType){d=this._labels[g].textBlock;d=d.measureText();break}e.push(a.height);this.sessionVariables.labelMaxHeight=Math.max.apply(Math,e);Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.sin(Math.PI/180*Math.abs(this.labelAngle));b=f*Math.sin(Math.PI/
|
|
603
|
-
0===this.labelAngle?l:Math.min((b-f*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),b),m=(k-(n+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(-25)))/Math.sin(Math.PI/180*Math.abs(-25)),!s(this.options.labelWrap))this.labelWrap?s(this.options.labelMaxWidth)?
|
|
604
|
-
this.
|
|
605
|
-
f?-25:this.sessionVariables.labelAngle,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=l,this.sessionVariables.labelWrap=this.labelWrap);else{if(s(this.options.labelWrap))if(!s(this.options.labelMaxWidth))this.options.labelMaxWidth<f?
|
|
606
|
-
l);else if(!s(d))if(b=r.width+d.width>>0,g=this.labelFontSize,q<f)b-2*f>p&&(p=b-2*f,b>=2*f&&b<2.2*f?(this.sessionVariables.labelMaxWidth=f,s(this.options.labelFontSize)&&12<g&&(g=Math.floor(12/13*g),a.measureText()),this.sessionVariables.labelFontSize=s(this.options.labelFontSize)?
|
|
607
|
-
f&&b<3.2*f?(this.sessionVariables.labelMaxWidth=Math.max(f,q),this.sessionVariables.labelWrap=!0,s(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=s(this.options.labelFontSize)?
|
|
608
|
-
this.labelFontSize):b>3.6*f&&b<5*f?(s(this.options.labelFontSize)&&12<g&&(g=Math.floor(12/13*g),a.measureText()),this.sessionVariables.labelFontSize=s(this.options.labelFontSize)?g:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle
|
|
609
|
-
this.labelAngle));else if(v===c&&(0===v&&q+this._labels[v+1].textBlock.measureText().width-2*f>p||v===this._labels.length-1&&q+this._labels[v-1].textBlock.measureText().width-2*f>p||0<v&&v<this._labels.length-1&&q+this._labels[v+1].textBlock.measureText().width-2*f>p&&
|
|
610
|
-
g:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=m;else if(0===p)for(this.sessionVariables.labelFontSize=s(this.options.labelFontSize)?g:this.options.labelFontSize,this.sessionVariables.labelWrap
|
|
611
|
-
this.sessionVariables.labelMaxWidth=Math.min(Math.max(f,q),m),d=d.measureText(),r.width+d.width>>0>2*f&&(this.sessionVariables.labelAngle=-25))}else(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxHeight=0===this.labelAngle?l:Math.min((b-f*Math.cos(Math.PI/
|
|
612
|
-
f,this.sessionVariables.labelMaxHeight=this.labelWrap?(k-m*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)):1.5*this.labelFontSize,s(this.options.labelWrap))?s(this.options.labelWrap)&&(this.labelWrap&&!s(this.options.labelMaxWidth)?
|
|
613
|
-
this.sessionVariables.labelMaxWidth=m,this.sessionVariables.labelMaxHeight=b<0.9*h?0.9*h:b,this.sessionVariables.labelWrap=this.labelWrap)):(this.options.labelWrap?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?
|
|
614
|
-
l)}for(b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.labelMaxWidth=this.sessionVariables.labelMaxWidth,a.fontSize=this.sessionVariables.labelFontSize,a.angle=this.labelAngle=this.sessionVariables.labelAngle,a.wrap=this.labelWrap=this.sessionVariables.labelWrap,
|
|
615
|
-
this.sessionVariables.
|
|
616
|
-
a.
|
|
617
|
-
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=f;this.sessionVariables.labelMaxHeight=l;this.sessionVariables.labelAngle=s(this.sessionVariables.labelAngle)?
|
|
618
|
-
for(g=c+1;g<this._labels.length;g++)if(!this._labels[g].breaksLabelType){d=this._labels[g].textBlock;d=d.measureText();break}e.push(a.height);this.sessionVariables.labelMaxHeight=Math.max.apply(Math,e);b=f*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(l-a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));
|
|
619
|
-
s(this.options.labelWrap)?s(this.options.labelWrap)&&(s(this.options.labelMaxWidth)?s(d)||(h=r.height+d.height>>0,h-2*l>q&&(q=h-2*l,h>=2*l&&h<2.4*l?(s(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelMaxHeight=l,this.sessionVariables.labelFontSize=
|
|
620
|
-
this.labelFontSize,this.sessionVariables.labelWrap=!0):h>=2.8*l&&h<3.2*l?(this.sessionVariables.labelMaxHeight=l,this.sessionVariables.labelWrap=!0,s(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=s(this.options.labelFontSize)?
|
|
621
|
-
h<3.6*l?(this.sessionVariables.labelMaxHeight=b,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelFontSize=this.labelFontSize):h>3.6*l&&h<10*l?(s(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=s(this.options.labelFontSize)?
|
|
622
|
-
s(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):h>10*l&&h<50*l&&(s(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=s(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxHeight=
|
|
623
|
-
|
|
624
|
-
this.sessionVariables.labelMaxWidth=0===this.labelAngle?f:Math.min((b-l*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)),l),s(this.options.labelWrap))?s(this.options.labelWrap)&&(this.labelWrap&&!s(this.options.labelMaxWidth)?(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:
|
|
625
|
-
this.options.labelMaxWidth?this.options.labelMaxWidth:f,this.sessionVariables.labelMaxHeight=0===this.labelAngle?l:b,s(this.options.labelMaxWidth)&&(this.sessionVariables.labelAngle=this.labelAngle))):this.options.labelWrap?(this.sessionVariables.labelMaxHeight=0===this.labelAngle?l:b,this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=
|
|
626
|
-
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=
|
|
627
|
-
this._labels[c].textBlock,a.maxWidth=this.labelMaxWidth=s(this.options.labelMaxWidth)?s(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=f:this.sessionVariables.labelMaxWidth:this.options.labelMaxWidth,a.fontSize=this.labelFontSize=s(this.options.labelFontSize)?s(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=
|
|
628
|
-
this.sessionVariables.labelAngle=this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=s(this.options.labelWrap)?s(this.sessionVariables.labelWrap)?this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:this.options.labelWrap,a.maxHeight=s(this.sessionVariables.labelMaxHeight)?
|
|
629
|
-
f.labelPlacement){l=this.sessionVariables.labelMaxWidth;if("bottom"===this._position||"top"===this._position)s(f.options.labelWrap)&&!s(this.sessionVariables.stripLineLabelMaxHeight)?A=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=A=f.labelWrap?0.8*this.chart.height>>0:1.5*this.labelFontSize;
|
|
630
|
-
this.sessionVariables.stripLineLabelMaxHeight=A=f.labelWrap?0.8*this.chart.width>>0:1.5*this.labelFontSize;s(f.labelBackgroundColor)&&(f.labelBackgroundColor="#EEEEEE")}else l="bottom"===this._position||"top"===this._position?0.9*this.chart.width>>0:0.9*this.chart.height>>0,A=s(f.options.labelWrap)||f.labelWrap?"bottom"===this._position||
|
|
631
|
-
w?"transparent":null:f.labelBackgroundColor="#EEEEEE");a=new ja(this.ctx,{x:0,y:0,backgroundColor:f.labelBackgroundColor,borderColor:f.labelBorderColor,borderThickness:f.labelBorderThickness,cornerRadius:f.labelCornerRadius,maxWidth:f.options.labelMaxWidth?f.options.labelMaxWidth:l,maxHeight:A,angle:this.labelAngle,text:f.labelFormatter?
|
|
632
|
-
this.
|
|
633
|
-
effectiveHeight:null,stripLine:f})}};A.prototype.createLabelsAndCalculateWidth=function(){var a=0,d=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(d=
|
|
634
|
-
(e.height-b.fontSize/2)*Math.sin(Math.PI/180*Math.abs(this.labelAngle));a<f&&(this.labelEffectiveWidth=a=f);this._labels[d].effectiveWidth=f}for(d=0;d<this._stripLineLabels.length;d++)"outside"===this._stripLineLabels[d].stripLine.labelPlacement&&(this._stripLineLabels[d].stripLine.value>=this.viewportMinimum&&this._stripLineLabels[d].stripLine.value<=
|
|
635
|
-
(e.height-b.fontSize/2)*Math.sin(Math.PI/180*Math.abs(this.labelAngle)),"inside"===this.tickPlacement&&(f+=this.tickLength),"inside"===this.labelPlacement&&(a+=0<this._index?f:0),a<f&&(a=f),this.stripLineLabelEffectiveWidth=this._stripLineLabels[d].effectiveWidth=f)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===
|
|
636
|
-
[];var d,c=0,b=this.chart.isNavigator?0:5;if("bottom"===this._position||"top"===this._position){this.createLabels();if("inside"!=this.labelPlacement||"inside"===this.labelPlacement&&0<this._index)for(c=0;c<this._labels.length;c++){d=this._labels[c].textBlock;var e=d.measureText(),f=0,f=0===this.labelAngle?e.height:e.width*Math.sin(Math.PI/
|
|
637
|
-
f}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)&&(d=this._stripLineLabels[c].textBlock,e=d.measureText(),f=0===this.labelAngle?e.height:e.width*
|
|
638
|
-
"inside"===this.labelPlacement&&(a+=0<this._index?f:0),a<f&&(a=f),this.stripLineLabelEffectiveHeight=this._stripLineLabels[c].effectiveHeight=f)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===this.tickPlacement?0<this._index?this.tickLength:0:this.tickLength)+b};A.setLayout=function(a,d,c,b,e,f){var l,
|
|
639
|
-
0;g<d.length;g++)d[g].calculateAxisParameters();if(c&&0<c.length)for(g=0;g<c.length;g++)c[g].calculateAxisParameters();if(b&&0<b.length)for(g=0;g<b.length;g++)b[g].calculateAxisParameters();for(g=0;g<q.length;g++)if(q[g]&&q[g].scaleBreaks&&q[g].scaleBreaks._appliedBreaks.length)for(var r=q[g].scaleBreaks._appliedBreaks,w=0;w<r.length
|
|
640
|
-
q[g].viewPortMinimum&&(q[g].scaleBreaks.lastBreakIndex=w));for(var v=w=0,u=0,y=0,x=0,z=0,A=0,D,B,E=h=0,G,J,K,r=G=J=K=!1,g=0;g<q.length;g++)q[g]&&q[g].title&&(q[g]._titleTextBlock=new ja(q[g].ctx,{text:q[g].title,horizontalAlign:"center",fontSize:q[g].titleFontSize,fontFamily:q[g].titleFontFamily,fontWeight:q[g].titleFontWeight,
|
|
641
|
-
cornerRadius:q[g].titleCornerRadius,textBaseline:"top"}));for(g=0;g<q.length;g++)if(q[g].title)switch(q[g]._position){case "left":q[g]._titleTextBlock.maxWidth=q[g].titleMaxWidth||f.height;q[g]._titleTextBlock.maxHeight=q[g].titleWrap?0.8*f.width:1.5*q[g].titleFontSize;q[g]._titleTextBlock.angle=-90;break;case "right":q[g]._titleTextBlock.maxWidth=
|
|
642
|
-
q[g].titleMaxWidth||f.width,q[g]._titleTextBlock.maxHeight=q[g].titleWrap?0.8*f.height:1.5*q[g].titleFontSize,q[g]._titleTextBlock.angle=0}if("normal"===e){for(var y=[],x=[],z=[],A=[],M=[],Q=[],N=[],P=[];4>w;){var F=0,X=0,T=0,U=0,V=e=0,O=0,Z=0,W=0,Y=0,R=0,aa=0;if(c&&0<c.length)for(z=[],g=R=0;g<c.length;g++)z.push(Math.ceil(c[g]?
|
|
643
|
-
0<b.length)for(A=[],g=aa=0;g<b.length;g++)A.push(Math.ceil(b[g]?b[g].createLabelsAndCalculateWidth():0)),aa+=A[g],Z+=b[g]?b[g].margin:0;else A.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateWidth():0));P.push(A);l=Math.round(f.x1+R+O);n=Math.round(f.x2-aa-Z>m.width-p?m.width-p:f.x2-aa-Z);if(a&&0<a.length)for(y=[],g=W=0;g<a.length;g++)a[g]&&
|
|
644
|
-
a[g].titleMaxWidth:a[g].lineCoordinates.width),y.push(Math.ceil(a[g]?a[g].createLabelsAndCalculateHeight():0)),W+=y[g],e+=a[g]&&!m.isNavigator?a[g].margin:0;else y.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateHeight():0));M.push(y);if(d&&0<d.length)for(x=[],g=Y=0;g<d.length;g++)d[g]&&(d[g].lineCoordinates={}),d[g].lineCoordinates.width=
|
|
645
|
-
x.push(Math.ceil(d[g]?d[g].createLabelsAndCalculateHeight():0)),Y+=x[g],V+=d[g]&&!m.isNavigator?d[g].margin:0;else x.push(Math.ceil(d[0]?d[0].createLabelsAndCalculateHeight():0));Q.push(x);if(a&&0<a.length)for(g=0;g<a.length;g++)a[g]&&(a[g].lineCoordinates.x1=l,n=Math.round(f.x2-aa-Z>m.width-p?m.width-p:f.x2-aa-Z),a[g]._labels&&
|
|
646
|
-
180*Math.abs(k.textBlock.angle))+(k.textBlock.height-h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(k.textBlock.angle)),u=h.textBlock.width*Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+(h.textBlock.height-h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle))),!a[g]||(!a[g].labelAutoFit||
|
|
647
|
-
z+D-v+a[g].labelFontSize/2)):0===a[g].labelAngle&&(B+u>n&&(h=B+u/2-n-aa),D-v<l&&D-v<a[g].viewportMinimum&&(E=l-O-a[g].tickLength-z-D+v/2)),a[g].viewportMaximum===a[g].maximum&&a[g].viewportMinimum===a[g].minimum&&0<a[g].labelAngle&&0<h?n-=h:a[g].viewportMaximum===a[g].maximum&&a[g].viewportMinimum===a[g].minimum&&0>a[g].labelAngle&&
|
|
648
|
-
m.sessionVariables.axisX.height=W:m.sessionVariables.axisX.height:m.sessionVariables.axisX.height=W,h=Math.round(f.y2-W-e+F),k=Math.round(f.y2),a[g].lineCoordinates.x2=n,a[g].lineCoordinates.width=n-l,a[g].lineCoordinates.y1=h,a[g].lineCoordinates.y2=h+a[g].lineThickness/2,"inside"===a[g].labelPlacement&&0<g&&(a[g].lineCoordinates.y1=
|
|
649
|
-
(a[g].lineCoordinates.y1+=a[g].tickLength,a[g].lineCoordinates.y2=a[g].lineCoordinates.y1+a[g].lineThickness/2),a[g].bounds={x1:l,y1:h,x2:n,y2:k-(W+e-y[g]-F),width:n-l},a[g].bounds.height=a[g].bounds.y2-a[g].bounds.y1),F+=y[g]+a[g].margin;if(d&&0<d.length)for(g=0;g<d.length;g++)d[g].lineCoordinates.x1=Math.round(f.x1+R+O),d[g].lineCoordinates.x2=
|
|
650
|
-
d[g].valueType?d[g]._labels[d[g]._labels.length-2]:d[g]._labels[d[g]._labels.length-1],v=k.textBlock.width*Math.cos(Math.PI/180*Math.abs(k.textBlock.angle))+(k.textBlock.height-h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(k.textBlock.angle)),u=h.textBlock.width*Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+(h.textBlock.height-
|
|
651
|
-
m.sessionVariables.axisX2.height:m.sessionVariables.axisX2.height=Y,h=Math.round(f.y1),k=d[g].lineCoordinates.y1=h+Y+V-X,d[g].lineCoordinates.y2=h,"inside"===d[g].labelPlacement&&0<g&&(d[g].lineCoordinates.y1=d[g-1].lineCoordinates.y1-X-(d[g].labelEffectiveHeight||0)),"inside"===d[g].tickPlacement&&0<g&&(d[g].lineCoordinates.y1-=d[g].tickLength),
|
|
652
|
-
c.length;g++)O=m.isNavigator?0:10,c[g]&&(l=Math.round(a[0]?a[0].lineCoordinates.x1:d[0].lineCoordinates.x1),O=c[g]._labels&&0<c[g]._labels.length?c[g]._labels[c[g]._labels.length-1].textBlock.height/2:p,h=Math.round(f.y1+Y+V<Math.max(O,p)?Math.max(O,p):f.y1+Y+V),n=Math.round(a[0]?a[0].lineCoordinates.x1:d[0].lineCoordinates.x1),O=0<a.length?0:c[g]._labels&&
|
|
653
|
-
h)},"inside"===c[g].labelPlacement&&0<g&&(c[g].lineCoordinates.x1=c[g-1].lineCoordinates.x1-T-(c[g].labelEffectiveWidth||0),c[g].lineCoordinates.x2=c[g].lineCoordinates.x1+c[g].lineThickness/2),"inside"===c[g].tickPlacement&&0<g&&(c[g].lineCoordinates.x1-=c[g].tickLength,c[g].lineCoordinates.x2=c[g].lineCoordinates.x1+c[g].lineThickness/2),c[g].bounds=
|
|
654
|
-
c[g].titleMaxWidth<c[g].lineCoordinates.height?c[g].titleMaxWidth:c[g].lineCoordinates.height),T+=z[g]+c[g].margin);if(b&&0<b.length)for(g=0;g<b.length;g++)b[g]&&(l=Math.round(a[0]?a[0].lineCoordinates.x2:d[0].lineCoordinates.x2),n=Math.round(l),O=b[g]._labels&&0<b[g]._labels.length?b[g]._labels[b[g]._labels.length-1].textBlock.height/2:0,h=Math.round(f.y1+
|
|
655
|
-
(W+e+O)),b[g].lineCoordinates={x1:l+U,y1:h,x2:l+U,y2:k,height:Math.abs(k-h)},"inside"===b[g].labelPlacement&&0<g&&(b[g].lineCoordinates.x1=b[g-1].lineCoordinates.x2+U+(b[g].labelEffectiveWidth||0),b[g].lineCoordinates.x2=b[g].lineCoordinates.x1+b[g].lineThickness/2),"inside"===b[g].tickPlacement&&0<g&&(b[g].lineCoordinates.x1+=b[g].tickLength,b[g].lineCoordinates.x2=
|
|
656
|
-
b[g].bounds.x1,b[g].title&&(b[g]._titleTextBlock.maxWidth=0<b[g].titleMaxWidth&&b[g].titleMaxWidth<b[g].lineCoordinates.height?b[g].titleMaxWidth:b[g].lineCoordinates.height),U+=A[g]+b[g].margin);if(a&&0<a.length)for(g=0;g<a.length;g++)a[g]&&(a[g].calculateValueToPixelConversionParameters(),a[g].calculateBreaksSizeInValues(),a[g]._labels&&1<a[g]._labels.length&&(D=
|
|
657
|
-
a[g].viewportMinimum)*Math.abs(a[g].conversionParameters.pixelPerUnit)+a[g].lineCoordinates.x1,l=a[g]._labels[a[g]._labels.length-("dateTime"===a[g].valueType?2:1)].position,l=a[g].getApparentDifference(a[g].viewportMinimum,l),B=a[g].logarithmic?(1<l?Math.log(l)/a[g].conversionParameters.lnLogarithmBase*Math.abs(a[g].conversionParameters.pixelPerUnit):0)+a[g].lineCoordinates.x1:
|
|
658
|
-
d[g].calculateBreaksSizeInValues(),d[g]._labels&&1<d[g]._labels.length&&(D=(d[g].logarithmic?Math.log(d[g]._labels[1].position/d[g].viewportMinimum)/d[g].conversionParameters.lnLogarithmBase:d[g]._labels[1].position-d[g].viewportMinimum)*Math.abs(d[g].conversionParameters.pixelPerUnit)+d[g].lineCoordinates.x1,l=d[g]._labels[d[g]._labels.length-
|
|
659
|
-
Math.abs(d[g].conversionParameters.pixelPerUnit):0)+d[g].lineCoordinates.x1:(0<l?l*Math.abs(d[g].conversionParameters.pixelPerUnit):0)+d[g].lineCoordinates.x1);for(g=0;g<q.length;g++)"axisY"===q[g].type&&(q[g].calculateValueToPixelConversionParameters(),q[g].calculateBreaksSizeInValues());if(0<w){if(a&&0<a.length)for(g=0;g<a.length;g++)r=
|
|
660
|
-
|
|
661
|
-
b[g].calculateBreaksInPixels()}else{p=[];D=[];E=[];v=[];B=[];u=[];M=[];for(Q=[];4>w;){W=U=T=Z=O=V=e=P=N=F=Y=0;if(a&&0<a.length)for(E=[],g=U=0;g<a.length;g++)E.push(Math.ceil(a[g]?a[g].createLabelsAndCalculateWidth():0)),U+=E[g],e+=a[g]&&!m.isNavigator?a[g].margin:0;else E.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateWidth():
|
|
662
|
-
d[0].createLabelsAndCalculateWidth():0));Q.push(v);if(c&&0<c.length)for(g=0;g<c.length;g++)c[g].lineCoordinates={},l=Math.round(f.x1+U+e),n=Math.round(f.x2-W-V>m.width-10?m.width-10:f.x2-W-V),c[g].labelAutoFit&&!s(y)&&(0<!a.length&&(l=0>c[g].labelAngle?Math.max(l,y):0===c[g].labelAngle?Math.max(l,y/2):l),0<!d.length&&(n=
|
|
663
|
-
0<c[g].titleMaxWidth&&c[g].titleMaxWidth<c[g].lineCoordinates.width?c[g].titleMaxWidth:c[g].lineCoordinates.width);if(b&&0<b.length)for(g=0;g<b.length;g++)b[g].lineCoordinates={},l=Math.round(f.x1+U+e),n=Math.round(f.x2-W-V>b[g].chart.width-10?b[g].chart.width-10:f.x2-W-V),b[g]&&b[g].labelAutoFit&&!s(z)&&(0<!a.length&&
|
|
664
|
-
l),b[g].title&&(b[g]._titleTextBlock.maxWidth=0<b[g].titleMaxWidth&&b[g].titleMaxWidth<b[g].lineCoordinates.width?b[g].titleMaxWidth:b[g].lineCoordinates.width);if(c&&0<c.length)for(p=[],g=T=0;g<c.length;g++)p.push(Math.ceil(c[g]?c[g].createLabelsAndCalculateHeight():0)),T+=p[g]+c[g].margin,O+=c[g].margin;else p.push(Math.ceil(c[0]?
|
|
665
|
-
else D.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateHeight():0));u.push(D);if(c&&0<c.length)for(g=0;g<c.length;g++)0<c[g]._labels.length&&(k=c[g]._labels[0],h=c[g]._labels[c[g]._labels.length-1],y=k.textBlock.width*Math.cos(Math.PI/180*Math.abs(k.textBlock.angle))+(k.textBlock.height-h.textBlock.fontSize/2)*Math.sin(Math.PI/
|
|
666
|
-
if(b&&0<b.length)for(g=0;g<b.length;g++)b[g]&&0<b[g]._labels.length&&(k=b[g]._labels[0],h=b[g]._labels[b[g]._labels.length-1],z=k.textBlock.width*Math.cos(Math.PI/180*Math.abs(k.textBlock.angle))+(k.textBlock.height-h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(k.textBlock.angle)),A=h.textBlock.width*
|
|
667
|
-
m.sessionVariables.axisY[g].height=p[g]:m.sessionVariables.axisY[g].height;else for(g=0;g<c.length;g++)m.sessionVariables.axisY[g].height=p[g];if(c&&0<c.length)for(g=c.length-1;0<=g;g--)h=Math.round(f.y2),k=Math.round(f.y2>c[g].chart.height?c[g].chart.height:f.y2),c[g].lineCoordinates.y1=
|
|
668
|
-
|
|
669
|
-
Y+=p[g]+c[g].margin;if(b&&0<b.length)for(g=b.length-1;0<=g;g--)b[g]&&(h=Math.round(f.y1),k=Math.round(f.y1+(D[g]+b[g].margin+F)),b[g].lineCoordinates.y1=k,b[g].lineCoordinates.y2=k,"inside"===b[g].labelPlacement&&0<g&&(b[g].lineCoordinates.y1=k-D[g]+(b[g]._titleTextBlock?
|
|
670
|
-
b[g].lineCoordinates.y2=b[g].lineCoordinates.y1-b[g].lineThickness/2),b[g].bounds={x1:l,y1:h+(b[g].margin+F),x2:n,y2:k,width:n-l},b[g].bounds.height=b[g].bounds.y2-b[g].bounds.y1,b[g].title&&(b[g]._titleTextBlock.maxWidth=0<b[g].titleMaxWidth&&b[g].titleMaxWidth<b[g].lineCoordinates.width?
|
|
671
|
-
0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:f.y1<Math.max(O,10)?Math.max(O,10):f.y1):f.y1<Math.max(O,10)?Math.max(O,10):f.y1;n=Math.round(f.x1+U+e);k=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:f.y2-T>m.height-Math.max(O,10)?m.height-Math.max(O,10):f.y2-T):f.y2>m.height-Math.max(O,
|
|
672
|
-
b[O].labelAutoFit&&(n=b[O].lineCoordinates.x1,l=n-U);a[g].lineCoordinates={x1:n-N,y1:h,x2:n-N,y2:k,height:Math.abs(k-h)};"inside"===a[g].labelPlacement&&0<g&&(a[g].lineCoordinates.x1=a[g].lineCoordinates.x1-(E[g]-(a[g]._titleTextBlock?a[g]._titleTextBlock.height:0))+a[g].tickLength+
|
|
673
|
-
a[g].lineThickness/2);a[g].bounds={x1:n-(E[g]+N),y1:h,x2:n-N,y2:k,height:k-h};a[g].bounds.width=a[g].bounds.x2-a[g].bounds.x1;a[g].title&&(a[g]._titleTextBlock.maxWidth=0<a[g].titleMaxWidth&&a[g].titleMaxWidth<a[g].lineCoordinates.height?a[g].titleMaxWidth:a[g].lineCoordinates.height);
|
|
674
|
-
2:0;l=Math.round(f.x1-e);h=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:f.y1<Math.max(O,10)?Math.max(O,10):f.y1):f.y1<Math.max(O,10)?Math.max(O,10):f.y1;n=Math.round(f.x2-W-V);k=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:f.y2-T>m.height-Math.max(O,10)?m.height-Math.max(O,
|
|
675
|
-
0>c[O].labelAngle||0===c[O].labelAngle?n-W:l);if(b&&0<b.length)for(O=0;O<b.length;O++)b[O]&&b[O].labelAutoFit&&(n=b[O].lineCoordinates.x2,l=n-W);d[g].lineCoordinates={x1:n+P,y1:h,x2:n+P,y2:k,height:Math.abs(k-h)};"inside"===d[g].labelPlacement&&0<g&&(d[g].lineCoordinates.x1=d[g].lineCoordinates.x1+
|
|
676
|
-
0<g&&(d[g].lineCoordinates.x1+=d[g].tickLength,d[g].lineCoordinates.x2=d[g].lineCoordinates.x1+d[g].lineThickness/2);d[g].bounds={x1:d[g].lineCoordinates.x1,y1:h,x2:n+v[g]+P,y2:k,width:n-l,height:k-h};d[g].bounds.width=d[g].bounds.x2-d[g].bounds.x1;d[g].title&&(d[g]._titleTextBlock.maxWidth=
|
|
677
|
-
d[g].margin}for(g=0;g<q.length;g++)"axisY"===q[g].type&&(q[g].calculateValueToPixelConversionParameters(),q[g].calculateBreaksSizeInValues());if(0<w){if(a&&0<a.length)for(g=0;g<a.length;g++)r=M[w-1][g]===M[w][g]?!0:!1;else r=!0;if(d&&0<d.length)for(g=0;g<d.length;g++)G=Q[w-1][g]===Q[w][g]?!0
|
|
678
|
-
0;g<c.length;g++)
|
|
679
|
-
e=f.ctx;f.alignVerticalAxes&&f.alignVerticalAxes();e.save();e.beginPath();a&&a.length&&e.rect(5,a[0].bounds.y1,a[0].chart.width-10,a[a.length-1].bounds.y2);d&&d.length&&e.rect(5,d[d.length-1].bounds.y1,d[0].chart.width-10,d[0].bounds.y2);e.clip();if(a&&0<a.length)for(var l=0;l<a.length;l++)a[l].renderLabelsTicksAndTitle();
|
|
680
|
-
0;l<b.length;l++)b[l].renderLabelsTicksAndTitle();f.preparePlotArea();f=f.plotArea;e.save();e.beginPath();e.rect(f.x1,f.y1,Math.abs(f.x2-f.x1),Math.abs(f.y2-f.y1));e.clip();if(a&&0<a.length)for(l=0;l<a.length;l++)a[l].renderStripLinesOfThicknessType("value");if(d&&0<d.length)for(l=0;l<d.length;l++)d[l].renderStripLinesOfThicknessType("value");
|
|
681
|
-
if(
|
|
682
|
-
if(
|
|
683
|
-
if(
|
|
684
|
-
|
|
685
|
-
"value"}};A.prototype.calculateBreaksSizeInValues=function(){for(var a="left"===this._position||"right"===this._position?this.lineCoordinates.height||this.chart.height:this.lineCoordinates.width||this.chart.width,d=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],c=this.conversionParameters.pixelPerUnit||a/(this.logarithmic?
|
|
686
|
-
e,f=0;f<d.length;f++)e=b||!s(d[f].options.spacing),d[f].spacing=Ta(d[f].spacing,a,8,e?0.1*a:8,e?0:3)<<0,d[f].size=0>d[f].spacing?0:Math.abs(d[f].spacing/c),this.logarithmic&&(d[f].size=Math.pow(this.logarithmBase,d[f].size))};A.prototype.calculateBreaksInPixels=function(){if(!(this.scaleBreaks&&0>=this.scaleBreaks._appliedBreaks.length)){var a=
|
|
687
|
-
|
|
688
|
-
c=0,b=0,e=1,f=0;0!==this.labelAngle&&360!==this.labelAngle&&(e=1.2);if("undefined"===typeof this.options.interval){if("bottom"===this._position||"top"===this._position)if(this.logarithmic&&!this.equidistantInterval&&this.labelAutoFit){for(var c=[],e=0!==this.labelAngle&&360!==this.labelAngle?1:1.2,l,h=this.viewportMaximum,n=this.lineCoordinates.width/Math.log(this.range),k=this._labels.length-
|
|
689
|
-
this._labels.length-1||l<Math.log(h/p.position)*n/e)||(c.push(p),h=p.position,l=p.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(k=0;k<this._labels.length;k++)p=this._labels[k],p.position<this.viewportMinimum||(l=p.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.height*
|
|
690
|
-
(d=!0)}if("left"===this._position||"right"===this._position)if(this.logarithmic&&!this.equidistantInterval&&this.labelAutoFit){for(var c=[],m,h=this.viewportMaximum,n=this.lineCoordinates.height/Math.log(this.range),k=this._labels.length-1;0<=k;k--){p=this._labels[k];if(p.position<this.viewportMinimum)break;p.position>this.viewportMaximum||!(k===this._labels.length-1||m<Math.log(h/p.position)*
|
|
691
|
-
Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(k=0;k<this._labels.length;k++)p=this._labels[k],p.position<this.viewportMinimum||(m=p.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),b+=m);b>this.lineCoordinates.height*e&&this.labelAutoFit&&(d=!0)}}this.logarithmic&&(!this.equidistantInterval&&
|
|
692
|
-
this._position){for(k=0;k<this._labels.length;k++)p=this._labels[k],p.position<this.viewportMinimum||p.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"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<<
|
|
693
|
-
(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*Math.cos(Math.PI/180*this.labelAngle):q.x-(0>this.labelAngle?p.textBlock.width*
|
|
694
|
-
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=q.x,p.textBlock.y=q.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",
|
|
695
|
-
a.viewportMinimum||p.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(p.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%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+
|
|
696
|
-
2,this._titleTextBlock.y=this.bounds.y2-this._titleTextBlock.height-3,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("top"===this._position){for(k=0;k<this._labels.length;k++)p=this._labels[k],p.position<this.viewportMinimum||p.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=
|
|
697
|
-
0)+0.5:q.x<<0,this.ctx.beginPath(),this.ctx.moveTo(b,q.y<<0),this.ctx.lineTo(b,q.y-this.tickLength<<0),this.ctx.stroke()),d&&0!==f++%2&&this.labelAutoFit||(0===p.textBlock.angle?(q.x-=p.textBlock.width/2,q.y="inside"===this.labelPlacement?q.y+this.labelFontSize/2+("inside"===this.tickPlacement?this.tickLength:0)+5:q.y-(("inside"===this.tickPlacement?0:this.tickLength)+p.textBlock.height-p.textBlock.fontSize/2)):(q.x="inside"===this.labelPlacement?0<
|
|
698
|
-
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)+("inside"===this.tickPlacement?this.tickLength:0)+5:q.y-(("inside"===this.tickPlacement?0:this.tickLength)+
|
|
699
|
-
Math.cos(Math.PI/180*this.labelAngle)+(0<this.labelAngle?p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):0)))),p.textBlock.x=q.x,p.textBlock.y=q.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(k=0;k<a._labels.length;k++)if(p=a._labels[k],!(p.position<a.viewportMinimum||p.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(p.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;
|
|
700
|
-
2?(q.x<<0)+0.5:q.x<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(b,q.y<<0);a.ctx.lineTo(b,q.y+a.tickLength<<0);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.lineCoordinates.x1+this.lineCoordinates.width/2-this._titleTextBlock.width/2,this._titleTextBlock.y=this.bounds.y1+1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("left"===this._position){for(k=
|
|
701
|
-
p.position<this.viewportMinimum||p.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0,this.ctx.beginPath(),this.ctx.moveTo(q.x<<0,b),this.ctx.lineTo(q.x-this.tickLength<<0,b),this.ctx.stroke()),d&&0!==f++%2&&this.labelAutoFit||(0===this.labelAngle?(p.textBlock.y=
|
|
702
|
-
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?this.tickLength:0)+5:0<this.labelAngle?q.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-
|
|
703
|
-
5:q.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+(p.textBlock.height-p.textBlock.fontSize/2-5)*Math.sin(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength))));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(k=0;k<a._labels.length;k++)if(p=a._labels[k],!(p.position<a.viewportMinimum||p.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(p.position),
|
|
704
|
-
a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(q.x<<0,b);a.ctx.lineTo(q.x+a.tickLength<<0,b);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.bounds.x1+1,this._titleTextBlock.y=this.lineCoordinates.height/2+this._titleTextBlock.width/2+this.lineCoordinates.y1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("right"===
|
|
561
|
+
markerBorderColor:v,markerBorderThickness:u};(x.showInLegend||p.showInLegend&&!1!==x.showInLegend)&&n.push(q)}}!0===this.reversed&&n.reverse();if(0<n.length){p=null;g=x=y=0;x=null!==this.itemWidth?null!==this.itemMaxWidth?Math.min(this.itemWidth,this.itemMaxWidth,f):this.itemMaxWidth=Math.min(this.itemWidth,f):null!==this.itemMaxWidth?Math.min(this.itemMaxWidth,f):this.itemMaxWidth=f;w=0===w?0.75*this.lineHeight:w;x=(this.itemMaxWidth?this.itemMaxWidth:x)-(w+h);for(m=0;m<n.length;m++){q=n[m];r=x;
|
|
562
|
+
if("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType)r-=2*0.1*this.lineHeight;if(!(0>=l||"undefined"===typeof l||0>=r||"undefined"===typeof r))if("horizontal"===this.orientation){q.textBlock=new ja(this.ctx,{x:0,y:0,maxWidth:r,maxHeight:this.itemWrap?l:this.lineHeight,angle:0,text:q.text,horizontalAlign:"left",fontSize:this.fontSize,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontColor:this.fontColor,fontStyle:this.fontStyle,textBaseline:"middle"});q.textBlock.measureText();
|
|
563
|
+
null!==this.itemWidth&&(q.textBlock.width=this.itemWidth-(w+h+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0)));if(!p||p.width+Math.round(q.textBlock.width+w+h+(0===p.width?0:this.horizontalSpacing)+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0))>f)p={items:[],width:0},k.push(p),this.height+=g,g=0;g=Math.max(g,q.textBlock.height?q.textBlock.height:this.lineHeight);q.textBlock.x=p.width;q.textBlock.y=
|
|
564
|
+
0;p.width+=Math.round(q.textBlock.width+w+h+(0===p.width?0:this.horizontalSpacing)+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0));p.items.push(q);this.width=Math.max(p.width,this.width)}else q.textBlock=new ja(this.ctx,{x:0,y:0,maxWidth:x,maxHeight:!0===this.itemWrap?l:1.5*this.fontSize,angle:0,text:q.text,horizontalAlign:"left",fontSize:this.fontSize,fontFamily:this.fontFamily,fontWeight:this.fontWeight,fontColor:this.fontColor,fontStyle:this.fontStyle,
|
|
565
|
+
textBaseline:"middle"}),q.textBlock.measureText(),null!==this.itemWidth&&(q.textBlock.width=this.itemWidth-(w+h+("line"===q.chartType||"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0))),this.height<l-this.lineHeight?(p={items:[],width:0},k.push(p)):(p=k[y],y=(y+1)%k.length),p&&(this.height+=q.textBlock.height?q.textBlock.height:this.lineHeight,q.textBlock.x=p.width,q.textBlock.y=0,p.width+=Math.round(q.textBlock.width+w+h+(0===p.width?0:this.horizontalSpacing)+("line"===q.chartType||
|
|
566
|
+
"spline"===q.chartType||"stepLine"===q.chartType?2*0.1*this.lineHeight:0)),p.items.push(q),this.width=Math.max(p.width,this.width))}this.height=!1===this.itemWrap?k.length*this.lineHeight:this.height+g;this.height=Math.min(l,this.height);this.width=Math.min(f,this.width)}"top"===this.verticalAlign?(e="left"===this.horizontalAlign?d.x1:"right"===this.horizontalAlign?d.x2-this.width:d.x1+d.width/2-this.width/2,b=d.y1):"center"===this.verticalAlign?(e="left"===this.horizontalAlign?d.x1:"right"===this.horizontalAlign?
|
|
567
|
+
d.x2-this.width:d.x1+d.width/2-this.width/2,b=d.y1+d.height/2-this.height/2):"bottom"===this.verticalAlign&&(e="left"===this.horizontalAlign?d.x1:"right"===this.horizontalAlign?d.x2-this.width:d.x1+d.width/2-this.width/2,b=d.y2-this.height);this.items=n;for(m=0;m<this.items.length;m++)q=n[m],q.id=++this.chart._eventManager.lastObjectId,this.chart._eventManager.objectMap[q.id]={id:q.id,objectType:"legendItem",legendItemIndex:m,dataSeriesIndex:q.dataSeriesIndex,dataPointIndex:q.dataPointIndex};this.markerSize=
|
|
568
|
+
w;this.rows=k;0<n.length&&a.layoutManager.registerSpace(c,{width:this.width+2+2,height:this.height+5+5});this.bounds={x1:e,y1:b,x2:e+this.width,y2:b+this.height}};K.prototype.render=function(){var a=this.bounds.x1,d=this.bounds.y1,c=this.markerMargin,b=this.maxWidth,e=this.maxHeight,f=this.markerSize,l=this.rows;(0<this.borderThickness&&this.borderColor||this.backgroundColor)&&this.ctx.roundRect(a,d,this.width,this.height,this.cornerRadius,this.borderThickness,this.backgroundColor,this.borderColor);
|
|
569
|
+
for(var h=0,n=0;n<l.length;n++){for(var k=l[n],m=0,p=0;p<k.items.length;p++){var q=k.items[p],g=q.textBlock.x+a+(0===p?0.2*f:this.horizontalSpacing),r=d+h,s=g;this.chart.data[q.dataSeriesIndex].visible||(this.ctx.globalAlpha=0.5);this.ctx.save();this.ctx.beginPath();this.ctx.rect(a,d,b,Math.max(e-e%this.lineHeight,0));this.ctx.clip();if("line"===q.chartType||"stepLine"===q.chartType||"spline"===q.chartType)this.ctx.strokeStyle=q.lineColor,this.ctx.lineWidth=Math.ceil(this.lineHeight/8),this.ctx.beginPath(),
|
|
570
|
+
this.ctx.moveTo(g-0.1*this.lineHeight,r+this.lineHeight/2),this.ctx.lineTo(g+0.85*this.lineHeight,r+this.lineHeight/2),this.ctx.stroke(),s-=0.1*this.lineHeight;if("error"===q.chartType){this.ctx.strokeStyle=this.errorMarkerColor[0];this.ctx.lineWidth=f/8;this.ctx.beginPath();var w=g-0.08*this.lineHeight+0.1*this.lineHeight,u=r+0.15*this.lineHeight,y=0.7*this.lineHeight,x=y+0.02*this.lineHeight;this.ctx.moveTo(w,u);this.ctx.lineTo(w+y,u);this.ctx.stroke();this.ctx.beginPath();this.ctx.moveTo(w+y/2,
|
|
571
|
+
u);this.ctx.lineTo(w+y/2,u+x);this.ctx.stroke();this.ctx.beginPath();this.ctx.moveTo(w,u+x);this.ctx.lineTo(w+y,u+x);this.ctx.stroke();this.errorMarkerColor.shift()}W.drawMarker(g+f/2,r+this.lineHeight/2,this.ctx,q.markerType,"error"===q.chartType||"line"===q.chartType||"spline"===q.chartType?q.markerSize/2:q.markerSize,q.markerColor,q.markerBorderColor,q.markerBorderThickness);q.textBlock.x=g+c+f;if("line"===q.chartType||"stepLine"===q.chartType||"spline"===q.chartType)q.textBlock.x+=0.1*this.lineHeight;
|
|
572
|
+
q.textBlock.y=Math.round(r+this.lineHeight/2);q.textBlock.render(!0);this.ctx.restore();m=0<p?Math.max(m,q.textBlock.height?q.textBlock.height:this.lineHeight):q.textBlock.height?q.textBlock.height:this.lineHeight;this.chart.data[q.dataSeriesIndex].visible||(this.ctx.globalAlpha=1);g=X(q.id);this.ghostCtx.fillStyle=g;this.ghostCtx.beginPath();this.ghostCtx.fillRect(s,q.textBlock.y-this.lineHeight/2,q.textBlock.x+q.textBlock.width-s,q.textBlock.height?q.textBlock.height:this.lineHeight);q.x1=this.chart._eventManager.objectMap[q.id].x1=
|
|
573
|
+
s;q.y1=this.chart._eventManager.objectMap[q.id].y1=q.textBlock.y-this.lineHeight/2;q.x2=this.chart._eventManager.objectMap[q.id].x2=q.textBlock.x+q.textBlock.width;q.y2=this.chart._eventManager.objectMap[q.id].y2=q.textBlock.y+(q.textBlock.height?q.textBlock.height:this.lineHeight)-this.lineHeight/2}h+=m}};oa(Q,G);Q.prototype.getDefaultAxisPlacement=function(){var a=this.type;if("column"===a||"line"===a||"stepLine"===a||"spline"===a||"area"===a||"stepArea"===a||"splineArea"===a||"stackedColumn"===
|
|
574
|
+
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};
|
|
575
|
+
Q.getDefaultLegendMarker=function(a){if("column"===a||"stackedColumn"===a||"stackedLine"===a||"bar"===a||"stackedBar"===a||"stackedBar100"===a||"bubble"===a||"scatter"===a||"stackedColumn100"===a||"stackedLine100"===a||"stepArea"===a||"candlestick"===a||"ohlc"===a||"rangeColumn"===a||"rangeBar"===a||"rangeArea"===a||"rangeSplineArea"===a||"boxAndWhisker"===a||"waterfall"===a)return"square";if("line"===a||"stepLine"===a||"spline"===a||"pie"===a||"doughnut"===a)return"circle";if("area"===a||"splineArea"===
|
|
576
|
+
a||"stackedArea"===a||"stackedArea100"===a||"funnel"===a||"pyramid"===a)return"triangle";if("error"===a)return"none";window.console.log("Unknown Chart Type: "+a);return null};Q.prototype.getDataPointAtX=function(a,d){if(!this.dataPoints||0===this.dataPoints.length)return null;var c={dataPoint:null,distance:Infinity,index:NaN},b=null,e=0,f=0,l=1,h=Infinity,n=0,k=0,m=0;"none"!==this.chart.plotInfo.axisPlacement&&(this.axisX.logarithmic?(m=Math.log(this.dataPoints[this.dataPoints.length-1].x/this.dataPoints[0].x),
|
|
577
|
+
m=1<m?Math.min(Math.max((this.dataPoints.length-1)/m*Math.log(a/this.dataPoints[0].x)>>0,0),this.dataPoints.length):0):(m=this.dataPoints[this.dataPoints.length-1].x-this.dataPoints[0].x,m=0<m?Math.min(Math.max((this.dataPoints.length-1)/m*(a-this.dataPoints[0].x)>>0,0),this.dataPoints.length):0));for(;;){f=0<l?m+e:m-e;if(0<=f&&f<this.dataPoints.length){var b=this.dataPoints[f],p=this.axisX.logarithmic?b.x>a?b.x/a:a/b.x:Math.abs(b.x-a);p<c.distance&&(c.dataPoint=b,c.distance=p,c.index=f);b=p;b<=h?
|
|
578
|
+
h=b:0<l?n++:k++;if(1E3<n&&1E3<k)break}else if(0>m-e&&m+e>=this.dataPoints.length)break;-1===l?(e++,l=1):l=-1}return d||(c.dataPoint.x.getTime?c.dataPoint.x.getTime():c.dataPoint.x)!==(a.getTime?a.getTime():a)?d&&null!==c.dataPoint?c:null:c};Q.prototype.getDataPointAtXY=function(a,d,c){if(!this.dataPoints||0===this.dataPoints.length||a<this.chart.plotArea.x1||a>this.chart.plotArea.x2||d<this.chart.plotArea.y1||d>this.chart.plotArea.y2)return null;c=c||!1;var b=[],e=0,f=0,l=1,h=!1,n=Infinity,k=0,m=
|
|
579
|
+
0,p=0;if("none"!==this.chart.plotInfo.axisPlacement)if(p=(this.chart.axisX[0]?this.chart.axisX[0]:this.chart.axisX2[0]).getXValueAt({x:a,y:d}),this.axisX.logarithmic)var q=Math.log(this.dataPoints[this.dataPoints.length-1].x/this.dataPoints[0].x),p=1<q?Math.min(Math.max((this.dataPoints.length-1)/q*Math.log(p/this.dataPoints[0].x)>>0,0),this.dataPoints.length):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)>>
|
|
580
|
+
0,0),this.dataPoints.length):0;for(;;){f=0<l?p+e:p-e;if(0<=f&&f<this.dataPoints.length){var q=this.chart._eventManager.objectMap[this.dataPointIds[f]],g=this.dataPoints[f],r=null;if(q){switch(this.type){case "column":case "stackedColumn":case "stackedColumn100":case "bar":case "stackedBar":case "stackedBar100":case "rangeColumn":case "rangeBar":case "waterfall":case "error":a>=q.x1&&(a<=q.x2&&d>=q.y1&&d<=q.y2)&&(b.push({dataPoint:g,dataPointIndex:f,dataSeries:this,distance:Math.min(Math.abs(q.x1-
|
|
581
|
+
a),Math.abs(q.x2-a),Math.abs(q.y1-d),Math.abs(q.y2-d))}),h=!0);break;case "line":case "stepLine":case "spline":case "area":case "stepArea":case "stackedArea":case "stackedArea100":case "splineArea":case "scatter":var w=ma("markerSize",g,this)||4,v=c?20:w,r=Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y1-d,2));r<=v&&b.push({dataPoint:g,dataPointIndex:f,dataSeries:this,distance:r});q=Math.abs(q.x1-a);q<=n?n=q:0<l?k++:m++;r<=w/2&&(h=!0);break;case "rangeArea":case "rangeSplineArea":w=ma("markerSize",g,this)||
|
|
582
|
+
4;v=c?20:w;r=Math.min(Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y1-d,2)),Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y2-d,2)));r<=v&&b.push({dataPoint:g,dataPointIndex:f,dataSeries:this,distance:r});q=Math.abs(q.x1-a);q<=n?n=q:0<l?k++:m++;r<=w/2&&(h=!0);break;case "bubble":w=q.size;r=Math.sqrt(Math.pow(q.x1-a,2)+Math.pow(q.y1-d,2));r<=w/2&&(b.push({dataPoint:g,dataPointIndex:f,dataSeries:this,distance:r}),h=!0);break;case "pie":case "doughnut":w=q.center;v="doughnut"===this.type?q.percentInnerRadius*q.radius:
|
|
583
|
+
0;r=Math.sqrt(Math.pow(w.x-a,2)+Math.pow(w.y-d,2));r<q.radius&&r>v&&(r=Math.atan2(d-w.y,a-w.x),0>r&&(r+=2*Math.PI),r=Number(((180*(r/Math.PI)%360+360)%360).toFixed(12)),w=Number(((180*(q.startAngle/Math.PI)%360+360)%360).toFixed(12)),v=Number(((180*(q.endAngle/Math.PI)%360+360)%360).toFixed(12)),0===v&&1<q.endAngle&&(v=360),w>=v&&(0!==g.y&&!s(g.y))&&(v+=360,r<w&&(r+=360)),r>w&&r<v&&(b.push({dataPoint:g,dataPointIndex:f,dataSeries:this,distance:0}),h=!0));break;case "funnel":case "pyramid":r=q.funnelSection;
|
|
584
|
+
d>r.y1&&d<r.y4&&(r.y6?d>r.y6?(f=r.x6+(r.x5-r.x6)/(r.y5-r.y6)*(d-r.y6),r=r.x3+(r.x4-r.x3)/(r.y4-r.y3)*(d-r.y3)):(f=r.x1+(r.x6-r.x1)/(r.y6-r.y1)*(d-r.y1),r=r.x2+(r.x3-r.x2)/(r.y3-r.y2)*(d-r.y2)):(f=r.x1+(r.x4-r.x1)/(r.y4-r.y1)*(d-r.y1),r=r.x2+(r.x3-r.x2)/(r.y3-r.y2)*(d-r.y2)),a>f&&a<r&&(b.push({dataPoint:g,dataPointIndex:q.dataPointIndex,dataSeries:this,distance:0}),h=!0));break;case "boxAndWhisker":if(a>=q.x1-q.borderThickness/2&&a<=q.x2+q.borderThickness/2&&d>=q.y4-q.borderThickness/2&&d<=q.y1+q.borderThickness/
|
|
585
|
+
2||Math.abs(q.x2-a+q.x1-a)<q.borderThickness&&d>=q.y1&&d<=q.y4)b.push({dataPoint:g,dataPointIndex:f,dataSeries:this,distance:Math.min(Math.abs(q.x1-a),Math.abs(q.x2-a),Math.abs(q.y2-d),Math.abs(q.y3-d))}),h=!0;break;case "candlestick":if(a>=q.x1-q.borderThickness/2&&a<=q.x2+q.borderThickness/2&&d>=q.y2-q.borderThickness/2&&d<=q.y3+q.borderThickness/2||Math.abs(q.x2-a+q.x1-a)<q.borderThickness&&d>=q.y1&&d<=q.y4)b.push({dataPoint:g,dataPointIndex:f,dataSeries:this,distance:Math.min(Math.abs(q.x1-a),
|
|
586
|
+
Math.abs(q.x2-a),Math.abs(q.y2-d),Math.abs(q.y3-d))}),h=!0;break;case "ohlc":if(Math.abs(q.x2-a+q.x1-a)<q.borderThickness&&d>=q.y2&&d<=q.y3||a>=q.x1&&a<=(q.x2+q.x1)/2&&d>=q.y1-q.borderThickness/2&&d<=q.y1+q.borderThickness/2||a>=(q.x1+q.x2)/2&&a<=q.x2&&d>=q.y4-q.borderThickness/2&&d<=q.y4+q.borderThickness/2)b.push({dataPoint:g,dataPointIndex:f,dataSeries:this,distance:Math.min(Math.abs(q.x1-a),Math.abs(q.x2-a),Math.abs(q.y2-d),Math.abs(q.y3-d))}),h=!0}if(h||1E3<k&&1E3<m)break}}else if(0>p-e&&p+e>=
|
|
587
|
+
this.dataPoints.length)break;-1===l?(e++,l=1):l=-1}a=null;for(d=0;d<b.length;d++)a?b[d].distance<=a.distance&&(a=b[d]):a=b[d];return a};Q.prototype.getMarkerProperties=function(a,d,c,b){var e=this.dataPoints,f=e[a].markerColor?e[a].markerColor:this.markerColor?this.markerColor:e[a].color?e[a].color:this.color?this.color:this._colorSet[a%this._colorSet.length],l=e[a].markerBorderColor?e[a].markerBorderColor:this.markerBorderColor?this.markerBorderColor:null,h=s(e[a].markerBorderThickness)?this.markerBorderThickness?
|
|
588
|
+
this.markerBorderThickness:null:e[a].markerBorderThickness,n=e[a].markerType?e[a].markerType:this.markerType;a=s(e[a].markerSize)?this.markerSize:e[a].markerSize;return{x:d,y:c,ctx:b,type:n,size:a,color:f,borderColor:l,borderThickness:h}};oa(A,G);A.prototype.createExtraLabelsForLog=function(a){a=(a||0)+1;if(!(5<a)){var d=this.logLabelValues[0]||this.intervalStartPosition;if(Math.log(this.range)/Math.log(d/this.viewportMinimum)<this.noTicks-1){for(var c=A.getNiceNumber((d-this.viewportMinimum)/Math.min(Math.max(2,
|
|
589
|
+
this.noTicks-this.logLabelValues.length),3),!0),b=Math.ceil(this.viewportMinimum/c)*c;b<d;b+=c)b<this.viewportMinimum||this.logLabelValues.push(b);this.logLabelValues.sort(Ra);this.createExtraLabelsForLog(a)}}};A.prototype.createLabels=function(){var a,d,c=0,b=0,e,f=0,l=0,b=0,b=this.interval,h=0,n,k=0.6*this.chart.height,m;a=!1;var p=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],q=p.length?s(this.scaleBreaks.firstBreakIndex)?0:this.scaleBreaks.firstBreakIndex:0;if("axisX"!==this.type||"dateTime"!==
|
|
590
|
+
this.valueType||this.logarithmic){e=this.viewportMaximum;if(this.labels){a=Math.ceil(b);for(var b=Math.ceil(this.intervalStartPosition),g=!1,c=b;c<this.viewportMaximum;c+=a)if(this.labels[c])g=!0;else{g=!1;break}g&&(this.interval=a,this.intervalStartPosition=b)}if(this.logarithmic&&!this.equidistantInterval)for(this.logLabelValues||(this.logLabelValues=[],this.createExtraLabelsForLog()),b=0,g=q;b<this.logLabelValues.length;b++)if(c=this.logLabelValues[b],c<this.viewportMinimum)b++;else{for(;g<p.length&&
|
|
591
|
+
c>p[g].endValue;g++);a=g<p.length&&c>=p[g].startValue&&c<=p[g].endValue;m=c;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:m,label:this.labels[m]?this.labels[m]:null}):"axisX"===this.type&&this.labels[m]?this.labels[m]:da(m,this.valueFormatString,this.chart._cultureInfo),a=new ja(this.ctx,{x:0,y:0,maxWidth:f,maxHeight:l,angle:this.labelAngle,text:this.prefix+a+this.suffix,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,cornerRadius:this.labelCornerRadius,
|
|
592
|
+
textAlign:this.labelTextAlign,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle",borderThickness:0}),this._labels.push({position:m,textBlock:a,effectiveHeight:null}))}g=q;for(c=this.intervalStartPosition;c<=e;c=parseFloat(1E-12>this.interval?this.logarithmic&&this.equidistantInterval?c*Math.pow(this.logarithmBase,this.interval):c+this.interval:(this.logarithmic&&this.equidistantInterval?
|
|
593
|
+
c*Math.pow(this.logarithmBase,this.interval):c+this.interval).toFixed(12))){for(;g<p.length&&c>p[g].endValue;g++);a=g<p.length&&c>=p[g].startValue&&c<=p[g].endValue;m=c;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:m,label:this.labels[m]?this.labels[m]:null}):"axisX"===this.type&&this.labels[m]?this.labels[m]:da(m,this.valueFormatString,this.chart._cultureInfo),a=new ja(this.ctx,{x:0,y:0,maxWidth:f,maxHeight:l,angle:this.labelAngle,text:this.prefix+a+this.suffix,
|
|
594
|
+
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:m,textBlock:a,effectiveHeight:null}))}}else for(this.intervalStartPosition=this.getLabelStartPoint(new Date(this.viewportMinimum),
|
|
595
|
+
this.intervalType,this.interval),e=Xa(new Date(this.viewportMaximum),this.interval,this.intervalType),g=q,c=this.intervalStartPosition;c<e;Xa(c,b,this.intervalType)){for(a=c.getTime();g<p.length&&a>p[g].endValue;g++);m=a;a=g<p.length&&a>=p[g].startValue&&a<=p[g].endValue;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:new Date(m),label:this.labels[m]?this.labels[m]:null}):"axisX"===this.type&&this.labels[m]?this.labels[m]:Ba(m,this.valueFormatString,this.chart._cultureInfo),
|
|
596
|
+
a=new ja(this.ctx,{x:0,y:0,maxWidth:f,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,borderThickness:this.labelBorderThickness,cornerRadius:this.labelCornerRadius,maxHeight:l,angle:this.labelAngle,text:this.prefix+a+this.suffix,textAlign:this.labelTextAlign,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle"}),this._labels.push({position:m,textBlock:a,
|
|
597
|
+
effectiveHeight:null,breaksLabelType:void 0}))}if("bottom"===this._position||"top"===this._position)h=this.logarithmic&&!this.equidistantInterval&&2<=this._labels.length?this.lineCoordinates.width*Math.log(Math.min(this._labels[this._labels.length-1].position/this._labels[this._labels.length-2].position,this._labels[1].position/this._labels[0].position))/Math.log(this.range):this.lineCoordinates.width/(this.logarithmic&&this.equidistantInterval?Math.log(this.range)/Math.log(this.logarithmBase):Math.abs(this.range))*
|
|
598
|
+
T[this.intervalType+"Duration"]*this.interval,f="undefined"===typeof this.options.labelMaxWidth?0.5*this.chart.width>>0:this.options.labelMaxWidth,this.chart.panEnabled||(l="undefined"===typeof this.options.labelWrap||this.labelWrap?0.8*this.chart.height>>0:1.5*this.labelFontSize);else if("left"===this._position||"right"===this._position)h=this.logarithmic&&!this.equidistantInterval&&2<=this._labels.length?this.lineCoordinates.height*Math.log(Math.min(this._labels[this._labels.length-1].position/
|
|
599
|
+
this._labels[this._labels.length-2].position,this._labels[1].position/this._labels[0].position))/Math.log(this.range):this.lineCoordinates.height/(this.logarithmic&&this.equidistantInterval?Math.log(this.range)/Math.log(this.logarithmBase):Math.abs(this.range))*T[this.intervalType+"Duration"]*this.interval,this.chart.panEnabled||(f="undefined"===typeof this.options.labelMaxWidth?0.3*this.chart.width>>0:this.options.labelMaxWidth),l="undefined"===typeof this.options.labelWrap||this.labelWrap?0.3*this.chart.height>>
|
|
600
|
+
0:1.5*this.labelFontSize;for(b=0;b<this._labels.length;b++){a=this._labels[b].textBlock;a.maxWidth=f;a.maxHeight=l;var r=a.measureText();n=r.height}e=[];q=p=0;if(this.labelAutoFit||this.options.labelAutoFit)if(s(this.labelAngle)||(this.labelAngle=(this.labelAngle%360+360)%360,90<this.labelAngle&&270>this.labelAngle?this.labelAngle-=180:270<=this.labelAngle&&360>=this.labelAngle&&(this.labelAngle-=360)),"bottom"===this._position||"top"===this._position)if(f=0.9*h>>0,q=0,!this.chart.panEnabled&&1<=
|
|
601
|
+
this._labels.length){this.sessionVariables.labelFontSize=this.labelFontSize;this.sessionVariables.labelMaxWidth=f;this.sessionVariables.labelMaxHeight=l;this.sessionVariables.labelAngle=this.labelAngle;this.sessionVariables.labelWrap=this.labelWrap;for(c=0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=this._labels[c].textBlock;for(var v,g=a.text.split(" "),b=0;b<g.length;b++)m=g[b],this.ctx.font=a.fontStyle+" "+a.fontWeight+" "+a.fontSize+"px "+a.fontFamily,m=this.ctx.measureText(m),
|
|
602
|
+
m.width>q&&(v=c,q=m.width)}c=0;for(c=this.intervalStartPosition<this.viewportMinimum?1:0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=this._labels[c].textBlock;r=a.measureText();for(g=c+1;g<this._labels.length;g++)if(!this._labels[g].breaksLabelType){d=this._labels[g].textBlock;d=d.measureText();break}e.push(a.height);this.sessionVariables.labelMaxHeight=Math.max.apply(Math,e);Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.sin(Math.PI/180*Math.abs(this.labelAngle));b=f*Math.sin(Math.PI/
|
|
603
|
+
180*Math.abs(this.labelAngle))+(l-a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));if(s(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&0!==this.options.labelAngle)if(this.sessionVariables.labelMaxHeight=0===this.labelAngle?l:Math.min((b-f*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),b),m=(k-(n+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(-25)))/Math.sin(Math.PI/180*Math.abs(-25)),!s(this.options.labelWrap))this.labelWrap?s(this.options.labelMaxWidth)?
|
|
604
|
+
(this.sessionVariables.labelMaxWidth=Math.min(Math.max(f,q),m),this.sessionVariables.labelWrap=this.labelWrap,d&&r.width+d.width>>0>2*f&&(this.sessionVariables.labelAngle=-25)):(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelAngle=this.sessionVariables.labelMaxWidth>f?-25:this.sessionVariables.labelAngle):s(this.options.labelMaxWidth)?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxHeight=
|
|
605
|
+
l,this.sessionVariables.labelMaxWidth=f,d&&r.width+d.width>>0>2*f&&(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=m)):(this.sessionVariables.labelAngle=this.sessionVariables.labelMaxWidth>f?-25:this.sessionVariables.labelAngle,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=l,this.sessionVariables.labelWrap=this.labelWrap);else{if(s(this.options.labelWrap))if(!s(this.options.labelMaxWidth))this.options.labelMaxWidth<f?
|
|
606
|
+
(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=b):(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=l);else if(!s(d))if(b=r.width+d.width>>0,g=this.labelFontSize,q<f)b-2*f>p&&(p=b-2*f,b>=2*f&&b<2.2*f?(this.sessionVariables.labelMaxWidth=f,s(this.options.labelFontSize)&&12<g&&(g=Math.floor(12/13*g),a.measureText()),this.sessionVariables.labelFontSize=s(this.options.labelFontSize)?
|
|
607
|
+
g:this.options.labelFontSize,this.sessionVariables.labelAngle=this.labelAngle):b>=2.2*f&&b<2.8*f?(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=m,this.sessionVariables.labelFontSize=g):b>=2.8*f&&b<3.2*f?(this.sessionVariables.labelMaxWidth=Math.max(f,q),this.sessionVariables.labelWrap=!0,s(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=s(this.options.labelFontSize)?
|
|
608
|
+
g:this.options.labelFontSize,this.sessionVariables.labelAngle=this.labelAngle):b>=3.2*f&&b<3.6*f?(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelMaxWidth=m,this.sessionVariables.labelFontSize=this.labelFontSize):b>3.6*f&&b<5*f?(s(this.options.labelFontSize)&&12<g&&(g=Math.floor(12/13*g),a.measureText()),this.sessionVariables.labelFontSize=s(this.options.labelFontSize)?g:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=
|
|
609
|
+
-25,this.sessionVariables.labelMaxWidth=m):b>5*f&&(this.sessionVariables.labelWrap=!0,this.sessionVariables.labelMaxWidth=f,this.sessionVariables.labelFontSize=g,this.sessionVariables.labelMaxHeight=l,this.sessionVariables.labelAngle=this.labelAngle));else if(v===c&&(0===v&&q+this._labels[v+1].textBlock.measureText().width-2*f>p||v===this._labels.length-1&&q+this._labels[v-1].textBlock.measureText().width-2*f>p||0<v&&v<this._labels.length-1&&q+this._labels[v+1].textBlock.measureText().width-2*f>p&&
|
|
610
|
+
q+this._labels[v-1].textBlock.measureText().width-2*f>p))p=0===v?q+this._labels[v+1].textBlock.measureText().width-2*f:q+this._labels[v-1].textBlock.measureText().width-2*f,this.sessionVariables.labelFontSize=s(this.options.labelFontSize)?g:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=m;else if(0===p)for(this.sessionVariables.labelFontSize=s(this.options.labelFontSize)?g:this.options.labelFontSize,this.sessionVariables.labelWrap=
|
|
611
|
+
!0,b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.sessionVariables.labelMaxWidth=Math.min(Math.max(f,q),m),r=a.measureText(),b<this._labels.length-1&&(g=b+1,d=this._labels[g].textBlock,d.maxWidth=this.sessionVariables.labelMaxWidth=Math.min(Math.max(f,q),m),d=d.measureText(),r.width+d.width>>0>2*f&&(this.sessionVariables.labelAngle=-25))}else(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxHeight=0===this.labelAngle?l:Math.min((b-f*Math.cos(Math.PI/
|
|
612
|
+
180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),b),m=0!=this.labelAngle?(k-(n+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)):f,this.sessionVariables.labelMaxHeight=this.labelWrap?(k-m*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)):1.5*this.labelFontSize,s(this.options.labelWrap))?s(this.options.labelWrap)&&(this.labelWrap&&!s(this.options.labelMaxWidth)?
|
|
613
|
+
(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:m,this.sessionVariables.labelMaxHeight=l):(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxWidth=m,this.sessionVariables.labelMaxHeight=b<0.9*h?0.9*h:b,this.sessionVariables.labelWrap=this.labelWrap)):(this.options.labelWrap?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?
|
|
614
|
+
this.options.labelMaxWidth:m):(s(this.options.labelMaxWidth),this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:m,this.sessionVariables.labelWrap=this.labelWrap),this.sessionVariables.labelMaxHeight=l)}for(b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.labelMaxWidth=this.sessionVariables.labelMaxWidth,a.fontSize=this.sessionVariables.labelFontSize,a.angle=this.labelAngle=this.sessionVariables.labelAngle,a.wrap=this.labelWrap=this.sessionVariables.labelWrap,
|
|
615
|
+
a.maxHeight=this.sessionVariables.labelMaxHeight,a.measureText()}else for(c=0;c<this._labels.length;c++)a=this._labels[c].textBlock,a.maxWidth=this.labelMaxWidth=s(this.options.labelMaxWidth)?s(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=f:this.sessionVariables.labelMaxWidth:this.options.labelMaxWidth,a.fontSize=this.labelFontSize=s(this.options.labelFontSize)?s(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=this.labelFontSize:this.sessionVariables.labelFontSize:
|
|
616
|
+
this.options.labelFontSize,a.angle=this.labelAngle=s(this.options.labelAngle)?s(this.sessionVariables.labelAngle)?this.sessionVariables.labelAngle=this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=s(this.options.labelWrap)?s(this.sessionVariables.labelWrap)?this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:this.options.labelWrap,a.maxHeight=s(this.sessionVariables.labelMaxHeight)?this.sessionVariables.labelMaxHeight=l:this.sessionVariables.labelMaxHeight,
|
|
617
|
+
a.measureText();else if("left"===this._position||"right"===this._position)if(f=s(this.options.labelMaxWidth)?0.3*this.chart.width>>0:this.options.labelMaxWidth,l="undefined"===typeof this.options.labelWrap||this.labelWrap?0.3*this.chart.height>>0:1.5*this.labelFontSize,!this.chart.panEnabled&&1<=this._labels.length){this.sessionVariables.labelFontSize=this.labelFontSize;this.sessionVariables.labelMaxWidth=f;this.sessionVariables.labelMaxHeight=l;this.sessionVariables.labelAngle=s(this.sessionVariables.labelAngle)?
|
|
618
|
+
0:this.sessionVariables.labelAngle;this.sessionVariables.labelWrap=this.labelWrap;for(c=0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=this._labels[c].textBlock;r=a.measureText();for(g=c+1;g<this._labels.length;g++)if(!this._labels[g].breaksLabelType){d=this._labels[g].textBlock;d=d.measureText();break}e.push(a.height);this.sessionVariables.labelMaxHeight=Math.max.apply(Math,e);b=f*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(l-a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));
|
|
619
|
+
Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.sin(Math.PI/180*Math.abs(this.labelAngle));s(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&0!==this.options.labelAngle?s(this.options.labelWrap)?s(this.options.labelWrap)&&(s(this.options.labelMaxWidth)?s(d)||(h=r.height+d.height>>0,h-2*l>q&&(q=h-2*l,h>=2*l&&h<2.4*l?(s(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelMaxHeight=l,this.sessionVariables.labelFontSize=
|
|
620
|
+
s(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize):h>=2.4*l&&h<2.8*l?(this.sessionVariables.labelMaxHeight=b,this.sessionVariables.labelFontSize=this.labelFontSize,this.sessionVariables.labelWrap=!0):h>=2.8*l&&h<3.2*l?(this.sessionVariables.labelMaxHeight=l,this.sessionVariables.labelWrap=!0,s(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=s(this.options.labelFontSize)?
|
|
621
|
+
this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelAngle=s(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):h>=3.2*l&&h<3.6*l?(this.sessionVariables.labelMaxHeight=b,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelFontSize=this.labelFontSize):h>3.6*l&&h<10*l?(s(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=s(this.options.labelFontSize)?
|
|
622
|
+
this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxWidth=f,this.sessionVariables.labelMaxHeight=l,this.sessionVariables.labelAngle=s(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):h>10*l&&h<50*l&&(s(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=s(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxHeight=
|
|
623
|
+
l,this.sessionVariables.labelMaxWidth=f,this.sessionVariables.labelAngle=s(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle))):(this.sessionVariables.labelMaxHeight=l,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth)):(this.sessionVariables.labelMaxWidth=this.labelWrap?this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth:this.labelMaxWidth?this.options.labelMaxWidth?
|
|
624
|
+
this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth:f,this.sessionVariables.labelMaxHeight=l):(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxWidth=0===this.labelAngle?f:Math.min((b-l*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)),l),s(this.options.labelWrap))?s(this.options.labelWrap)&&(this.labelWrap&&!s(this.options.labelMaxWidth)?(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:
|
|
625
|
+
this.sessionVariables.labelMaxWidth,this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxHeight=b):(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:f,this.sessionVariables.labelMaxHeight=0===this.labelAngle?l:b,s(this.options.labelMaxWidth)&&(this.sessionVariables.labelAngle=this.labelAngle))):this.options.labelWrap?(this.sessionVariables.labelMaxHeight=0===this.labelAngle?l:b,this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=
|
|
626
|
+
f):(this.sessionVariables.labelMaxHeight=l,s(this.options.labelMaxWidth),this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:this.sessionVariables.labelMaxWidth,this.sessionVariables.labelWrap=this.labelWrap)}for(b=0;b<this._labels.length;b++)a=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=
|
|
627
|
+
this.labelWrap=this.sessionVariables.labelWrap,a.maxHeight=this.sessionVariables.labelMaxHeight,a.measureText()}else for(c=0;c<this._labels.length;c++)a=this._labels[c].textBlock,a.maxWidth=this.labelMaxWidth=s(this.options.labelMaxWidth)?s(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=f:this.sessionVariables.labelMaxWidth:this.options.labelMaxWidth,a.fontSize=this.labelFontSize=s(this.options.labelFontSize)?s(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=
|
|
628
|
+
this.labelFontSize:this.sessionVariables.labelFontSize:this.options.labelFontSize,a.angle=this.labelAngle=s(this.options.labelAngle)?s(this.sessionVariables.labelAngle)?this.sessionVariables.labelAngle=this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=s(this.options.labelWrap)?s(this.sessionVariables.labelWrap)?this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:this.options.labelWrap,a.maxHeight=s(this.sessionVariables.labelMaxHeight)?
|
|
629
|
+
this.sessionVariables.labelMaxHeight=l:this.sessionVariables.labelMaxHeight,a.measureText();for(c=0;c<this.stripLines.length;c++){var f=this.stripLines[c],A;if("outside"===f.labelPlacement){l=this.sessionVariables.labelMaxWidth;if("bottom"===this._position||"top"===this._position)s(f.options.labelWrap)&&!s(this.sessionVariables.stripLineLabelMaxHeight)?A=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=A=f.labelWrap?0.8*this.chart.height>>0:1.5*this.labelFontSize;
|
|
630
|
+
if("left"===this._position||"right"===this._position)s(f.options.labelWrap)&&!s(this.sessionVariables.stripLineLabelMaxHeight)?A=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=A=f.labelWrap?0.8*this.chart.width>>0:1.5*this.labelFontSize;s(f.labelBackgroundColor)&&(f.labelBackgroundColor="#EEEEEE")}else l="bottom"===this._position||"top"===this._position?0.9*this.chart.width>>0:0.9*this.chart.height>>0,A=s(f.options.labelWrap)||f.labelWrap?"bottom"===this._position||
|
|
631
|
+
"top"===this._position?0.8*this.chart.width>>0:0.8*this.chart.height>>0:1.5*this.labelFontSize,s(f.labelBackgroundColor)&&(s(f.startValue)&&0!==f.startValue?f.labelBackgroundColor=w?"transparent":null:f.labelBackgroundColor="#EEEEEE");a=new ja(this.ctx,{x:0,y:0,backgroundColor:f.labelBackgroundColor,borderColor:f.labelBorderColor,borderThickness:f.labelBorderThickness,cornerRadius:f.labelCornerRadius,maxWidth:f.options.labelMaxWidth?f.options.labelMaxWidth:l,maxHeight:A,angle:this.labelAngle,text:f.labelFormatter?
|
|
632
|
+
f.labelFormatter({chart:this.chart,axis:this,stripLine:f}):f.label,textAlign:this.labelTextAlign,fontSize:"outside"===f.labelPlacement?f.options.labelFontSize?f.labelFontSize:this.labelFontSize:f.labelFontSize,fontFamily:"outside"===f.labelPlacement?f.options.labelFontFamily?f.labelFontFamily:this.labelFontFamily:f.labelFontFamily,fontWeight:"outside"===f.labelPlacement?f.options.labelFontWeight?f.labelFontWeight:this.labelFontWeight:f.labelFontWeight,fontColor:f.labelFontColor||f.color,fontStyle:"outside"===
|
|
633
|
+
f.labelPlacement?f.options.labelFontStyle?f.labelFontStyle:this.fontWeight:f.labelFontStyle,textBaseline:"middle"});this._stripLineLabels.push({position:f.value,textBlock:a,effectiveHeight:null,stripLine:f})}};A.prototype.createLabelsAndCalculateWidth=function(){var a=0,d=0;this._labels=[];this._stripLineLabels=[];var c=this.chart.isNavigator?0:5;if("left"===this._position||"right"===this._position){this.createLabels();if("inside"!=this.labelPlacement||"inside"===this.labelPlacement&&0<this._index)for(d=
|
|
634
|
+
0;d<this._labels.length;d++){var b=this._labels[d].textBlock,e=b.measureText(),f=0,f=0===this.labelAngle?e.width:e.width*Math.cos(Math.PI/180*Math.abs(this.labelAngle))+(e.height-b.fontSize/2)*Math.sin(Math.PI/180*Math.abs(this.labelAngle));a<f&&(this.labelEffectiveWidth=a=f);this._labels[d].effectiveWidth=f}for(d=0;d<this._stripLineLabels.length;d++)"outside"===this._stripLineLabels[d].stripLine.labelPlacement&&(this._stripLineLabels[d].stripLine.value>=this.viewportMinimum&&this._stripLineLabels[d].stripLine.value<=
|
|
635
|
+
this.viewportMaximum)&&(b=this._stripLineLabels[d].textBlock,e=b.measureText(),f=0===this.labelAngle?e.width:e.width*Math.cos(Math.PI/180*Math.abs(this.labelAngle))+(e.height-b.fontSize/2)*Math.sin(Math.PI/180*Math.abs(this.labelAngle)),"inside"===this.tickPlacement&&(f+=this.tickLength),"inside"===this.labelPlacement&&(a+=0<this._index?f:0),a<f&&(a=f),this.stripLineLabelEffectiveWidth=this._stripLineLabels[d].effectiveWidth=f)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===
|
|
636
|
+
this.tickPlacement?0<this._index?this.tickLength:0:this.tickLength)+c};A.prototype.createLabelsAndCalculateHeight=function(){var a=0;this._labels=[];this._stripLineLabels=[];var d,c=0,b=this.chart.isNavigator?0:5;if("bottom"===this._position||"top"===this._position){this.createLabels();if("inside"!=this.labelPlacement||"inside"===this.labelPlacement&&0<this._index)for(c=0;c<this._labels.length;c++){d=this._labels[c].textBlock;var e=d.measureText(),f=0,f=0===this.labelAngle?e.height:e.width*Math.sin(Math.PI/
|
|
637
|
+
180*Math.abs(this.labelAngle))+(e.height-d.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));a<f&&(this.labelEffectiveHeight=a=f);this._labels[c].effectiveHeight=f}for(c=0;c<this._stripLineLabels.length;c++)"outside"===this._stripLineLabels[c].stripLine.labelPlacement&&(this._stripLineLabels[c].stripLine.value>=this.viewportMinimum&&this._stripLineLabels[c].stripLine.value<=this.viewportMaximum)&&(d=this._stripLineLabels[c].textBlock,e=d.measureText(),f=0===this.labelAngle?e.height:e.width*
|
|
638
|
+
Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(e.height-d.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle)),"inside"===this.tickPlacement&&(f+=this.tickLength),"inside"===this.labelPlacement&&(a+=0<this._index?f:0),a<f&&(a=f),this.stripLineLabelEffectiveHeight=this._stripLineLabels[c].effectiveHeight=f)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===this.tickPlacement?0<this._index?this.tickLength:0:this.tickLength)+b};A.setLayout=function(a,d,c,b,e,f){var l,
|
|
639
|
+
h,n,k,m=a[0]?a[0].chart:d[0].chart,p=m.isNavigator?0:10,q=m._axes;if(a&&0<a.length)for(var g=0;g<a.length;g++)a[g]&&a[g].calculateAxisParameters();if(d&&0<d.length)for(g=0;g<d.length;g++)d[g].calculateAxisParameters();if(c&&0<c.length)for(g=0;g<c.length;g++)c[g].calculateAxisParameters();if(b&&0<b.length)for(g=0;g<b.length;g++)b[g].calculateAxisParameters();for(g=0;g<q.length;g++)if(q[g]&&q[g].scaleBreaks&&q[g].scaleBreaks._appliedBreaks.length)for(var r=q[g].scaleBreaks._appliedBreaks,w=0;w<r.length&&
|
|
640
|
+
!(r[w].startValue>q[g].viewportMaximum);w++)r[w].endValue<q[g].viewportMinimum||(s(q[g].scaleBreaks.firstBreakIndex)&&(q[g].scaleBreaks.firstBreakIndex=w),r[w].startValue>=q[g].viewPortMinimum&&(q[g].scaleBreaks.lastBreakIndex=w));for(var v=w=0,u=0,y=0,x=0,z=0,A=0,D,B,E=h=0,G,J,K,r=G=J=K=!1,g=0;g<q.length;g++)q[g]&&q[g].title&&(q[g]._titleTextBlock=new ja(q[g].ctx,{text:q[g].title,horizontalAlign:"center",fontSize:q[g].titleFontSize,fontFamily:q[g].titleFontFamily,fontWeight:q[g].titleFontWeight,
|
|
641
|
+
fontColor:q[g].titleFontColor,fontStyle:q[g].titleFontStyle,borderColor:q[g].titleBorderColor,borderThickness:q[g].titleBorderThickness,backgroundColor:q[g].titleBackgroundColor,cornerRadius:q[g].titleCornerRadius,textBaseline:"top"}));for(g=0;g<q.length;g++)if(q[g].title)switch(q[g]._position){case "left":q[g]._titleTextBlock.maxWidth=q[g].titleMaxWidth||f.height;q[g]._titleTextBlock.maxHeight=q[g].titleWrap?0.8*f.width:1.5*q[g].titleFontSize;q[g]._titleTextBlock.angle=-90;break;case "right":q[g]._titleTextBlock.maxWidth=
|
|
642
|
+
q[g].titleMaxWidth||f.height;q[g]._titleTextBlock.maxHeight=q[g].titleWrap?0.8*f.width:1.5*q[g].titleFontSize;q[g]._titleTextBlock.angle=90;break;default:q[g]._titleTextBlock.maxWidth=q[g].titleMaxWidth||f.width,q[g]._titleTextBlock.maxHeight=q[g].titleWrap?0.8*f.height:1.5*q[g].titleFontSize,q[g]._titleTextBlock.angle=0}if("normal"===e){for(var y=[],x=[],z=[],A=[],M=[],Q=[],N=[],P=[];4>w;){var F=0,X=0,T=0,U=0,V=e=0,O=0,Z=0,W=0,Y=0,R=0,aa=0;if(c&&0<c.length)for(z=[],g=R=0;g<c.length;g++)z.push(Math.ceil(c[g]?
|
|
643
|
+
c[g].createLabelsAndCalculateWidth():0)),R+=z[g],O+=c[g]&&!m.isNavigator?c[g].margin:0;else z.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateWidth():0));N.push(z);if(b&&0<b.length)for(A=[],g=aa=0;g<b.length;g++)A.push(Math.ceil(b[g]?b[g].createLabelsAndCalculateWidth():0)),aa+=A[g],Z+=b[g]?b[g].margin:0;else A.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateWidth():0));P.push(A);l=Math.round(f.x1+R+O);n=Math.round(f.x2-aa-Z>m.width-p?m.width-p:f.x2-aa-Z);if(a&&0<a.length)for(y=[],g=W=0;g<a.length;g++)a[g]&&
|
|
644
|
+
(a[g].lineCoordinates={}),a[g].lineCoordinates.width=Math.abs(n-l),a[g].title&&(a[g]._titleTextBlock.maxWidth=0<a[g].titleMaxWidth&&a[g].titleMaxWidth<a[g].lineCoordinates.width?a[g].titleMaxWidth:a[g].lineCoordinates.width),y.push(Math.ceil(a[g]?a[g].createLabelsAndCalculateHeight():0)),W+=y[g],e+=a[g]&&!m.isNavigator?a[g].margin:0;else y.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateHeight():0));M.push(y);if(d&&0<d.length)for(x=[],g=Y=0;g<d.length;g++)d[g]&&(d[g].lineCoordinates={}),d[g].lineCoordinates.width=
|
|
645
|
+
Math.abs(n-l),d[g].title&&(d[g]._titleTextBlock.maxWidth=0<d[g].titleMaxWidth&&d[g].titleMaxWidth<d[g].lineCoordinates.width?d[g].titleMaxWidth:d[g].lineCoordinates.width),x.push(Math.ceil(d[g]?d[g].createLabelsAndCalculateHeight():0)),Y+=x[g],V+=d[g]&&!m.isNavigator?d[g].margin:0;else x.push(Math.ceil(d[0]?d[0].createLabelsAndCalculateHeight():0));Q.push(x);if(a&&0<a.length)for(g=0;g<a.length;g++)a[g]&&(a[g].lineCoordinates.x1=l,n=Math.round(f.x2-aa-Z>m.width-p?m.width-p:f.x2-aa-Z),a[g]._labels&&
|
|
646
|
+
1<a[g]._labels.length&&(h=k=0,k=a[g]._labels[1],h="dateTime"===a[g].valueType?a[g]._labels[a[g]._labels.length-2]:a[g]._labels[a[g]._labels.length-1],v=k.textBlock.width*Math.cos(Math.PI/180*Math.abs(k.textBlock.angle))+(k.textBlock.height-h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(k.textBlock.angle)),u=h.textBlock.width*Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+(h.textBlock.height-h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle))),!a[g]||(!a[g].labelAutoFit||
|
|
647
|
+
s(D)||s(B)||m.isNavigator||m.stockChart)||(h=0,0<a[g].labelAngle?B+u>n&&(h+=0<a[g].labelAngle?B+u-n-aa:0):0>a[g].labelAngle?D-v<l&&D-v<a[g].viewportMinimum&&(E=l-(O+a[g].tickLength+z+D-v+a[g].labelFontSize/2)):0===a[g].labelAngle&&(B+u>n&&(h=B+u/2-n-aa),D-v<l&&D-v<a[g].viewportMinimum&&(E=l-O-a[g].tickLength-z-D+v/2)),a[g].viewportMaximum===a[g].maximum&&a[g].viewportMinimum===a[g].minimum&&0<a[g].labelAngle&&0<h?n-=h:a[g].viewportMaximum===a[g].maximum&&a[g].viewportMinimum===a[g].minimum&&0>a[g].labelAngle&&
|
|
648
|
+
0<E?l+=E:a[g].viewportMaximum===a[g].maximum&&a[g].viewportMinimum===a[g].minimum&&0===a[g].labelAngle&&(0<E&&(l+=E),0<h&&(n-=h))),m.panEnabled?W=s(m.sessionVariables.axisX.height)?m.sessionVariables.axisX.height=W:m.sessionVariables.axisX.height:m.sessionVariables.axisX.height=W,h=Math.round(f.y2-W-e+F),k=Math.round(f.y2),a[g].lineCoordinates.x2=n,a[g].lineCoordinates.width=n-l,a[g].lineCoordinates.y1=h,a[g].lineCoordinates.y2=h+a[g].lineThickness/2,"inside"===a[g].labelPlacement&&0<g&&(a[g].lineCoordinates.y1=
|
|
649
|
+
a[g-1].lineCoordinates.y2+F+(a[g].labelEffectiveHeight||0),a[g].lineCoordinates.y2=a[g].lineCoordinates.y1+a[g].lineThickness/2),"inside"===a[g].tickPlacement&&0<g&&(a[g].lineCoordinates.y1+=a[g].tickLength,a[g].lineCoordinates.y2=a[g].lineCoordinates.y1+a[g].lineThickness/2),a[g].bounds={x1:l,y1:h,x2:n,y2:k-(W+e-y[g]-F),width:n-l},a[g].bounds.height=a[g].bounds.y2-a[g].bounds.y1),F+=y[g]+a[g].margin;if(d&&0<d.length)for(g=0;g<d.length;g++)d[g].lineCoordinates.x1=Math.round(f.x1+R+O),d[g].lineCoordinates.x2=
|
|
650
|
+
Math.round(f.x2-aa-Z>m.width-p?m.width-p:f.x2-aa-Z),d[g].lineCoordinates.width=Math.abs(n-l),d[g]._labels&&1<d[g]._labels.length&&(k=d[g]._labels[1],h="dateTime"===d[g].valueType?d[g]._labels[d[g]._labels.length-2]:d[g]._labels[d[g]._labels.length-1],v=k.textBlock.width*Math.cos(Math.PI/180*Math.abs(k.textBlock.angle))+(k.textBlock.height-h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(k.textBlock.angle)),u=h.textBlock.width*Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+(h.textBlock.height-
|
|
651
|
+
h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle))),m.panEnabled?Y=s(m.sessionVariables.axisX2.height)?m.sessionVariables.axisX2.height=Y:m.sessionVariables.axisX2.height:m.sessionVariables.axisX2.height=Y,h=Math.round(f.y1),k=d[g].lineCoordinates.y1=h+Y+V-X,d[g].lineCoordinates.y2=h,"inside"===d[g].labelPlacement&&0<g&&(d[g].lineCoordinates.y1=d[g-1].lineCoordinates.y1-X-(d[g].labelEffectiveHeight||0)),"inside"===d[g].tickPlacement&&0<g&&(d[g].lineCoordinates.y1-=d[g].tickLength),
|
|
652
|
+
d[g].bounds={x1:l,y1:h+(Y+V-x[g]-X),x2:n,y2:k,width:n-l},d[g].bounds.height=d[g].bounds.y2-d[g].bounds.y1,X+=x[g]+d[g].margin;if(c&&0<c.length)for(g=0;g<c.length;g++)O=m.isNavigator?0:10,c[g]&&(l=Math.round(a[0]?a[0].lineCoordinates.x1:d[0].lineCoordinates.x1),O=c[g]._labels&&0<c[g]._labels.length?c[g]._labels[c[g]._labels.length-1].textBlock.height/2:p,h=Math.round(f.y1+Y+V<Math.max(O,p)?Math.max(O,p):f.y1+Y+V),n=Math.round(a[0]?a[0].lineCoordinates.x1:d[0].lineCoordinates.x1),O=0<a.length?0:c[g]._labels&&
|
|
653
|
+
0<c[g]._labels.length?c[g]._labels[0].textBlock.height/2:p,k=Math.round(f.y2-W-e-O),c[g].lineCoordinates={x1:l-T,y1:h,x2:n-T,y2:k,height:Math.abs(k-h)},"inside"===c[g].labelPlacement&&0<g&&(c[g].lineCoordinates.x1=c[g-1].lineCoordinates.x1-T-(c[g].labelEffectiveWidth||0),c[g].lineCoordinates.x2=c[g].lineCoordinates.x1+c[g].lineThickness/2),"inside"===c[g].tickPlacement&&0<g&&(c[g].lineCoordinates.x1-=c[g].tickLength,c[g].lineCoordinates.x2=c[g].lineCoordinates.x1+c[g].lineThickness/2),c[g].bounds=
|
|
654
|
+
{x1:l-(z[g]+T),y1:h,x2:n-T,y2:k,height:k-h},c[g].bounds.width=c[g].bounds.x2-c[g].bounds.x1,c[g].title&&(c[g]._titleTextBlock.maxWidth=0<c[g].titleMaxWidth&&c[g].titleMaxWidth<c[g].lineCoordinates.height?c[g].titleMaxWidth:c[g].lineCoordinates.height),T+=z[g]+c[g].margin);if(b&&0<b.length)for(g=0;g<b.length;g++)b[g]&&(l=Math.round(a[0]?a[0].lineCoordinates.x2:d[0].lineCoordinates.x2),n=Math.round(l),O=b[g]._labels&&0<b[g]._labels.length?b[g]._labels[b[g]._labels.length-1].textBlock.height/2:0,h=Math.round(f.y1+
|
|
655
|
+
Y+V<Math.max(O,p)?Math.max(O,p):f.y1+Y+V),O=0<a.length?0:b[g]._labels&&0<b[g]._labels.length?b[g]._labels[0].textBlock.height/2:0,k=Math.round(f.y2-(W+e+O)),b[g].lineCoordinates={x1:l+U,y1:h,x2:l+U,y2:k,height:Math.abs(k-h)},"inside"===b[g].labelPlacement&&0<g&&(b[g].lineCoordinates.x1=b[g-1].lineCoordinates.x2+U+(b[g].labelEffectiveWidth||0),b[g].lineCoordinates.x2=b[g].lineCoordinates.x1+b[g].lineThickness/2),"inside"===b[g].tickPlacement&&0<g&&(b[g].lineCoordinates.x1+=b[g].tickLength,b[g].lineCoordinates.x2=
|
|
656
|
+
b[g].lineCoordinates.x1+b[g].lineThickness/2),b[g].bounds={x1:l+U,y1:h,x2:n+(A[g]+U),y2:k,height:k-h},b[g].bounds.width=b[g].bounds.x2-b[g].bounds.x1,b[g].title&&(b[g]._titleTextBlock.maxWidth=0<b[g].titleMaxWidth&&b[g].titleMaxWidth<b[g].lineCoordinates.height?b[g].titleMaxWidth:b[g].lineCoordinates.height),U+=A[g]+b[g].margin);if(a&&0<a.length)for(g=0;g<a.length;g++)a[g]&&(a[g].calculateValueToPixelConversionParameters(),a[g].calculateBreaksSizeInValues(),a[g]._labels&&1<a[g]._labels.length&&(D=
|
|
657
|
+
(a[g].logarithmic?Math.log(a[g]._labels[1].position/a[g].viewportMinimum)/a[g].conversionParameters.lnLogarithmBase:a[g]._labels[1].position-a[g].viewportMinimum)*Math.abs(a[g].conversionParameters.pixelPerUnit)+a[g].lineCoordinates.x1,l=a[g]._labels[a[g]._labels.length-("dateTime"===a[g].valueType?2:1)].position,l=a[g].getApparentDifference(a[g].viewportMinimum,l),B=a[g].logarithmic?(1<l?Math.log(l)/a[g].conversionParameters.lnLogarithmBase*Math.abs(a[g].conversionParameters.pixelPerUnit):0)+a[g].lineCoordinates.x1:
|
|
658
|
+
(0<l?l*Math.abs(a[g].conversionParameters.pixelPerUnit):0)+a[g].lineCoordinates.x1));if(d&&0<d.length)for(g=0;g<d.length;g++)d[g].calculateValueToPixelConversionParameters(),d[g].calculateBreaksSizeInValues(),d[g]._labels&&1<d[g]._labels.length&&(D=(d[g].logarithmic?Math.log(d[g]._labels[1].position/d[g].viewportMinimum)/d[g].conversionParameters.lnLogarithmBase:d[g]._labels[1].position-d[g].viewportMinimum)*Math.abs(d[g].conversionParameters.pixelPerUnit)+d[g].lineCoordinates.x1,l=d[g]._labels[d[g]._labels.length-
|
|
659
|
+
("dateTime"===d[g].valueType?2:1)].position,l=d[g].getApparentDifference(d[g].viewportMinimum,l),B=d[g].logarithmic?(1<l?Math.log(l)/d[g].conversionParameters.lnLogarithmBase*Math.abs(d[g].conversionParameters.pixelPerUnit):0)+d[g].lineCoordinates.x1:(0<l?l*Math.abs(d[g].conversionParameters.pixelPerUnit):0)+d[g].lineCoordinates.x1);for(g=0;g<q.length;g++)"axisY"===q[g].type&&(q[g].calculateValueToPixelConversionParameters(),q[g].calculateBreaksSizeInValues());if(0<w){if(a&&0<a.length)for(g=0;g<a.length;g++)r=
|
|
660
|
+
M[w-1][g]===M[w][g]?!0:!1;else r=!0;if(d&&0<d.length)for(g=0;g<d.length;g++)G=Q[w-1][g]===Q[w][g]?!0:!1;else G=!0;if(c&&0<c.length)for(g=0;g<c.length;g++)J=N[w-1][g]===N[w][g]?!0:!1;else J=!0;if(b&&0<b.length)for(g=0;g<b.length;g++)K=P[w-1][g]===P[w][g]?!0:!1;else K=!0}if(r&&G&&J&&K)break;w++}if(a&&0<a.length)for(g=0;g<a.length;g++)a[g].calculateStripLinesThicknessInValues(),a[g].calculateBreaksInPixels();if(d&&0<d.length)for(g=0;g<d.length;g++)d[g].calculateStripLinesThicknessInValues(),d[g].calculateBreaksInPixels();
|
|
661
|
+
if(c&&0<c.length)for(g=0;g<c.length;g++)c[g].calculateStripLinesThicknessInValues(),c[g].calculateBreaksInPixels();if(b&&0<b.length)for(g=0;g<b.length;g++)b[g].calculateStripLinesThicknessInValues(),b[g].calculateBreaksInPixels()}else{p=[];D=[];E=[];v=[];B=[];u=[];M=[];for(Q=[];4>w;){W=U=T=Z=O=V=e=P=N=F=Y=0;if(a&&0<a.length)for(E=[],g=U=0;g<a.length;g++)E.push(Math.ceil(a[g]?a[g].createLabelsAndCalculateWidth():0)),U+=E[g],e+=a[g]&&!m.isNavigator?a[g].margin:0;else E.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateWidth():
|
|
662
|
+
0));M.push(E);if(d&&0<d.length)for(v=[],g=W=0;g<d.length;g++)v.push(Math.ceil(d[g]?d[g].createLabelsAndCalculateWidth():0)),W+=v[g],V+=d[g]?d[g].margin:0;else v.push(Math.ceil(d[0]?d[0].createLabelsAndCalculateWidth():0));Q.push(v);if(c&&0<c.length)for(g=0;g<c.length;g++)c[g].lineCoordinates={},l=Math.round(f.x1+U+e),n=Math.round(f.x2-W-V>m.width-10?m.width-10:f.x2-W-V),c[g].labelAutoFit&&!s(y)&&(0<!a.length&&(l=0>c[g].labelAngle?Math.max(l,y):0===c[g].labelAngle?Math.max(l,y/2):l),0<!d.length&&(n=
|
|
663
|
+
0<c[g].labelAngle?n-x/2:0===c[g].labelAngle?n-x/2:n)),c[g].lineCoordinates.x1=l,c[g].lineCoordinates.x2=n,c[g].lineCoordinates.width=Math.abs(n-l),c[g].title&&(c[g]._titleTextBlock.maxWidth=0<c[g].titleMaxWidth&&c[g].titleMaxWidth<c[g].lineCoordinates.width?c[g].titleMaxWidth:c[g].lineCoordinates.width);if(b&&0<b.length)for(g=0;g<b.length;g++)b[g].lineCoordinates={},l=Math.round(f.x1+U+e),n=Math.round(f.x2-W-V>b[g].chart.width-10?b[g].chart.width-10:f.x2-W-V),b[g]&&b[g].labelAutoFit&&!s(z)&&(0<!a.length&&
|
|
664
|
+
(l=0<b[g].labelAngle?Math.max(l,z):0===b[g].labelAngle?Math.max(l,z/2):l),0<!d.length&&(n-=A/2)),b[g].lineCoordinates.x1=l,b[g].lineCoordinates.x2=n,b[g].lineCoordinates.width=Math.abs(n-l),b[g].title&&(b[g]._titleTextBlock.maxWidth=0<b[g].titleMaxWidth&&b[g].titleMaxWidth<b[g].lineCoordinates.width?b[g].titleMaxWidth:b[g].lineCoordinates.width);if(c&&0<c.length)for(p=[],g=T=0;g<c.length;g++)p.push(Math.ceil(c[g]?c[g].createLabelsAndCalculateHeight():0)),T+=p[g]+c[g].margin,O+=c[g].margin;else p.push(Math.ceil(c[0]?
|
|
665
|
+
c[0].createLabelsAndCalculateHeight():0));B.push(p);if(b&&0<b.length)for(D=[],g=0;g<b.length;g++)D.push(Math.ceil(b[g]?b[g].createLabelsAndCalculateHeight():0)),Z+=b[g].margin;else D.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateHeight():0));u.push(D);if(c&&0<c.length)for(g=0;g<c.length;g++)0<c[g]._labels.length&&(k=c[g]._labels[0],h=c[g]._labels[c[g]._labels.length-1],y=k.textBlock.width*Math.cos(Math.PI/180*Math.abs(k.textBlock.angle))+(k.textBlock.height-h.textBlock.fontSize/2)*Math.sin(Math.PI/
|
|
666
|
+
180*Math.abs(k.textBlock.angle)),x=h.textBlock.width*Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+(h.textBlock.height-h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle)));if(b&&0<b.length)for(g=0;g<b.length;g++)b[g]&&0<b[g]._labels.length&&(k=b[g]._labels[0],h=b[g]._labels[b[g]._labels.length-1],z=k.textBlock.width*Math.cos(Math.PI/180*Math.abs(k.textBlock.angle))+(k.textBlock.height-h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(k.textBlock.angle)),A=h.textBlock.width*
|
|
667
|
+
Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+(h.textBlock.height-h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle)));if(m.panEnabled)for(g=0;g<c.length;g++)p[g]=s(m.sessionVariables.axisY[g].height)?m.sessionVariables.axisY[g].height=p[g]:m.sessionVariables.axisY[g].height;else for(g=0;g<c.length;g++)m.sessionVariables.axisY[g].height=p[g];if(c&&0<c.length)for(g=c.length-1;0<=g;g--)h=Math.round(f.y2),k=Math.round(f.y2>c[g].chart.height?c[g].chart.height:f.y2),c[g].lineCoordinates.y1=
|
|
668
|
+
h-(p[g]+c[g].margin+Y),c[g].lineCoordinates.y2=h-(p[g]+c[g].margin+Y),"inside"===c[g].labelPlacement&&0<g&&(c[g].lineCoordinates.y1=c[g].lineCoordinates.y1+p[g]-(c[g]._titleTextBlock?c[g]._titleTextBlock.height:0)-c[g].tickLength-(c[g].stripLineLabelEffectiveHeight||0)-5,c[g].lineCoordinates.y2=c[g].lineCoordinates.y1+c[g].lineThickness/2),"inside"===c[g].tickPlacement&&0<g&&(c[g].lineCoordinates.y1+=c[g].tickLength,c[g].lineCoordinates.y2=c[g].lineCoordinates.y1+c[g].lineThickness/2),c[g].bounds=
|
|
669
|
+
{x1:l,y1:h-(p[g]+Y+c[g].margin),x2:n,y2:k-(Y+c[g].margin),width:n-l,height:p[g]},c[g].title&&(c[g]._titleTextBlock.maxWidth=0<c[g].titleMaxWidth&&c[g].titleMaxWidth<c[g].lineCoordinates.width?c[g].titleMaxWidth:c[g].lineCoordinates.width),Y+=p[g]+c[g].margin;if(b&&0<b.length)for(g=b.length-1;0<=g;g--)b[g]&&(h=Math.round(f.y1),k=Math.round(f.y1+(D[g]+b[g].margin+F)),b[g].lineCoordinates.y1=k,b[g].lineCoordinates.y2=k,"inside"===b[g].labelPlacement&&0<g&&(b[g].lineCoordinates.y1=k-D[g]+(b[g]._titleTextBlock?
|
|
670
|
+
b[g]._titleTextBlock.height:0)+b[g].tickLength+(b[g].stripLineLabelEffectiveHeight||0),b[g].lineCoordinates.y2=b[g].lineCoordinates.y1-b[g].lineThickness/2),"inside"===b[g].tickPlacement&&0<g&&(b[g].lineCoordinates.y1-=b[g].tickLength,b[g].lineCoordinates.y2=b[g].lineCoordinates.y1-b[g].lineThickness/2),b[g].bounds={x1:l,y1:h+(b[g].margin+F),x2:n,y2:k,width:n-l},b[g].bounds.height=b[g].bounds.y2-b[g].bounds.y1,b[g].title&&(b[g]._titleTextBlock.maxWidth=0<b[g].titleMaxWidth&&b[g].titleMaxWidth<b[g].lineCoordinates.width?
|
|
671
|
+
b[g].titleMaxWidth:b[g].lineCoordinates.width),F+=D[g]+b[g].margin);if(a&&0<a.length)for(g=0;g<a.length;g++){O=a[g]._labels&&0<a[g]._labels.length?a[g]._labels[0].textBlock.fontSize/2:0;l=Math.round(f.x1+e);h=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:f.y1<Math.max(O,10)?Math.max(O,10):f.y1):f.y1<Math.max(O,10)?Math.max(O,10):f.y1;n=Math.round(f.x1+U+e);k=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:f.y2-T>m.height-Math.max(O,10)?m.height-Math.max(O,10):f.y2-T):f.y2>m.height-Math.max(O,
|
|
672
|
+
10)?m.height-Math.max(O,10):f.y2;if(c&&0<c.length)for(O=0;O<c.length;O++)c[O]&&c[O].labelAutoFit&&(n=c[O].lineCoordinates.x1,l=0>c[O].labelAngle||0===c[O].labelAngle?n-U:l);if(b&&0<b.length)for(O=0;O<b.length;O++)b[O]&&b[O].labelAutoFit&&(n=b[O].lineCoordinates.x1,l=n-U);a[g].lineCoordinates={x1:n-N,y1:h,x2:n-N,y2:k,height:Math.abs(k-h)};"inside"===a[g].labelPlacement&&0<g&&(a[g].lineCoordinates.x1=a[g].lineCoordinates.x1-(E[g]-(a[g]._titleTextBlock?a[g]._titleTextBlock.height:0))+a[g].tickLength+
|
|
673
|
+
(a[g].stripLineLabelEffectiveWidth||0),a[g].lineCoordinates.x2=a[g].lineCoordinates.x1+a[g].lineThickness/2);"inside"===a[g].tickPlacement&&0<g&&(a[g].lineCoordinates.x1-=a[g].tickLength,a[g].lineCoordinates.x2=a[g].lineCoordinates.x1+a[g].lineThickness/2);a[g].bounds={x1:n-(E[g]+N),y1:h,x2:n-N,y2:k,height:k-h};a[g].bounds.width=a[g].bounds.x2-a[g].bounds.x1;a[g].title&&(a[g]._titleTextBlock.maxWidth=0<a[g].titleMaxWidth&&a[g].titleMaxWidth<a[g].lineCoordinates.height?a[g].titleMaxWidth:a[g].lineCoordinates.height);
|
|
674
|
+
a[g].calculateValueToPixelConversionParameters();a[g].calculateBreaksSizeInValues();N+=E[g]+a[g].margin}if(d&&0<d.length)for(g=0;g<d.length;g++){O=d[g]._labels&&0<d[g]._labels.length?d[g]._labels[0].textBlock.fontSize/2:0;l=Math.round(f.x1-e);h=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:f.y1<Math.max(O,10)?Math.max(O,10):f.y1):f.y1<Math.max(O,10)?Math.max(O,10):f.y1;n=Math.round(f.x2-W-V);k=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:f.y2-T>m.height-Math.max(O,10)?m.height-Math.max(O,
|
|
675
|
+
10):f.y2-T):f.y2>m.height-Math.max(O,10)?m.height-Math.max(O,10):f.y2;if(c&&0<c.length)for(O=0;O<c.length;O++)c[O]&&c[O].labelAutoFit&&(n=0>c[O].labelAngle?Math.max(n,y):0===c[O].labelAngle?Math.max(n,y/2):n,l=0>c[O].labelAngle||0===c[O].labelAngle?n-W:l);if(b&&0<b.length)for(O=0;O<b.length;O++)b[O]&&b[O].labelAutoFit&&(n=b[O].lineCoordinates.x2,l=n-W);d[g].lineCoordinates={x1:n+P,y1:h,x2:n+P,y2:k,height:Math.abs(k-h)};"inside"===d[g].labelPlacement&&0<g&&(d[g].lineCoordinates.x1=d[g].lineCoordinates.x1+
|
|
676
|
+
(v[g]-(d[g]._titleTextBlock?d[g]._titleTextBlock.height:0)-2)-d[g].tickLength-(d[g].stripLineLabelEffectiveWidth||0),d[g].lineCoordinates.x2=d[g].lineCoordinates.x1+d[g].lineThickness/2);"inside"===d[g].tickPlacement&&0<g&&(d[g].lineCoordinates.x1+=d[g].tickLength,d[g].lineCoordinates.x2=d[g].lineCoordinates.x1+d[g].lineThickness/2);d[g].bounds={x1:d[g].lineCoordinates.x1,y1:h,x2:n+v[g]+P,y2:k,width:n-l,height:k-h};d[g].bounds.width=d[g].bounds.x2-d[g].bounds.x1;d[g].title&&(d[g]._titleTextBlock.maxWidth=
|
|
677
|
+
0<d[g].titleMaxWidth&&d[g].titleMaxWidth<d[g].lineCoordinates.height?d[g].titleMaxWidth:d[g].lineCoordinates.height);d[g].calculateValueToPixelConversionParameters();d[g].calculateBreaksSizeInValues();P+=v[g]+d[g].margin}for(g=0;g<q.length;g++)"axisY"===q[g].type&&(q[g].calculateValueToPixelConversionParameters(),q[g].calculateBreaksSizeInValues());if(0<w){if(a&&0<a.length)for(g=0;g<a.length;g++)r=M[w-1][g]===M[w][g]?!0:!1;else r=!0;if(d&&0<d.length)for(g=0;g<d.length;g++)G=Q[w-1][g]===Q[w][g]?!0:
|
|
678
|
+
!1;else G=!0;if(c&&0<c.length)for(g=0;g<c.length;g++)J=B[w-1][g]===B[w][g]?!0:!1;else J=!0;if(b&&0<b.length)for(g=0;g<b.length;g++)K=u[w-1][g]===u[w][g]?!0:!1;else K=!0}if(r&&G&&J&&K)break;w++}if(c&&0<c.length)for(g=0;g<c.length;g++)c[g].calculateStripLinesThicknessInValues(),c[g].calculateBreaksInPixels();if(b&&0<b.length)for(g=0;g<b.length;g++)b[g].calculateStripLinesThicknessInValues(),b[g].calculateBreaksInPixels();if(a&&0<a.length)for(g=0;g<a.length;g++)a[g].calculateStripLinesThicknessInValues(),
|
|
679
|
+
a[g].calculateBreaksInPixels();if(d&&0<d.length)for(g=0;g<d.length;g++)d[g].calculateStripLinesThicknessInValues(),d[g].calculateBreaksInPixels()}};A.render=function(a,d,c,b,e){var f=a[0]?a[0].chart:d[0].chart;e=f.ctx;f.alignVerticalAxes&&f.alignVerticalAxes();e.save();e.beginPath();a&&a.length&&e.rect(5,a[0].bounds.y1,a[0].chart.width-10,a[a.length-1].bounds.y2);d&&d.length&&e.rect(5,d[d.length-1].bounds.y1,d[0].chart.width-10,d[0].bounds.y2);e.clip();if(a&&0<a.length)for(var l=0;l<a.length;l++)a[l].renderLabelsTicksAndTitle();
|
|
680
|
+
if(d&&0<d.length)for(l=0;l<d.length;l++)d[l].renderLabelsTicksAndTitle();e.restore();if(c&&0<c.length)for(l=0;l<c.length;l++)c[l].renderLabelsTicksAndTitle();if(b&&0<b.length)for(l=0;l<b.length;l++)b[l].renderLabelsTicksAndTitle();f.preparePlotArea();f=f.plotArea;e.save();e.beginPath();e.rect(f.x1,f.y1,Math.abs(f.x2-f.x1),Math.abs(f.y2-f.y1));e.clip();if(a&&0<a.length)for(l=0;l<a.length;l++)a[l].renderStripLinesOfThicknessType("value");if(d&&0<d.length)for(l=0;l<d.length;l++)d[l].renderStripLinesOfThicknessType("value");
|
|
681
|
+
if(c&&0<c.length)for(l=0;l<c.length;l++)c[l].renderStripLinesOfThicknessType("value");if(b&&0<b.length)for(l=0;l<b.length;l++)b[l].renderStripLinesOfThicknessType("value");if(a&&0<a.length)for(l=0;l<a.length;l++)a[l].renderInterlacedColors();if(d&&0<d.length)for(l=0;l<d.length;l++)d[l].renderInterlacedColors();if(c&&0<c.length)for(l=0;l<c.length;l++)c[l].renderInterlacedColors();if(b&&0<b.length)for(l=0;l<b.length;l++)b[l].renderInterlacedColors();e.restore();if(a&&0<a.length)for(l=0;l<a.length;l++)a[l].renderGrid(),
|
|
682
|
+
w&&(a[l].createMask(),a[l].renderBreaksBackground());if(d&&0<d.length)for(l=0;l<d.length;l++)d[l].renderGrid(),w&&(d[l].createMask(),d[l].renderBreaksBackground());if(c&&0<c.length)for(l=0;l<c.length;l++)c[l].renderGrid(),w&&(c[l].createMask(),c[l].renderBreaksBackground());if(b&&0<b.length)for(l=0;l<b.length;l++)b[l].renderGrid(),w&&(b[l].createMask(),b[l].renderBreaksBackground());if(a&&0<a.length)for(l=0;l<a.length;l++)a[l].renderAxisLine();if(d&&0<d.length)for(l=0;l<d.length;l++)d[l].renderAxisLine();
|
|
683
|
+
if(c&&0<c.length)for(l=0;l<c.length;l++)c[l].renderAxisLine();if(b&&0<b.length)for(l=0;l<b.length;l++)b[l].renderAxisLine();if(a&&0<a.length)for(l=0;l<a.length;l++)a[l].renderStripLinesOfThicknessType("pixel");if(d&&0<d.length)for(l=0;l<d.length;l++)d[l].renderStripLinesOfThicknessType("pixel");if(c&&0<c.length)for(l=0;l<c.length;l++)c[l].renderStripLinesOfThicknessType("pixel");if(b&&0<b.length)for(l=0;l<b.length;l++)b[l].renderStripLinesOfThicknessType("pixel")};A.prototype.calculateStripLinesThicknessInValues=
|
|
684
|
+
function(){for(var a=0;a<this.stripLines.length;a++)if(null!==this.stripLines[a].startValue&&null!==this.stripLines[a].endValue){var d=Math.min(this.stripLines[a].startValue,this.stripLines[a].endValue),c=Math.max(this.stripLines[a].startValue,this.stripLines[a].endValue),d=this.getApparentDifference(d,c);this.stripLines[a].value=this.logarithmic?this.stripLines[a].value*Math.sqrt(Math.log(Math.max(this.stripLines[a].startValue,this.stripLines[a].endValue)/Math.min(this.stripLines[a].startValue,this.stripLines[a].endValue))/
|
|
685
|
+
Math.log(d)):this.stripLines[a].value+(Math.abs(this.stripLines[a].endValue-this.stripLines[a].startValue)-d)/2;this.stripLines[a].thickness=d;this.stripLines[a]._thicknessType="value"}};A.prototype.calculateBreaksSizeInValues=function(){for(var a="left"===this._position||"right"===this._position?this.lineCoordinates.height||this.chart.height:this.lineCoordinates.width||this.chart.width,d=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],c=this.conversionParameters.pixelPerUnit||a/(this.logarithmic?
|
|
686
|
+
this.conversionParameters.maximum/this.conversionParameters.minimum:this.conversionParameters.maximum-this.conversionParameters.minimum),b=this.scaleBreaks&&!s(this.scaleBreaks.options.spacing),e,f=0;f<d.length;f++)e=b||!s(d[f].options.spacing),d[f].spacing=Ta(d[f].spacing,a,8,e?0.1*a:8,e?0:3)<<0,d[f].size=0>d[f].spacing?0:Math.abs(d[f].spacing/c),this.logarithmic&&(d[f].size=Math.pow(this.logarithmBase,d[f].size))};A.prototype.calculateBreaksInPixels=function(){if(!(this.scaleBreaks&&0>=this.scaleBreaks._appliedBreaks.length)){var a=
|
|
687
|
+
this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];a.length&&(this.scaleBreaks.firstBreakIndex=this.scaleBreaks.lastBreakIndex=null);for(var d=0;d<a.length&&!(a[d].startValue>this.conversionParameters.maximum);d++)a[d].endValue<this.conversionParameters.minimum||(s(this.scaleBreaks.firstBreakIndex)&&(this.scaleBreaks.firstBreakIndex=d),a[d].startValue>=this.conversionParameters.minimum&&(a[d].startPixel=this.convertValueToPixel(a[d].startValue),this.scaleBreaks.lastBreakIndex=d),a[d].endValue<=this.conversionParameters.maximum&&
|
|
688
|
+
(a[d].endPixel=this.convertValueToPixel(a[d].endValue)))}};A.prototype.renderLabelsTicksAndTitle=function(){var a=this,d=!1,c=0,b=0,e=1,f=0;0!==this.labelAngle&&360!==this.labelAngle&&(e=1.2);if("undefined"===typeof this.options.interval){if("bottom"===this._position||"top"===this._position)if(this.logarithmic&&!this.equidistantInterval&&this.labelAutoFit){for(var c=[],e=0!==this.labelAngle&&360!==this.labelAngle?1:1.2,l,h=this.viewportMaximum,n=this.lineCoordinates.width/Math.log(this.range),k=this._labels.length-
|
|
689
|
+
1;0<=k;k--){p=this._labels[k];if(p.position<this.viewportMinimum)break;p.position>this.viewportMaximum||!(k===this._labels.length-1||l<Math.log(h/p.position)*n/e)||(c.push(p),h=p.position,l=p.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(k=0;k<this._labels.length;k++)p=this._labels[k],p.position<this.viewportMinimum||(l=p.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.height*
|
|
690
|
+
Math.abs(Math.sin(Math.PI/180*this.labelAngle)),c+=l);c>this.lineCoordinates.width*e&&this.labelAutoFit&&(d=!0)}if("left"===this._position||"right"===this._position)if(this.logarithmic&&!this.equidistantInterval&&this.labelAutoFit){for(var c=[],m,h=this.viewportMaximum,n=this.lineCoordinates.height/Math.log(this.range),k=this._labels.length-1;0<=k;k--){p=this._labels[k];if(p.position<this.viewportMinimum)break;p.position>this.viewportMaximum||!(k===this._labels.length-1||m<Math.log(h/p.position)*
|
|
691
|
+
n)||(c.push(p),h=p.position,m=p.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(k=0;k<this._labels.length;k++)p=this._labels[k],p.position<this.viewportMinimum||(m=p.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+p.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),b+=m);b>this.lineCoordinates.height*e&&this.labelAutoFit&&(d=!0)}}this.logarithmic&&(!this.equidistantInterval&&
|
|
692
|
+
this.labelAutoFit)&&this._labels.sort(function(a,b){return a.position-b.position});var k=0,p,q;if("bottom"===this._position){for(k=0;k<this._labels.length;k++)p=this._labels[k],p.position<this.viewportMinimum||p.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"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<<
|
|
693
|
+
0),this.ctx.lineTo(b,q.y+this.tickLength<<0),this.ctx.stroke()),d&&0!==f++%2&&this.labelAutoFit||(0===p.textBlock.angle?(q.x-=p.textBlock.width/2,q.y="inside"===this.labelPlacement?q.y-(("inside"===this.tickPlacement?this.tickLength:0)+p.textBlock.height-p.textBlock.fontSize/2):q.y+("inside"===this.tickPlacement?0:this.tickLength)+p.textBlock.fontSize/2+5):(q.x="inside"===this.labelPlacement?0>this.labelAngle?q.x:q.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):q.x-(0>this.labelAngle?p.textBlock.width*
|
|
694
|
+
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=q.x,p.textBlock.y=q.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",
|
|
695
|
+
function(){for(k=0;k<a._labels.length;k++)if(p=a._labels[k],!(p.position<a.viewportMinimum||p.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(p.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(q.x<<0)+0.5:q.x<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(b,q.y<<0);a.ctx.lineTo(b,q.y-a.tickLength<<0);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.lineCoordinates.x1+
|
|
696
|
+
this.lineCoordinates.width/2-this._titleTextBlock.width/2,this._titleTextBlock.y=this.bounds.y2-this._titleTextBlock.height-3,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("top"===this._position){for(k=0;k<this._labels.length;k++)p=this._labels[k],p.position<this.viewportMinimum||p.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=
|
|
697
|
+
this.tickColor,b=1===this.ctx.lineWidth%2?(q.x<<0)+0.5:q.x<<0,this.ctx.beginPath(),this.ctx.moveTo(b,q.y<<0),this.ctx.lineTo(b,q.y-this.tickLength<<0),this.ctx.stroke()),d&&0!==f++%2&&this.labelAutoFit||(0===p.textBlock.angle?(q.x-=p.textBlock.width/2,q.y="inside"===this.labelPlacement?q.y+this.labelFontSize/2+("inside"===this.tickPlacement?this.tickLength:0)+5:q.y-(("inside"===this.tickPlacement?0:this.tickLength)+p.textBlock.height-p.textBlock.fontSize/2)):(q.x="inside"===this.labelPlacement?0<
|
|
698
|
+
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)+("inside"===this.tickPlacement?this.tickLength:0)+5:q.y-(("inside"===this.tickPlacement?0:this.tickLength)+
|
|
699
|
+
((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(k=0;k<a._labels.length;k++)if(p=a._labels[k],!(p.position<a.viewportMinimum||p.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(p.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;
|
|
700
|
+
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=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("left"===this._position){for(k=
|
|
701
|
+
0;k<this._labels.length;k++)p=this._labels[k],p.position<this.viewportMinimum||p.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0,this.ctx.beginPath(),this.ctx.moveTo(q.x<<0,b),this.ctx.lineTo(q.x-this.tickLength<<0,b),this.ctx.stroke()),d&&0!==f++%2&&this.labelAutoFit||(0===this.labelAngle?(p.textBlock.y=
|
|
702
|
+
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?this.tickLength:0)+5:0<this.labelAngle?q.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-
|
|
703
|
+
("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(k=0;k<a._labels.length;k++)if(p=a._labels[k],!(p.position<a.viewportMinimum||p.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(p.position),
|
|
704
|
+
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/2+this.lineCoordinates.y1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("right"===
|
|
705
705
|
this._position){for(k=0;k<this._labels.length;k++)p=this._labels[k],p.position<this.viewportMinimum||p.position>this.viewportMaximum||(q=this.getPixelCoordinatesOnAxis(p.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(q.y<<0)+0.5:q.y<<0,this.ctx.beginPath(),this.ctx.moveTo(q.x<<0,b),this.ctx.lineTo(q.x+this.tickLength<<0,b),this.ctx.stroke()),d&&0!==f++%2&&this.labelAutoFit||(0===this.labelAngle?
|
|
706
706
|
(p.textBlock.y=q.y,p.textBlock.x="inside"===this.labelPlacement?q.x-p.textBlock.width-("inside"===this.tickPlacement?this.tickLength:0)-5:q.x+("inside"===this.tickPlacement?0:this.tickLength)+5):(p.textBlock.y="inside"===this.labelPlacement?q.y-p.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):0>this.labelAngle?q.y:q.y-(p.textBlock.height-p.textBlock.fontSize/2-5)*Math.cos(Math.PI/180*this.labelAngle),p.textBlock.x="inside"===this.labelPlacement?q.x-p.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-
|
|
707
707
|
("inside"===this.tickPlacement?this.tickLength:0)-5:0<this.labelAngle?q.x+(p.textBlock.height-p.textBlock.fontSize/2-5)*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?0:this.tickLength):q.x+("inside"===this.tickPlacement?0:this.tickLength)+5)));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(k=0;k<a._labels.length;k++)if(p=a._labels[k],!(p.position<a.viewportMinimum||p.position>a.viewportMaximum)&&(q=a.getPixelCoordinatesOnAxis(p.position),
|
|
@@ -929,7 +929,7 @@ this.chart.requestAnimFrame.call(window,function(){f.animate.call(f)}):this.char
|
|
|
929
929
|
d){if(0!==a){var c=d.dest,b=d.source.canvas,e=d.animationBase;c.drawImage(b,0,0,b.width,b.height,e-e*a,0,a*c.canvas.width/la,c.canvas.height/la)}},xClipAnimation:function(a,d){if(0!==a){var c=d.dest,b=d.source.canvas;c.save();0<a&&c.drawImage(b,0,0,b.width*a,b.height,0,0,b.width*a/la,b.height/la);c.restore()}},fadeInAnimation:function(a,d){if(0!==a){var c=d.dest,b=d.source.canvas;c.save();c.globalAlpha=a;c.drawImage(b,0,0,b.width,b.height,0,0,c.canvas.width/la,c.canvas.height/la);c.restore()}},easing:{linear:function(a,
|
|
930
930
|
d,c,b){return c*a/b+d},easeOutQuad:function(a,d,c,b){return-c*(a/=b)*(a-2)+d},easeOutQuart:function(a,d,c,b){return-c*((a=a/b-1)*a*a*a-1)+d},easeInQuad:function(a,d,c,b){return c*(a/=b)*a+d},easeInQuart:function(a,d,c,b){return c*(a/=b)*a*a*a+d}}},W={drawMarker:function(a,d,c,b,e,f,h,n){if(c){var s=1;c.fillStyle=f?f:"#000000";c.strokeStyle=h?h:"#000000";c.lineWidth=n?n:0;c.setLineDash&&c.setLineDash(J("solid",n));"circle"===b?(c.moveTo(a,d),c.beginPath(),c.arc(a,d,e/2,0,2*Math.PI,!1),f&&c.fill(),
|
|
931
931
|
n&&(h?c.stroke():(s=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=s))):"square"===b?(c.beginPath(),c.rect(a-e/2,d-e/2,e,e),f&&c.fill(),n&&(h?c.stroke():(s=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=s))):"triangle"===b?(c.beginPath(),c.moveTo(a-e/2,d+e/2),c.lineTo(a+e/2,d+e/2),c.lineTo(a,d-e/2),c.closePath(),f&&c.fill(),n&&(h?c.stroke():(s=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=s)),c.beginPath()):
|
|
932
|
-
"cross"===b&&(c.strokeStyle=f,c.lineWidth=e/4,c.beginPath(),c.moveTo(a-e/2,d-e/2),c.lineTo(a+e/2,d+e/2),c.stroke(),c.moveTo(a+e/2,d-e/2),c.lineTo(a-e/2,d+e/2),c.stroke())}},drawMarkers:function(a){for(var d=0;d<a.length;d++){var c=a[d];W.drawMarker(c.x,c.y,c.ctx,c.type,c.size,c.color,c.borderColor,c.borderThickness)}}};return n}();B.version="v3.7.
|
|
932
|
+
"cross"===b&&(c.strokeStyle=f,c.lineWidth=e/4,c.beginPath(),c.moveTo(a-e/2,d-e/2),c.lineTo(a+e/2,d+e/2),c.stroke(),c.moveTo(a+e/2,d-e/2),c.lineTo(a-e/2,d+e/2),c.stroke())}},drawMarkers:function(a){for(var d=0;d<a.length;d++){var c=a[d];W.drawMarker(c.x,c.y,c.ctx,c.type,c.size,c.color,c.borderColor,c.borderThickness)}}};return n}();B.version="v3.7.32 GA";window.CanvasJS&&(B&&!window.CanvasJS.Chart)&&(window.CanvasJS.Chart=B)})();
|
|
933
933
|
|
|
934
934
|
/*
|
|
935
935
|
excanvas is used to support IE678 which do not implement HTML5 Canvas Element. You can safely remove the following excanvas code if you don't need to support older browsers.
|
package/package.json
CHANGED