@canvasjs/stockcharts 1.7.40 → 1.7.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/canvasjs.stock.min.js +608 -608
- package/package.json +2 -1
package/canvasjs.stock.min.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
CanvasJS StockChart - v1.7.
|
|
2
|
+
CanvasJS StockChart - v1.7.41 GA - https://canvasjs.com/
|
|
3
3
|
Copyright 2024 fenopix
|
|
4
4
|
|
|
5
5
|
--------------------- License Information --------------------
|
|
@@ -94,9 +94,9 @@ theme2:Ja,theme3:Ha},V={numberDuration:1,yearDuration:314496E5,monthDuration:259
|
|
|
94
94
|
var sb=function(){var k=!1;try{var f=Object.defineProperty&&Object.defineProperty({},"passive",{get:function(){k=!0;return!1}});window.addEventListener&&(window.addEventListener("test",null,f),window.removeEventListener("test",null,f))}catch(s){k=!1}return k}(),gb={},Ga=null,mb=function(k){var f=0,s=0;this.options.width?f=this.width:this.width=f=0<this.container.clientWidth?this.container.clientWidth:this.width;this.options.height?s=this.height:this.height=s=0<this.container.clientHeight?this.container.clientHeight:
|
|
95
95
|
this.height;if(this.canvas.width!==f*ia||this.canvas.height!==s*ia){for(var Q=0;Q<k.length;Q++)Ua(k[Q],f,s);this.bounds={x1:0,y1:0,x2:this.width,y2:this.height,width:this.width,height:this.height};return!0}return!1},nb=function(){this.ctx.clearRect(0,0,this.width,this.height);this.backgroundColor&&(this.ctx.fillStyle=this.backgroundColor,this.ctx.fillRect(0,0,this.width,this.height))},Da=function(k){k.width=1;k.height=1;k.getContext("2d")&&k.getContext("2d").clearRect(0,0,1,1)},ob=function(k,f,s){f=
|
|
96
96
|
Math.min(this.width,this.height);return Math.max("theme4"===this.theme?0:300<=f?12:11,Math.round(f*(k/400)))},ea=function(){var k=/D{1,4}|M{1,4}|Y{1,4}|h{1,2}|H{1,2}|m{1,2}|s{1,2}|f{1,3}|t{1,2}|T{1,2}|K|z{1,3}|"[^"]*"|'[^']*'/g,f="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),s="Sun Mon Tue Wed Thu Fri Sat".split(" "),Q="January February March April May June July August September October November December".split(" "),$="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),
|
|
97
|
-
m=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,A=/[^-+\dA-Z]/g;return function(v,G,N){var L=N?N.days:f,X=N?N.months:Q,M=N?N.shortDays:s,R=N?N.shortMonths:$;N="";var d=!1;v=v&&v.getTime?v:v?new Date(v):new Date;if(isNaN(v))throw SyntaxError("invalid date");"UTC:"===G.slice(0,4)&&(G=G.slice(4),d=!0);N=d?"getUTC":"get";var y=v[N+"Date"](),t=v[N+"Day"](),z=v[N+"Month"](),a=v[N+"FullYear"](),
|
|
98
|
-
"Minutes"](),b=v[N+"Seconds"](),
|
|
99
|
-
12||12,2);case "H":return
|
|
97
|
+
m=/\b(?:[PMCEA][SDP]T|(?:Pacific|Mountain|Central|Eastern|Atlantic) (?:Standard|Daylight|Prevailing) Time|(?:GMT|UTC)(?:[-+]\d{4})?)\b/g,A=/[^-+\dA-Z]/g;return function(v,G,N){var L=N?N.days:f,X=N?N.months:Q,M=N?N.shortDays:s,R=N?N.shortMonths:$;N="";var d=!1;v=v&&v.getTime?v:v?new Date(v):new Date;if(isNaN(v))throw SyntaxError("invalid date");"UTC:"===G.slice(0,4)&&(G=G.slice(4),d=!0);N=d?"getUTC":"get";var y=v[N+"Date"](),t=v[N+"Day"](),z=v[N+"Month"](),a=v[N+"FullYear"](),g=v[N+"Hours"](),c=v[N+
|
|
98
|
+
"Minutes"](),b=v[N+"Seconds"](),e=v[N+"Milliseconds"](),l=d?0:v.getTimezoneOffset();return N=G.replace(k,function(B){switch(B){case "D":return y;case "DD":return oa(y,2);case "DDD":return M[t];case "DDDD":return L[t];case "M":return z+1;case "MM":return oa(z+1,2);case "MMM":return R[z];case "MMMM":return X[z];case "Y":return parseInt(String(a).slice(-2));case "YY":return oa(String(a).slice(-2),2);case "YYY":return oa(String(a).slice(-3),3);case "YYYY":return oa(a,4);case "h":return g%12||12;case "hh":return oa(g%
|
|
99
|
+
12||12,2);case "H":return g;case "HH":return oa(g,2);case "m":return c;case "mm":return oa(c,2);case "s":return b;case "ss":return oa(b,2);case "f":return oa(String(e),3).slice(0,1);case "ff":return oa(String(e),3).slice(0,2);case "fff":return oa(String(e),3).slice(0,3);case "t":return 12>g?"a":"p";case "tt":return 12>g?"am":"pm";case "T":return 12>g?"A":"P";case "TT":return 12>g?"AM":"PM";case "K":return d?"UTC":(String(v).match(m)||[""]).pop().replace(A,"");case "z":return(0<l?"-":"+")+Math.floor(Math.abs(l)/
|
|
100
100
|
60);case "zz":return(0<l?"-":"+")+oa(Math.floor(Math.abs(l)/60),2);case "zzz":return(0<l?"-":"+")+oa(Math.floor(Math.abs(l)/60),2)+oa(Math.abs(l)%60,2);default:return B.slice(1,B.length-1)}})}}(),wb=function(k){var f=0>k;if(1>Math.abs(k)){var s=parseInt(k.toString().split("e-")[1]);s&&(k=(f?-1*k:k)*Math.pow(10,s-1),k="0."+Array(s).join("0")+k.toString().substring(2),k=f?"-"+k:k)}else s=parseInt(k.toString().split("+")[1]),20<s&&(s-=20,k/=Math.pow(10,s),k=k.toString()+Array(s+1).join("0"));return String(k)},
|
|
101
101
|
aa=function(k,f,s){if(null===k)return"";if(!isFinite(k))return k;k=Number(k);var Q=0>k?!0:!1;Q&&(k*=-1);var $=s?s.decimalSeparator:".",m=s?s.digitGroupSeparator:",",A="";f=String(f);var A=1,v=s="",G=-1,N=[],L=[],X=0,M=0,R=0,d=!1,y=0,v=f.match(/"[^"]*"|'[^']*'|[eE][+-]*[0]+|[,]+[.]|\u2030|./g);f=null;for(var t=0;v&&t<v.length;t++)if(f=v[t],"."===f&&0>G)G=t;else{if("%"===f)A*=100;else if("\u2030"===f){A*=1E3;continue}else if(","===f[0]&&"."===f[f.length-1]){A/=Math.pow(1E3,f.length-1);G=t+f.length-
|
|
102
102
|
1;continue}else"E"!==f[0]&&"e"!==f[0]||"0"!==f[f.length-1]||(d=!0);0>G?(N.push(f),"#"===f||"0"===f?X++:","===f&&R++):(L.push(f),"#"!==f&&"0"!==f||M++)}d&&(f=Math.floor(k),v=-Math.floor(Math.log(k)/Math.LN10+1),y=0===k?0:0===f?-(X+v):wb(f).length-X,A/=Math.pow(10,y));0>G&&(G=t);A=(k*A).toFixed(M);f=A.split(".");A=(f[0]+"").split("");k=(f[1]+"").split("");A&&"0"===A[0]&&A.shift();for(d=v=t=M=G=0;0<N.length;)if(f=N.pop(),"#"===f||"0"===f)if(G++,G===X){var z=A,A=[];if("0"===f)for(f=X-M-(z?z.length:0);0<
|
|
@@ -135,427 +135,427 @@ borderThickness:this.borderThickness,backgroundColor:this.backgroundColor,maxWid
|
|
|
135
135
|
(v=s.y1+(s.height/2-N.height/2)+this.fontSize/2+4,m=s.x1+(s.width/2-N.width/2),P="center",this.width=N.width,this.height=N.height),L="center");O.x=m;O.y=v;O.angle=G;O.horizontalAlign=L;this._textBlock=O;s.layoutManager.registerSpace(P,{width:this.width+("left"===P||"right"===P?this.margin+2:0),height:this.height+("top"===P||"bottom"===P?this.margin+2:0)});this.bounds={x1:m,y1:v,x2:m+this.width,y2:v+this.height};this.ctx.textBaseline="top"}};Ia.prototype.render=function(){this._textBlock&&this._textBlock.render(!0)};
|
|
136
136
|
ga(Na,ba);Na.prototype.setLayout=Ia.prototype.setLayout;Na.prototype.render=Ia.prototype.render;ab.prototype.get=function(f,s){var m=null;0<this.pool.length?(m=this.pool.pop(),Ua(m,f,s)):m=sa(f,s);return m};ab.prototype.release=function(f){this.pool.push(f)};ga(Oa,ba);var Sa={addTheme:function(f,s){bb[f]=s},addColorSet:function(f,s){ya[f]=s},addCultureInfo:function(f,s){Ra[f]=s},formatNumber:function(f,s,m){m=m||"en";if(Ra[m])return aa(f,s||"#,##0.##",new Oa(m));throw"Unknown Culture Name";},formatDate:function(f,
|
|
137
137
|
s,m){m=m||"en";if(Ra[m])return ea(f,s||"DD MMM YYYY",new Oa(m));throw"Unknown Culture Name";}};"undefined"!==typeof module&&"undefined"!==typeof module.exports?module.exports=Sa:"function"===typeof define&&define.amd?define([],function(){return Sa}):(window.CanvasJS&&window.console&&window.console.log("CanvasJS namespace already exists. If you are loading both chart and stockchart scripts, just load stockchart alone as it includes all chart features."),window.CanvasJS=window.CanvasJS?window.CanvasJS:
|
|
138
|
-
Sa);var Ka=Sa.Chart=function(){function k(a,
|
|
138
|
+
Sa);var Ka=Sa.Chart=function(){function k(a,g){return a.x-g.x}function m(a,g,c){g=g||{};f(c)?(this.predefinedThemes=bb,this.optionsName=this.parent=this.index=null):(this.parent=c.parent,this.index=c.index,this.predefinedThemes=c.predefinedThemes,this.optionsName=c.optionsName,this.stockChart=c.stockChart,this.panel=a,this.isOptionsInArray=c.isOptionsInArray);this.theme=f(g.theme)||f(this.predefinedThemes[g.theme])?"light1":g.theme;m.base.constructor.call(this,"Chart",this.optionsName,g,this.index,
|
|
139
139
|
this.parent);var b=this;this._containerId=a;this._objectsInitialized=!1;this.overlaidCanvasCtx=this.ctx=null;this._indexLabels=[];this._panTimerId=0;this._lastTouchEventType="";this._lastTouchData=null;this.isAnimating=!1;this.renderCount=0;this.disableToolTip=this.animatedRender=!1;this.canvasPool=new ab;this.allDOMEventHandlers=[];this.panEnabled=!1;this._defaultCursor="default";this.plotArea={canvas:null,ctx:null,x1:0,y1:0,x2:0,y2:0,width:0,height:0};this._dataInRenderedOrder=[];(this.container=
|
|
140
|
-
"string"===typeof this._containerId?document.getElementById(this._containerId):this._containerId)?(this.container.innerHTML="",
|
|
141
|
-
this._canvasJSContainer=document.createElement("div"),this._canvasJSContainer.setAttribute("class","canvasjs-chart-container"),this._canvasJSContainer.style.position="relative",this._canvasJSContainer.style.textAlign="left",this._canvasJSContainer.style.cursor="auto",this._canvasJSContainer.style.direction="ltr",s||(this._canvasJSContainer.style.height="0px"),this.container.appendChild(this._canvasJSContainer),this.canvas=sa(a,
|
|
142
|
-
this.canvas.style.WebkitUserSelect="none",this.canvas.style.MozUserSelect="none",this.canvas.style.msUserSelect="none",this.canvas.style.userSelect="none",this.canvas.getContext&&(this._canvasJSContainer.appendChild(this.canvas),this.ctx=this.canvas.getContext("2d"),this.ctx.textBaseline="top",Ea(this.ctx),this._preRenderCtx=this._preRenderCanvas.getContext("2d"),this._preRenderCtx.textBaseline="top",Ea(this._preRenderCtx),s?this.plotArea.ctx=this.ctx:(this.plotArea.canvas=sa(a,
|
|
143
|
-
"absolute",this.plotArea.canvas.setAttribute("class","plotAreaCanvas"),this._canvasJSContainer.appendChild(this.plotArea.canvas),this.plotArea.ctx=this.plotArea.canvas.getContext("2d")),this.overlaidCanvas=sa(a,
|
|
140
|
+
"string"===typeof this._containerId?document.getElementById(this._containerId):this._containerId)?(this.container.innerHTML="",g=a=0,a=this.options.width?this.width:0<this.container.clientWidth?this.container.clientWidth:this.width,g=this.options.height?this.height:0<this.container.clientHeight?this.container.clientHeight:this.height,this.width=a,this.height=g,this.x1=this.y1=0,this.x2=this.width,this.y2=this.height,this.selectedColorSet="undefined"!==typeof ya[this.colorSet]?ya[this.colorSet]:ya.colorSet1,
|
|
141
|
+
this._canvasJSContainer=document.createElement("div"),this._canvasJSContainer.setAttribute("class","canvasjs-chart-container"),this._canvasJSContainer.style.position="relative",this._canvasJSContainer.style.textAlign="left",this._canvasJSContainer.style.cursor="auto",this._canvasJSContainer.style.direction="ltr",s||(this._canvasJSContainer.style.height="0px"),this.container.appendChild(this._canvasJSContainer),this.canvas=sa(a,g),this._preRenderCanvas=sa(a,g),this.canvas.style.position="absolute",
|
|
142
|
+
this.canvas.style.WebkitUserSelect="none",this.canvas.style.MozUserSelect="none",this.canvas.style.msUserSelect="none",this.canvas.style.userSelect="none",this.canvas.getContext&&(this._canvasJSContainer.appendChild(this.canvas),this.ctx=this.canvas.getContext("2d"),this.ctx.textBaseline="top",Ea(this.ctx),this._preRenderCtx=this._preRenderCanvas.getContext("2d"),this._preRenderCtx.textBaseline="top",Ea(this._preRenderCtx),s?this.plotArea.ctx=this.ctx:(this.plotArea.canvas=sa(a,g),this.plotArea.canvas.style.position=
|
|
143
|
+
"absolute",this.plotArea.canvas.setAttribute("class","plotAreaCanvas"),this._canvasJSContainer.appendChild(this.plotArea.canvas),this.plotArea.ctx=this.plotArea.canvas.getContext("2d")),this.overlaidCanvas=sa(a,g),this.overlaidCanvas.style.position="absolute",this.overlaidCanvas.style.webkitTapHighlightColor="transparent",this.overlaidCanvas.style.WebkitUserSelect="none",this.overlaidCanvas.style.MozUserSelect="none",this.overlaidCanvas.style.msUserSelect="none",this.overlaidCanvas.style.userSelect=
|
|
144
144
|
"none",this.overlaidCanvas.getContext&&(this._canvasJSContainer.appendChild(this.overlaidCanvas),this.overlaidCanvasCtx=this.overlaidCanvas.getContext("2d"),this.overlaidCanvasCtx.textBaseline="top",Ea(this.overlaidCanvasCtx)),this._eventManager=new ha(this),this.windowResizeHandler=v(window,"resize",function(){b._updateSize()&&b.render()},this.allDOMEventHandlers),this._toolBar=document.createElement("div"),this._toolBar.setAttribute("class","canvasjs-chart-toolbar"),P(this._toolBar,{position:"absolute",
|
|
145
145
|
right:"1px",top:"1px"}),this._canvasJSContainer.appendChild(this._toolBar),this.bounds={x1:0,y1:0,x2:this.width,y2:this.height},v(this.overlaidCanvas,"click",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),v(this.overlaidCanvas,"mousemove",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),v(this.overlaidCanvas,"mouseup",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),v(this.overlaidCanvas,"mousedown",function(a){b._mouseEventHandler(a);za(b._dropdownMenu)},
|
|
146
146
|
this.allDOMEventHandlers),v(this.overlaidCanvas,"mouseout",function(a){b._mouseEventHandler(a)},this.allDOMEventHandlers),v(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",function(a){b._touchEventHandler(a)},this.allDOMEventHandlers),v(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerMove":"touchmove",function(a){b._touchEventHandler(a)},this.allDOMEventHandlers),v(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerUp":"touchend",function(a){b._touchEventHandler(a)},
|
|
147
|
-
this.allDOMEventHandlers),v(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerCancel":"touchcancel",function(a){b._touchEventHandler(a)},this.allDOMEventHandlers),this.toolTip=new qa(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 G(a,
|
|
148
|
-
[],b,
|
|
149
|
-
c[c.length]=a[f].x>a[l].x&&0<d||a[f].x<a[l].x&&0>d?{x:a[f].x-d/3,y:a[f].y-b/3}:{x:a[f].x,y:a[f].y-b/9};c[c.length]=a[
|
|
150
|
-
a.setLineDash(X(f.dashType,f.thickness));a.beginPath();d&&0<f.thickness?(a.moveTo(b-B.thickness/2,Math.round((c+
|
|
151
|
-
B.thickness&&(a.moveTo(
|
|
152
|
-
this.lineHeight=fb(this.fontFamily,this.fontSize,this.fontWeight);this.horizontalSpacing=this.fontSize}function O(a,
|
|
153
|
-
[];this.axisY=this.axisX=null;this.optionsName="data";this.isOptionsInArray=!0;null===this.fillOpacity&&(this.type.match(/area/i)?this.fillOpacity=0.7:this.fillOpacity=1);this.axisPlacement=this.getDefaultAxisPlacement();"undefined"===typeof this.options.indexLabelFontSize&&(this.indexLabelFontSize=this.chart.getAutoFontSize(this.indexLabelFontSize))}function A(a,
|
|
154
|
-
this.maxWidth=0;this.labels=[];this.dataSeries=[];this._stripLineLabels=this._ticks=this._labels=null;this.dataInfo={min:Infinity,max:-Infinity,viewPortMin:Infinity,viewPortMax:-Infinity,minDiff:Infinity};this.isOptionsInArray=!0;"axisX"===
|
|
147
|
+
this.allDOMEventHandlers),v(this.overlaidCanvas,window.navigator.msPointerEnabled?"MSPointerCancel":"touchcancel",function(a){b._touchEventHandler(a)},this.allDOMEventHandlers),this.toolTip=new qa(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 G(a,g){for(var c=
|
|
148
|
+
[],b,e=0;e<a.length;e++)if(0==e)c.push(a[0]);else{var l,B,f;f=e-1;l=0===f?0:f-1;B=f===a.length-1?f:f+1;b=Math.abs((a[B].x-a[l].x)/(0===a[B].x-a[f].x?0.01:a[B].x-a[f].x))*(g-1)/2+1;var d=(a[B].x-a[l].x)/b;b=(a[B].y-a[l].y)/b;c[c.length]=a[f].x>a[l].x&&0<d||a[f].x<a[l].x&&0>d?{x:a[f].x+d/3,y:a[f].y+b/3}:{x:a[f].x,y:a[f].y+(1===c.length?0:b/9)};f=e;l=0===f?0:f-1;B=f===a.length-1?f:f+1;b=Math.abs((a[B].x-a[l].x)/(0===a[f].x-a[l].x?0.01:a[f].x-a[l].x))*(g-1)/2+1;d=(a[B].x-a[l].x)/b;b=(a[B].y-a[l].y)/b;
|
|
149
|
+
c[c.length]=a[f].x>a[l].x&&0<d||a[f].x<a[l].x&&0>d?{x:a[f].x-d/3,y:a[f].y-b/3}:{x:a[f].x,y:a[f].y-b/9};c[c.length]=a[e]}return c}function Q(a,g,c,b,e,l,B,f,d,n){var p=0;n?(B.color=l,f.color=l):n=1;p=d?Math.abs(e-c):Math.abs(b-g);p=0<B.trimLength?Math.abs(p*B.trimLength/100):Math.abs(p-B.length);d?(c+=p/2,e-=p/2):(g+=p/2,b-=p/2);var p=1===Math.round(B.thickness)%2?0.5:0,q=1===Math.round(f.thickness)%2?0.5:0;a.save();a.globalAlpha=n;a.strokeStyle=f.color||l;a.lineWidth=f.thickness||2;a.setLineDash&&
|
|
150
|
+
a.setLineDash(X(f.dashType,f.thickness));a.beginPath();d&&0<f.thickness?(a.moveTo(b-B.thickness/2,Math.round((c+e)/2)-q),a.lineTo(g+B.thickness/2,Math.round((c+e)/2)-q)):0<f.thickness&&(a.moveTo(Math.round((g+b)/2)-q,c+B.thickness/2),a.lineTo(Math.round((g+b)/2)-q,e-B.thickness/2));a.stroke();a.strokeStyle=B.color||l;a.lineWidth=B.thickness||2;a.setLineDash&&a.setLineDash(X(B.dashType,B.thickness));a.beginPath();d&&0<B.thickness?(a.moveTo(b-p,c),a.lineTo(b-p,e),a.moveTo(g+p,c),a.lineTo(g+p,e)):0<
|
|
151
|
+
B.thickness&&(a.moveTo(g,c+p),a.lineTo(b,c+p),a.moveTo(g,e-p),a.lineTo(b,e-p));a.stroke();a.restore()}function L(a,g){L.base.constructor.call(this,"Legend","legend",g,null,a);this.chart=a;this.canvas=a.canvas;this.ctx=this.chart.ctx;this.ghostCtx=this.chart._eventManager.ghostCtx;this.items=[];this.optionsName="legend";this.height=this.width=0;this.orientation=null;this.dataSeries=[];this.bounds={x1:null,y1:null,x2:null,y2:null};"undefined"===typeof this.options.fontSize&&(this.fontSize=this.chart.getAutoFontSize(this.fontSize));
|
|
152
|
+
this.lineHeight=fb(this.fontFamily,this.fontSize,this.fontWeight);this.horizontalSpacing=this.fontSize}function O(a,g,c,b){O.base.constructor.call(this,"DataSeries","data",g,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=g.dataPoints?g.dataPoints.length:0;this.dataPointEOs=[];for(g=0;g<a;g++)this.dataPointEOs[g]={};this.dataPointIds=[];this.plotUnit=
|
|
153
|
+
[];this.axisY=this.axisX=null;this.optionsName="data";this.isOptionsInArray=!0;null===this.fillOpacity&&(this.type.match(/area/i)?this.fillOpacity=0.7:this.fillOpacity=1);this.axisPlacement=this.getDefaultAxisPlacement();"undefined"===typeof this.options.indexLabelFontSize&&(this.indexLabelFontSize=this.chart.getAutoFontSize(this.indexLabelFontSize))}function A(a,g,c,b,e,l){A.base.constructor.call(this,"Axis",g,c,b,a);this.chart=a;this.canvas=a.canvas;this.ctx=a.ctx;this.intervalStartPosition=this.maxHeight=
|
|
154
|
+
this.maxWidth=0;this.labels=[];this.dataSeries=[];this._stripLineLabels=this._ticks=this._labels=null;this.dataInfo={min:Infinity,max:-Infinity,viewPortMin:Infinity,viewPortMax:-Infinity,minDiff:Infinity};this.isOptionsInArray=!0;"axisX"===e?("left"===l||"bottom"===l?(this.optionsName="axisX",f(this.chart.sessionVariables.axisX[b])&&(this.chart.sessionVariables.axisX[b]={}),this.sessionVariables=this.chart.sessionVariables.axisX[b]):(this.optionsName="axisX2",f(this.chart.sessionVariables.axisX2[b])&&
|
|
155
155
|
(this.chart.sessionVariables.axisX2[b]={}),this.sessionVariables=this.chart.sessionVariables.axisX2[b]),this.options.interval||(this.intervalType=null)):"left"===l||"bottom"===l?(this.optionsName="axisY",f(this.chart.sessionVariables.axisY[b])&&(this.chart.sessionVariables.axisY[b]={}),this.sessionVariables=this.chart.sessionVariables.axisY[b]):(this.optionsName="axisY2",f(this.chart.sessionVariables.axisY2[b])&&(this.chart.sessionVariables.axisY2[b]={}),this.sessionVariables=this.chart.sessionVariables.axisY2[b]);
|
|
156
|
-
"undefined"===typeof this.options.titleFontSize&&(this.titleFontSize=this.chart.getAutoFontSize(this.titleFontSize));"undefined"===typeof this.options.labelFontSize&&(this.labelFontSize=this.chart.getAutoFontSize(this.labelFontSize));this.type=
|
|
156
|
+
"undefined"===typeof this.options.titleFontSize&&(this.titleFontSize=this.chart.getAutoFontSize(this.titleFontSize));"undefined"===typeof this.options.labelFontSize&&(this.labelFontSize=this.chart.getAutoFontSize(this.labelFontSize));this.type=e;"axisX"!==e||c&&"undefined"!==typeof c.gridThickness||(this.gridThickness=0);this._position=l;this.lineCoordinates={x1:null,y1:null,x2:null,y2:null,width:null};this.labelAngle=(this.labelAngle%360+360)%360;90<this.labelAngle&&270>this.labelAngle?this.labelAngle-=
|
|
157
157
|
180:270<=this.labelAngle&&360>=this.labelAngle&&(this.labelAngle-=360);this.options.scaleBreaks&&(this.scaleBreaks=new M(this.chart,this.options.scaleBreaks,++this.chart._eventManager.lastObjectId,this));this.stripLines=[];if(this.options.stripLines&&0<this.options.stripLines.length)for(a=0;a<this.options.stripLines.length;a++)this.stripLines.push(new N(this.chart,this.options.stripLines[a],a,++this.chart._eventManager.lastObjectId,this));this.options.crosshair&&(this.crosshair=new Y(this.chart,this.options.crosshair,
|
|
158
158
|
this));this._titleTextBlock=null;this.hasOptionChanged("viewportMinimum")&&null===this.viewportMinimum&&(this.options.viewportMinimum=void 0,this.sessionVariables.viewportMinimum=null);this.hasOptionChanged("viewportMinimum")||isNaN(this.sessionVariables.newViewportMinimum)||null===this.sessionVariables.newViewportMinimum?this.sessionVariables.newViewportMinimum=null:this.viewportMinimum=this.sessionVariables.newViewportMinimum;this.hasOptionChanged("viewportMaximum")&&null===this.viewportMaximum&&
|
|
159
159
|
(this.options.viewportMaximum=void 0,this.sessionVariables.viewportMaximum=null);this.hasOptionChanged("viewportMaximum")||isNaN(this.sessionVariables.newViewportMaximum)||null===this.sessionVariables.newViewportMaximum?this.sessionVariables.newViewportMaximum=null:this.viewportMaximum=this.sessionVariables.newViewportMaximum;null!==this.minimum&&null!==this.viewportMinimum&&(this.viewportMinimum=Math.max(this.viewportMinimum,this.minimum));null!==this.maximum&&null!==this.viewportMaximum&&(this.viewportMaximum=
|
|
160
|
-
Math.min(this.viewportMaximum,this.maximum));this.trackChanges("viewportMinimum");this.trackChanges("viewportMaximum")}function M(a,
|
|
160
|
+
Math.min(this.viewportMaximum,this.maximum));this.trackChanges("viewportMinimum");this.trackChanges("viewportMaximum")}function M(a,g,c,b){M.base.constructor.call(this,"ScaleBreaks","scaleBreaks",g,null,b);this.id=c;this.chart=a;this.ctx=this.chart.ctx;this.axis=b;this.optionsName="scaleBreaks";this.isOptionsInArray=!1;this._appliedBreaks=[];this.customBreaks=[];this.autoBreaks=[];"string"===typeof this.spacing?(this.spacing=parseFloat(this.spacing),this.spacing=isNaN(this.spacing)?8:(10<this.spacing?
|
|
161
161
|
10:this.spacing)+"%"):"number"!==typeof this.spacing&&(this.spacing=8);this.autoCalculate&&(this.maxNumberOfAutoBreaks=Math.min(this.maxNumberOfAutoBreaks,5));if(this.options.customBreaks&&0<this.options.customBreaks.length){for(a=0;a<this.options.customBreaks.length;a++)this.customBreaks.push(new T(this.chart,"customBreaks",this.options.customBreaks[a],a,++this.chart._eventManager.lastObjectId,this)),"number"===typeof this.customBreaks[a].startValue&&("number"===typeof this.customBreaks[a].endValue&&
|
|
162
162
|
this.customBreaks[a].endValue!==this.customBreaks[a].startValue)&&this._appliedBreaks.push(this.customBreaks[a]);this._appliedBreaks.sort(function(a,b){return a.startValue-b.startValue});for(a=0;a<this._appliedBreaks.length-1;a++)this._appliedBreaks[a].endValue>=this._appliedBreaks[a+1].startValue&&(this._appliedBreaks[a].endValue=Math.max(this._appliedBreaks[a].endValue,this._appliedBreaks[a+1].endValue),window.console&&window.console.log("CanvasJS Error: Breaks "+a+" and "+(a+1)+" are overlapping."),
|
|
163
|
-
this._appliedBreaks.splice(a,2),a--)}}function T(a,
|
|
163
|
+
this._appliedBreaks.splice(a,2),a--)}}function T(a,g,c,b,e,l){T.base.constructor.call(this,"Break",g,c,b,l);this.id=e;this.chart=a;this.ctx=this.chart.ctx;this.scaleBreaks=l;this.optionsName=g;this.isOptionsInArray=!0;this.type=c.type?this.type:l.type;this.fillOpacity=f(c.fillOpacity)?l.fillOpacity:this.fillOpacity;this.lineThickness=f(c.lineThickness)?l.lineThickness:this.lineThickness;this.color=c.color?this.color:l.color;this.lineColor=c.lineColor?this.lineColor:l.lineColor;this.lineDashType=c.lineDashType?
|
|
164
164
|
this.lineDashType:l.lineDashType;!f(this.startValue)&&this.startValue.getTime&&(this.startValue=this.startValue.getTime());!f(this.endValue)&&this.endValue.getTime&&(this.endValue=this.endValue.getTime());"number"===typeof this.startValue&&("number"===typeof this.endValue&&this.endValue<this.startValue)&&(a=this.startValue,this.startValue=this.endValue,this.endValue=a);this.spacing="undefined"===typeof c.spacing?l.spacing:c.spacing;"string"===typeof this.options.spacing?(this.spacing=parseFloat(this.spacing),
|
|
165
|
-
this.spacing=isNaN(this.spacing)?0:(10<this.spacing?10:this.spacing)+"%"):"number"!==typeof this.options.spacing&&(this.spacing=l.spacing);this.size=l.parent.logarithmic?1:0}function N(a,
|
|
166
|
-
this.startValue.getTime():this.startValue)*(this.endValue.getTime?this.endValue.getTime():this.endValue)):((this.startValue.getTime?this.startValue.getTime():this.startValue)+(this.endValue.getTime?this.endValue.getTime():this.endValue))/2,this._thicknessType=null)}function Y(a,
|
|
167
|
-
"toolTip",
|
|
168
|
-
this.chart.height,!0);this.ghostCtx=this.ghostCanvas.getContext("2d");this.mouseoveredObjectMaps=[]}function ja(a){this.chart=a;this.ctx=this.chart.plotArea.ctx;this.animations=[];this.animationRequestId=null}ga(m,ba);m.prototype.destroy=function(){var a=this.allDOMEventHandlers;this._animator&&this._animator.cancelAllAnimations();this._panTimerId&&clearTimeout(this._panTimerId);for(var
|
|
165
|
+
this.spacing=isNaN(this.spacing)?0:(10<this.spacing?10:this.spacing)+"%"):"number"!==typeof this.options.spacing&&(this.spacing=l.spacing);this.size=l.parent.logarithmic?1:0}function N(a,g,c,b,e){N.base.constructor.call(this,"StripLine","stripLines",g,c,e);this.id=b;this.chart=a;this.ctx=this.chart.ctx;this.label=this.label;this.axis=e;this.optionsName="stripLines";this.isOptionsInArray=!0;this._thicknessType="pixel";null!==this.startValue&&null!==this.endValue&&(this.value=e.logarithmic?Math.sqrt((this.startValue.getTime?
|
|
166
|
+
this.startValue.getTime():this.startValue)*(this.endValue.getTime?this.endValue.getTime():this.endValue)):((this.startValue.getTime?this.startValue.getTime():this.startValue)+(this.endValue.getTime?this.endValue.getTime():this.endValue))/2,this._thicknessType=null)}function Y(a,g,c){Y.base.constructor.call(this,"Crosshair","crosshair",g,null,c);this.chart=a;this.ctx=this.chart.ctx;this.axis=c;this.optionsName="crosshair";this._thicknessType="pixel"}function qa(a,g){qa.base.constructor.call(this,"ToolTip",
|
|
167
|
+
"toolTip",g,null,a);this.chart=a;this.canvas=a.canvas;this.ctx=this.chart.ctx;this.currentDataPointIndex=this.currentSeriesIndex=-1;this._prevY=this._prevX=NaN;this.containerTransitionDuration=0.1;this.mozContainerTransition=this.getContainerTransition(this.containerTransitionDuration);this.optionsName="toolTip";this._initialize()}function ha(a){this.chart=a;this.lastObjectId=0;this.objectMap=[];this.rectangularRegionEventSubscriptions=[];this.previousDataPointEventObject=null;this.ghostCanvas=sa(this.chart.width,
|
|
168
|
+
this.chart.height,!0);this.ghostCtx=this.ghostCanvas.getContext("2d");this.mouseoveredObjectMaps=[]}function ja(a){this.chart=a;this.ctx=this.chart.plotArea.ctx;this.animations=[];this.animationRequestId=null}ga(m,ba);m.prototype.destroy=function(){var a=this.allDOMEventHandlers;this._animator&&this._animator.cancelAllAnimations();this._panTimerId&&clearTimeout(this._panTimerId);for(var g=0;g<a.length;g++)hb(a[g][0],a[g][1],a[g][2],a[g][3]);this.allDOMEventHandlers=[];for(this.removeAllEventListeners();this._canvasJSContainer&&
|
|
169
169
|
this._canvasJSContainer.hasChildNodes();)this._canvasJSContainer.removeChild(this._canvasJSContainer.lastChild);for(;this.container&&this.container.hasChildNodes();)this.container.removeChild(this.container.lastChild);for(;this._dropdownMenu&&this._dropdownMenu.hasChildNodes();)this._dropdownMenu.removeChild(this._dropdownMenu.lastChild);this.container=this._canvasJSContainer=null;this.toolTip.container=null;this.canvas&&Da(this.canvas);this.overlaidCanvas&&Da(this.overlaidCanvas);this._preRenderCanvas&&
|
|
170
170
|
Da(this._preRenderCanvas);this._breaksCanvas&&Da(this._breaksCanvas);this._eventManager&&this._eventManager.ghostCanvas&&Da(this._eventManager.ghostCanvas);this._toolBar=this._dropdownMenu=this._menuButton=this._resetButton=this._zoomButton=null};m.prototype._updateOptions=function(){var a=this;this.updateOption("width");this.updateOption("height");this.updateOption("dataPointWidth");this.updateOption("dataPointMinWidth");this.updateOption("dataPointMaxWidth");this.updateOption("interactivityEnabled");
|
|
171
171
|
this.updateOption("theme");this.updateOption("colorSet")&&(this.selectedColorSet="undefined"!==typeof ya[this.colorSet]?ya[this.colorSet]:ya.colorSet1);this.updateOption("backgroundColor");this.backgroundColor||(this.backgroundColor="rgba(0,0,0,0)");this.updateOption("culture");this._cultureInfo=new Oa(this.options.culture);this.updateOption("animationEnabled");this.animationEnabled=this.animationEnabled&&s;this.updateOption("animationDuration");this.updateOption("rangeChanging");this.updateOption("rangeChanged");
|
|
172
|
-
this.updateOption("exportEnabled");this.updateOption("exportFileName");this.updateOption("zoomType");this.toolbar=new Xa(this,this.options.toolbar);if(this.options.zoomEnabled||this.panEnabled){if(this._zoomButton)P(this._zoomButton,{borderRight:this.toolbar.buttonBorderThickness+"px solid "+this.toolbar.buttonBorderColor,backgroundColor:a.toolbar.itemBackgroundColor,color:a.toolbar.fontColor}),xa(this,this._zoomButton,"zoom");else{var
|
|
173
|
-
this._zoomButton,"pan");this._toolBar.appendChild(this._zoomButton);this._zoomButton.style.borderRight=this.toolbar.buttonBorderThickness+"px solid "+this.toolbar.buttonBorderColor;v(this._zoomButton,"touchstart",function(a){
|
|
174
|
-
function(){
|
|
175
|
-
P(a._zoomButton.childNodes[0],{WebkitFilter:"invert(0%)",filter:"invert(0%)"}))},this.allDOMEventHandlers)}this._resetButton?(P(this._resetButton,{borderRight:this.toolbar.buttonBorderThickness+"px solid "+this.toolbar.buttonBorderColor,backgroundColor:a.toolbar.itemBackgroundColor,color:a.toolbar.fontColor}),this._resetButton.title=this._cultureInfo.resetText):(
|
|
176
|
-
this.toolbar.buttonBorderThickness:0)+"px solid "+this.toolbar.buttonBorderColor,this._toolBar.appendChild(this._resetButton),v(this._resetButton,"touchstart",function(a){
|
|
172
|
+
this.updateOption("exportEnabled");this.updateOption("exportFileName");this.updateOption("zoomType");this.toolbar=new Xa(this,this.options.toolbar);if(this.options.zoomEnabled||this.panEnabled){if(this._zoomButton)P(this._zoomButton,{borderRight:this.toolbar.buttonBorderThickness+"px solid "+this.toolbar.buttonBorderColor,backgroundColor:a.toolbar.itemBackgroundColor,color:a.toolbar.fontColor}),xa(this,this._zoomButton,"zoom");else{var g=!1;za(this._zoomButton=document.createElement("button"));xa(this,
|
|
173
|
+
this._zoomButton,"pan");this._toolBar.appendChild(this._zoomButton);this._zoomButton.style.borderRight=this.toolbar.buttonBorderThickness+"px solid "+this.toolbar.buttonBorderColor;v(this._zoomButton,"touchstart",function(a){g=!0},this.allDOMEventHandlers);v(this._zoomButton,"click",function(){a.zoomEnabled?(a.zoomEnabled=!1,a.panEnabled=!0,xa(a,a._zoomButton,"zoom")):(a.zoomEnabled=!0,a.panEnabled=!1,xa(a,a._zoomButton,"pan"));a.render()},this.allDOMEventHandlers);v(this._zoomButton,"mousemove",
|
|
174
|
+
function(){g?g=!1:(P(a._zoomButton,{backgroundColor:a.toolbar.itemBackgroundColorOnHover,color:a.toolbar.fontColorOnHover,transition:"0.4s",WebkitTransition:"0.4s"}),0>=navigator.userAgent.search("MSIE")&&P(a._zoomButton.childNodes[0],{WebkitFilter:"invert(100%)",filter:"invert(100%)"}))},this.allDOMEventHandlers);v(this._zoomButton,"mouseout",function(){g||(P(a._zoomButton,{backgroundColor:a.toolbar.itemBackgroundColor,color:a.toolbar.fontColor,transition:"0.4s",WebkitTransition:"0.4s"}),0>=navigator.userAgent.search("MSIE")&&
|
|
175
|
+
P(a._zoomButton.childNodes[0],{WebkitFilter:"invert(0%)",filter:"invert(0%)"}))},this.allDOMEventHandlers)}this._resetButton?(P(this._resetButton,{borderRight:this.toolbar.buttonBorderThickness+"px solid "+this.toolbar.buttonBorderColor,backgroundColor:a.toolbar.itemBackgroundColor,color:a.toolbar.fontColor}),this._resetButton.title=this._cultureInfo.resetText):(g=!1,za(this._resetButton=document.createElement("button")),xa(this,this._resetButton,"reset"),this._resetButton.style.borderRight=(this.exportEnabled?
|
|
176
|
+
this.toolbar.buttonBorderThickness:0)+"px solid "+this.toolbar.buttonBorderColor,this._toolBar.appendChild(this._resetButton),v(this._resetButton,"touchstart",function(a){g=!0},this.allDOMEventHandlers),v(this._resetButton,"click",function(){a.toolTip.hide();a.toolTip&&a.toolTip.enabled&&a.toolTip.dispatchEvent("hidden",{chart:a,toolTip:a.toolTip},a.toolTip);a.zoomEnabled||a.panEnabled?(a.zoomEnabled=!0,a.panEnabled=!1,xa(a,a._zoomButton,"pan"),a._defaultCursor="default",a.overlaidCanvas.style.cursor=
|
|
177
177
|
a._defaultCursor):(a.zoomEnabled=!1,a.panEnabled=!1);if(a.sessionVariables.axisX)for(var b=0;b<a.sessionVariables.axisX.length;b++)a.sessionVariables.axisX[b].newViewportMinimum=null,a.sessionVariables.axisX[b].newViewportMaximum=null;if(a.sessionVariables.axisX2)for(b=0;b<a.sessionVariables.axisX2.length;b++)a.sessionVariables.axisX2[b].newViewportMinimum=null,a.sessionVariables.axisX2[b].newViewportMaximum=null;if(a.sessionVariables.axisY)for(b=0;b<a.sessionVariables.axisY.length;b++)a.sessionVariables.axisY[b].newViewportMinimum=
|
|
178
178
|
null,a.sessionVariables.axisY[b].newViewportMaximum=null;if(a.sessionVariables.axisY2)for(b=0;b<a.sessionVariables.axisY2.length;b++)a.sessionVariables.axisY2[b].newViewportMinimum=null,a.sessionVariables.axisY2[b].newViewportMaximum=null;a.resetOverlayedCanvas();0>=navigator.userAgent.search("MSIE")&&P(a._resetButton.childNodes[0],{WebkitFilter:"invert(0%)",filter:"invert(0%)"});za(a._zoomButton,a._resetButton);a.stockChart&&(a.stockChart._rangeEventParameter={stockChart:a.stockChart,source:"chart",
|
|
179
179
|
index:a.stockChart.charts.indexOf(a),minimum:null,maximum:null});a._dispatchRangeEvent("rangeChanging","reset");a.stockChart&&(a.stockChart._rangeEventParameter.type="rangeChanging",a.stockChart.dispatchEvent("rangeChanging",a.stockChart._rangeEventParameter,a.stockChart));a.render();a.syncCharts&&a.syncCharts(null,null);a._dispatchRangeEvent("rangeChanged","reset");a.stockChart&&(a.stockChart._rangeEventParameter.type="rangeChanged",a.stockChart.dispatchEvent("rangeChanged",a.stockChart._rangeEventParameter,
|
|
180
|
-
a.stockChart))},this.allDOMEventHandlers),v(this._resetButton,"mousemove",function(){
|
|
180
|
+
a.stockChart))},this.allDOMEventHandlers),v(this._resetButton,"mousemove",function(){g||(P(a._resetButton,{backgroundColor:a.toolbar.itemBackgroundColorOnHover,color:a.toolbar.fontColorOnHover,transition:"0.4s",WebkitTransition:"0.4s"}),0>=navigator.userAgent.search("MSIE")&&P(a._resetButton.childNodes[0],{WebkitFilter:"invert(100%)",filter:"invert(100%)"}))},this.allDOMEventHandlers),v(this._resetButton,"mouseout",function(){g||(P(a._resetButton,{backgroundColor:a.toolbar.itemBackgroundColor,color:a.toolbar.fontColor,
|
|
181
181
|
transition:"0.4s",WebkitTransition:"0.4s"}),0>=navigator.userAgent.search("MSIE")&&P(a._resetButton.childNodes[0],{WebkitFilter:"invert(0%)",filter:"invert(0%)"}))},this.allDOMEventHandlers),this.overlaidCanvas.style.cursor=a._defaultCursor);this.zoomEnabled||this.panEnabled||(this._zoomButton?(a._zoomButton.getAttribute("state")===a._cultureInfo.zoomText?(this.panEnabled=!0,this.zoomEnabled=!1):(this.zoomEnabled=!0,this.panEnabled=!1),Ta(a._zoomButton,a._resetButton)):(this.zoomEnabled=!0,this.panEnabled=
|
|
182
182
|
!1))}else this.panEnabled=this.zoomEnabled=!1;jb(this);"none"!==this._toolBar.style.display&&this._zoomButton&&(this.panEnabled?xa(a,a._zoomButton,"zoom"):xa(a,a._zoomButton,"pan"),a._resetButton.getAttribute("state")!==a._cultureInfo.resetText&&xa(a,a._resetButton,"reset"));this.options.toolTip&&this.toolTip.options!==this.options.toolTip&&(this.toolTip.options=this.options.toolTip);for(var c in this.toolTip.options)this.toolTip.options.hasOwnProperty(c)&&this.toolTip.updateOption(c)};m.prototype._updateSize=
|
|
183
183
|
function(){return mb.call(this,[this.canvas,this.overlaidCanvas,this._eventManager.ghostCanvas])};m.prototype._initialize=function(){this.isNavigator=f(this.parent)||f(this.parent._defaultsKey)||"Navigator"!==this.parent._defaultsKey?!1:!0;this._animator?this._animator.cancelAllAnimations():this._animator=new ja(this);this.removeAllEventListeners();this.disableToolTip=!1;this._axes=[];this.funnelPyramidClickHandler=this.pieDoughnutClickHandler=null;this._updateOptions();this.animatedRender=s&&this.animationEnabled&&
|
|
184
|
-
0===this.renderCount;this._updateSize();this.clearCanvas();this.ctx.beginPath();this.axisX=[];this.axisX2=[];this.axisY=[];this.axisY2=[];this._indexLabels=[];this._dataInRenderedOrder=[];this._events=[];this._eventManager&&this._eventManager.reset();this.plotInfo={axisPlacement:null,plotTypes:[]};this.layoutManager=new La(0,0,this.width,this.height,this.isNavigator?0:2);this.plotArea.layoutManager&&this.plotArea.layoutManager.reset();this.data=[];this.title=null;this.subtitles=[];var a=0,
|
|
184
|
+
0===this.renderCount;this._updateSize();this.clearCanvas();this.ctx.beginPath();this.axisX=[];this.axisX2=[];this.axisY=[];this.axisY2=[];this._indexLabels=[];this._dataInRenderedOrder=[];this._events=[];this._eventManager&&this._eventManager.reset();this.plotInfo={axisPlacement:null,plotTypes:[]};this.layoutManager=new La(0,0,this.width,this.height,this.isNavigator?0:2);this.plotArea.layoutManager&&this.plotArea.layoutManager.reset();this.data=[];this.title=null;this.subtitles=[];var a=0,g=null;
|
|
185
185
|
if(this.options.data){for(var c=0;c<this.options.data.length;c++)if(a++,!this.options.data[c].type||0<=m._supportedChartTypes.indexOf(this.options.data[c].type)){var b=new O(this,this.options.data[c],a-1,++this._eventManager.lastObjectId);"error"===b.type&&(b.linkedDataSeriesIndex=f(this.options.data[c].linkedDataSeriesIndex)?c-1:this.options.data[c].linkedDataSeriesIndex,0>b.linkedDataSeriesIndex||b.linkedDataSeriesIndex>=this.options.data.length||"number"!==typeof b.linkedDataSeriesIndex||"error"===
|
|
186
186
|
this.options.data[b.linkedDataSeriesIndex].type)&&(b.linkedDataSeriesIndex=null);null===b.name&&(b.name="DataSeries "+a);null===b.color?1<this.options.data.length?(b._colorSet=[this.selectedColorSet[b.index%this.selectedColorSet.length]],b.color=this.selectedColorSet[b.index%this.selectedColorSet.length]):b._colorSet="line"===b.type||"stepLine"===b.type||"spline"===b.type||"area"===b.type||"stepArea"===b.type||"splineArea"===b.type||"stackedArea"===b.type||"stackedArea100"===b.type||"rangeArea"===
|
|
187
187
|
b.type||"rangeSplineArea"===b.type||"candlestick"===b.type||"ohlc"===b.type||"waterfall"===b.type||"boxAndWhisker"===b.type?[this.selectedColorSet[0]]:this.selectedColorSet:b._colorSet=[b.color];null===b.markerSize&&(("line"===b.type||"stepLine"===b.type||"spline"===b.type||0<=b.type.toLowerCase().indexOf("area"))&&b.dataPoints&&b.dataPoints.length<this.width/16||"scatter"===b.type)&&(b.markerSize=8);"bubble"!==b.type&&"scatter"!==b.type||!b.dataPoints||(b.dataPoints.some?b.dataPoints.some(function(a){return a.x})&&
|
|
188
|
-
b.dataPoints.sort(k):b.dataPoints.sort(k));this.data.push(b);var
|
|
189
|
-
l='You cannot combine "'+b.type+'" with pie chart':null===this.plotInfo.axisPlacement&&(this.plotInfo.axisPlacement="xySwapped"):"none"===
|
|
190
|
-
if(l&&window.console){window.console.log(l);return}}for(c=0;c<this.data.length;c++){if("none"==
|
|
191
|
-
Fa("line stepLine spline column area stepArea splineArea bar bubble scatter stackedColumn stackedColumn100 stackedBar stackedBar100 stackedArea stackedArea100 candlestick ohlc boxAndWhisker rangeColumn error rangeBar rangeArea rangeSplineArea pie doughnut funnel pyramid waterfall".split(" "));m.prototype.setLayout=function(){for(var a=this._plotAreaElements,
|
|
192
|
-
"primary"===this.data[
|
|
193
|
-
this.data[
|
|
194
|
-
if("secondary"===this.data[
|
|
195
|
-
this.axisY2.length?this.data[
|
|
196
|
-
this.axisY2[0].dataSeries.push(this.data[
|
|
197
|
-
this.axisX[0<=this.data[
|
|
198
|
-
0,"axisX","left"))),this.data[
|
|
199
|
-
c,"axisX","right"));this.data[
|
|
200
|
-
new A(this,"axisX2",this.options.axisX2,0,"axisX","right"))),this.data[
|
|
188
|
+
b.dataPoints.sort(k):b.dataPoints.sort(k));this.data.push(b);var e=b.axisPlacement,g=g||e,l;"normal"===e?"xySwapped"===this.plotInfo.axisPlacement?l='You cannot combine "'+b.type+'" with bar chart':"none"===this.plotInfo.axisPlacement?l='You cannot combine "'+b.type+'" with pie chart':null===this.plotInfo.axisPlacement&&(this.plotInfo.axisPlacement="normal"):"xySwapped"===e?"normal"===this.plotInfo.axisPlacement?l='You cannot combine "'+b.type+'" with line, area, column or pie chart':"none"===this.plotInfo.axisPlacement?
|
|
189
|
+
l='You cannot combine "'+b.type+'" with pie chart':null===this.plotInfo.axisPlacement&&(this.plotInfo.axisPlacement="xySwapped"):"none"===e?"normal"===this.plotInfo.axisPlacement?l='You cannot combine "'+b.type+'" with line, area, column or bar chart':"xySwapped"===this.plotInfo.axisPlacement?l='You cannot combine "'+b.type+'" with bar chart':null===this.plotInfo.axisPlacement&&(this.plotInfo.axisPlacement="none"):null===e&&"none"===this.plotInfo.axisPlacement&&(l='You cannot combine "'+b.type+'" with pie chart');
|
|
190
|
+
if(l&&window.console){window.console.log(l);return}}for(c=0;c<this.data.length;c++){if("none"==g&&"error"===this.data[c].type&&window.console){window.console.log('You cannot combine "'+b.type+'" with error chart');return}"error"===this.data[c].type&&(this.data[c].axisPlacement=this.plotInfo.axisPlacement=g||"normal",this.data[c]._linkedSeries=null===this.data[c].linkedDataSeriesIndex?null:this.data[this.data[c].linkedDataSeriesIndex])}}this._objectsInitialized=!0;this._plotAreaElements=[]};m._supportedChartTypes=
|
|
191
|
+
Fa("line stepLine spline column area stepArea splineArea bar bubble scatter stackedColumn stackedColumn100 stackedBar stackedBar100 stackedArea stackedArea100 candlestick ohlc boxAndWhisker rangeColumn error rangeBar rangeArea rangeSplineArea pie doughnut funnel pyramid waterfall".split(" "));m.prototype.setLayout=function(){for(var a=this._plotAreaElements,g=0;g<this.data.length;g++)if("normal"===this.plotInfo.axisPlacement||"xySwapped"===this.plotInfo.axisPlacement){if(!this.data[g].axisYType||
|
|
192
|
+
"primary"===this.data[g].axisYType)if(this.options.axisY&&0<this.options.axisY.length){if(!this.axisY.length)for(var c=0;c<this.options.axisY.length;c++)"normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisY[c]=new A(this,"axisY",this.options.axisY[c],c,"axisY","left")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisY[c]=new A(this,"axisY",this.options.axisY[c],c,"axisY","bottom"));this.data[g].axisY=this.axisY[0<=this.data[g].axisYIndex&&this.data[g].axisYIndex<this.axisY.length?
|
|
193
|
+
this.data[g].axisYIndex:0];this.axisY[0<=this.data[g].axisYIndex&&this.data[g].axisYIndex<this.axisY.length?this.data[g].axisYIndex:0].dataSeries.push(this.data[g])}else this.axisY.length||("normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisY[0]=new A(this,"axisY",this.options.axisY,0,"axisY","left")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisY[0]=new A(this,"axisY",this.options.axisY,0,"axisY","bottom"))),this.data[g].axisY=this.axisY[0],this.axisY[0].dataSeries.push(this.data[g]);
|
|
194
|
+
if("secondary"===this.data[g].axisYType)if(this.options.axisY2&&0<this.options.axisY2.length){if(!this.axisY2.length)for(c=0;c<this.options.axisY2.length;c++)"normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisY2[c]=new A(this,"axisY2",this.options.axisY2[c],c,"axisY","right")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisY2[c]=new A(this,"axisY2",this.options.axisY2[c],c,"axisY","top"));this.data[g].axisY=this.axisY2[0<=this.data[g].axisYIndex&&this.data[g].axisYIndex<
|
|
195
|
+
this.axisY2.length?this.data[g].axisYIndex:0];this.axisY2[0<=this.data[g].axisYIndex&&this.data[g].axisYIndex<this.axisY2.length?this.data[g].axisYIndex:0].dataSeries.push(this.data[g])}else this.axisY2.length||("normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisY2[0]=new A(this,"axisY2",this.options.axisY2,0,"axisY","right")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisY2[0]=new A(this,"axisY2",this.options.axisY2,0,"axisY","top"))),this.data[g].axisY=this.axisY2[0],
|
|
196
|
+
this.axisY2[0].dataSeries.push(this.data[g]);if(!this.data[g].axisXType||"primary"===this.data[g].axisXType)if(this.options.axisX&&0<this.options.axisX.length){if(!this.axisX.length)for(c=0;c<this.options.axisX.length;c++)"normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisX[c]=new A(this,"axisX",this.options.axisX[c],c,"axisX","bottom")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisX[c]=new A(this,"axisX",this.options.axisX[c],c,"axisX","left"));this.data[g].axisX=
|
|
197
|
+
this.axisX[0<=this.data[g].axisXIndex&&this.data[g].axisXIndex<this.axisX.length?this.data[g].axisXIndex:0];this.axisX[0<=this.data[g].axisXIndex&&this.data[g].axisXIndex<this.axisX.length?this.data[g].axisXIndex:0].dataSeries.push(this.data[g])}else this.axisX.length||("normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisX[0]=new A(this,"axisX",this.options.axisX,0,"axisX","bottom")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisX[0]=new A(this,"axisX",this.options.axisX,
|
|
198
|
+
0,"axisX","left"))),this.data[g].axisX=this.axisX[0],this.axisX[0].dataSeries.push(this.data[g]);if("secondary"===this.data[g].axisXType)if(this.options.axisX2&&0<this.options.axisX2.length){if(!this.axisX2.length)for(c=0;c<this.options.axisX2.length;c++)"normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisX2[c]=new A(this,"axisX2",this.options.axisX2[c],c,"axisX","top")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisX2[c]=new A(this,"axisX2",this.options.axisX2[c],
|
|
199
|
+
c,"axisX","right"));this.data[g].axisX=this.axisX2[0<=this.data[g].axisXIndex&&this.data[g].axisXIndex<this.axisX2.length?this.data[g].axisXIndex:0];this.axisX2[0<=this.data[g].axisXIndex&&this.data[g].axisXIndex<this.axisX2.length?this.data[g].axisXIndex:0].dataSeries.push(this.data[g])}else this.axisX2.length||("normal"===this.plotInfo.axisPlacement?this._axes.push(this.axisX2[0]=new A(this,"axisX2",this.options.axisX2,0,"axisX","top")):"xySwapped"===this.plotInfo.axisPlacement&&this._axes.push(this.axisX2[0]=
|
|
200
|
+
new A(this,"axisX2",this.options.axisX2,0,"axisX","right"))),this.data[g].axisX=this.axisX2[0],this.axisX2[0].dataSeries.push(this.data[g])}if(this.axisY){for(c=1;c<this.axisY.length;c++)"undefined"===typeof this.axisY[c].options.gridThickness&&(this.axisY[c].gridThickness=0);for(c=0;c<this.axisY.length-1;c++)"undefined"===typeof this.axisY[c].options.margin&&(this.axisY[c].margin=10)}if(this.axisY2){for(c=1;c<this.axisY2.length;c++)"undefined"===typeof this.axisY2[c].options.gridThickness&&(this.axisY2[c].gridThickness=
|
|
201
201
|
0);for(c=0;c<this.axisY2.length-1;c++)"undefined"===typeof this.axisY2[c].options.margin&&(this.axisY2[c].margin=10)}this.axisY&&0<this.axisY.length&&(this.axisY2&&0<this.axisY2.length)&&(0<this.axisY[0].gridThickness&&"undefined"===typeof this.axisY2[0].options.gridThickness?this.axisY2[0].gridThickness=0:0<this.axisY2[0].gridThickness&&"undefined"===typeof this.axisY[0].options.gridThickness&&(this.axisY[0].gridThickness=0));if(this.axisX)for(c=0;c<this.axisX.length;c++)"undefined"===typeof this.axisX[c].options.gridThickness&&
|
|
202
202
|
(this.axisX[c].gridThickness=0);if(this.axisX2)for(c=0;c<this.axisX2.length;c++)"undefined"===typeof this.axisX2[c].options.gridThickness&&(this.axisX2[c].gridThickness=0);this.axisX&&0<this.axisX.length&&(this.axisX2&&0<this.axisX2.length)&&(0<this.axisX[0].gridThickness&&"undefined"===typeof this.axisX2[0].options.gridThickness?this.axisX2[0].gridThickness=0:0<this.axisX2[0].gridThickness&&"undefined"===typeof this.axisX[0].options.gridThickness&&(this.axisX[0].gridThickness=0));c=!1;if(0<this._axes.length&&
|
|
203
|
-
this.options.zoomEnabled&&(this.zoomEnabled||this.panEnabled))for(
|
|
204
|
-
0)+"px solid "+this.toolbar.buttonBorderColor):(za(this._zoomButton,this._resetButton),this._toolBar.style.border=this.toolbar.buttonBorderThickness+"px solid transparent",this.options.zoomEnabled&&(this.zoomEnabled=!0,this.panEnabled=!1));rb(this);this._processData();this.options.title&&(this.title=new Ia(this,this.options.title),this.title.dockInsidePlotArea?a.push(this.title):this.title.setLayout());if(this.options.subtitles)for(
|
|
205
|
-
|
|
203
|
+
this.options.zoomEnabled&&(this.zoomEnabled||this.panEnabled))for(g=0;g<this._axes.length;g++)if(!f(this._axes[g].viewportMinimum)||!f(this._axes[g].viewportMaximum)){c=!0;break}c?(Ta(this._zoomButton,this._resetButton),this._toolBar.style.border=this.toolbar.buttonBorderThickness+"px solid "+this.toolbar.buttonBorderColor,this._zoomButton.style.borderRight=this.toolbar.buttonBorderThickness+"px solid "+this.toolbar.buttonBorderColor,this._resetButton.style.borderRight=(this.exportEnabled?this.toolbar.buttonBorderThickness:
|
|
204
|
+
0)+"px solid "+this.toolbar.buttonBorderColor):(za(this._zoomButton,this._resetButton),this._toolBar.style.border=this.toolbar.buttonBorderThickness+"px solid transparent",this.options.zoomEnabled&&(this.zoomEnabled=!0,this.panEnabled=!1));rb(this);this._processData();this.options.title&&(this.title=new Ia(this,this.options.title),this.title.dockInsidePlotArea?a.push(this.title):this.title.setLayout());if(this.options.subtitles)for(g=0;g<this.options.subtitles.length;g++)c=new Na(this,this.options.subtitles[g],
|
|
205
|
+
g),this.subtitles.push(c),c.dockInsidePlotArea?a.push(c):c.setLayout();this.legend=new L(this,this.options.legend);for(g=0;g<this.data.length;g++)(this.data[g].showInLegend||"pie"===this.data[g].type||"doughnut"===this.data[g].type||"funnel"===this.data[g].type||"pyramid"===this.data[g].type)&&this.legend.dataSeries.push(this.data[g]);this.legend.dockInsidePlotArea?a.push(this.legend):this.legend.setLayout();for(g=0;g<this._axes.length;g++)if(this._axes[g].scaleBreaks&&this._axes[g].scaleBreaks._appliedBreaks.length){s?
|
|
206
206
|
(this._breaksCanvas=sa(this.width,this.height,!0),this._breaksCanvasCtx=this._breaksCanvas.getContext("2d")):(this._breaksCanvas=this.canvas,this._breaksCanvasCtx=this.ctx);break}this._preRenderCanvas=sa(this.width,this.height);this._preRenderCtx=this._preRenderCanvas.getContext("2d");"normal"!==this.plotInfo.axisPlacement&&"xySwapped"!==this.plotInfo.axisPlacement||A.setLayout(this.axisX,this.axisX2,this.axisY,this.axisY2,this.plotInfo.axisPlacement,this.layoutManager.getFreeSpace())};m.prototype.renderElements=
|
|
207
|
-
function(){if(this.height){var a=this._plotAreaElements;this.title&&!this.title.dockInsidePlotArea&&this.title.render();for(var
|
|
208
|
-
else return;for(
|
|
209
|
-
0,0,this.width,this.height),this._preRenderCtx.clearRect(0,0,this.width,this.height));for(
|
|
207
|
+
function(){if(this.height){var a=this._plotAreaElements;this.title&&!this.title.dockInsidePlotArea&&this.title.render();for(var g=0;g<this.subtitles.length;g++)this.subtitles[g].dockInsidePlotArea||this.subtitles[g].render();this.legend.dockInsidePlotArea||this.legend.render();if("normal"===this.plotInfo.axisPlacement||"xySwapped"===this.plotInfo.axisPlacement)A.render(this.axisX,this.axisX2,this.axisY,this.axisY2,this.plotInfo.axisPlacement);else if("none"===this.plotInfo.axisPlacement)this.preparePlotArea();
|
|
208
|
+
else return;for(g=0;g<a.length;g++)a[g].setLayout(),a[g].render();var c=[];if(this.animatedRender){var b=sa(this.width,this.height);b.getContext("2d").drawImage(this.canvas,0,0,this.width,this.height)}tb(this);var a=this.ctx.miterLimit,e;this.ctx.miterLimit=3;s&&this._breaksCanvas&&(this._preRenderCtx.drawImage(this.canvas,0,0,this.width,this.height),this._preRenderCtx.drawImage(this._breaksCanvas,0,0,this.width,this.height),this._breaksCanvasCtx.globalCompositeOperation="source-atop",this._breaksCanvasCtx.drawImage(this._preRenderCanvas,
|
|
209
|
+
0,0,this.width,this.height),this._preRenderCtx.clearRect(0,0,this.width,this.height));for(g=0;g<this.plotInfo.plotTypes.length;g++)for(var l=this.plotInfo.plotTypes[g],B=0;B<l.plotUnits.length;B++){var f=l.plotUnits[B],d=null;f.targetCanvas&&Da(f.targetCanvas);f.targetCanvas=null;this.animatedRender&&(f.targetCanvas=sa(this.width,this.height),f.targetCanvasCtx=f.targetCanvas.getContext("2d"),e=f.targetCanvasCtx.miterLimit,f.targetCanvasCtx.miterLimit=3);"line"===f.type?d=this.renderLine(f):"stepLine"===
|
|
210
210
|
f.type?d=this.renderStepLine(f):"spline"===f.type?d=this.renderSpline(f):"column"===f.type?d=this.renderColumn(f):"bar"===f.type?d=this.renderBar(f):"area"===f.type?d=this.renderArea(f):"stepArea"===f.type?d=this.renderStepArea(f):"splineArea"===f.type?d=this.renderSplineArea(f):"stackedColumn"===f.type?d=this.renderStackedColumn(f):"stackedColumn100"===f.type?d=this.renderStackedColumn100(f):"stackedBar"===f.type?d=this.renderStackedBar(f):"stackedBar100"===f.type?d=this.renderStackedBar100(f):"stackedArea"===
|
|
211
211
|
f.type?d=this.renderStackedArea(f):"stackedArea100"===f.type?d=this.renderStackedArea100(f):"bubble"===f.type?d=d=this.renderBubble(f):"scatter"===f.type?d=this.renderScatter(f):"pie"===f.type?this.renderPie(f):"doughnut"===f.type?this.renderPie(f):"funnel"===f.type?d=this.renderFunnel(f):"pyramid"===f.type?d=this.renderFunnel(f):"candlestick"===f.type?d=this.renderCandlestick(f):"ohlc"===f.type?d=this.renderCandlestick(f):"rangeColumn"===f.type?d=this.renderRangeColumn(f):"error"===f.type?d=this.renderError(f):
|
|
212
|
-
"rangeBar"===f.type?d=this.renderRangeBar(f):"rangeArea"===f.type?d=this.renderRangeArea(f):"rangeSplineArea"===f.type?d=this.renderRangeSplineArea(f):"waterfall"===f.type?d=this.renderWaterfall(f):"boxAndWhisker"===f.type&&(d=this.renderBoxAndWhisker(f));for(var n=0;n<f.dataSeriesIndexes.length;n++)this._dataInRenderedOrder.push(this.data[f.dataSeriesIndexes[n]]);this.animatedRender&&(f.targetCanvasCtx.miterLimit=
|
|
213
|
-
dest:this.plotArea.ctx,animationCallback:t.fadeInAnimation,easingFunction:t.easing.easeInQuad,animationBase:0,startTimePercent:0.7});this.animatedRender&&0<this._indexLabels.length&&(
|
|
214
|
-
0;
|
|
212
|
+
"rangeBar"===f.type?d=this.renderRangeBar(f):"rangeArea"===f.type?d=this.renderRangeArea(f):"rangeSplineArea"===f.type?d=this.renderRangeSplineArea(f):"waterfall"===f.type?d=this.renderWaterfall(f):"boxAndWhisker"===f.type&&(d=this.renderBoxAndWhisker(f));for(var n=0;n<f.dataSeriesIndexes.length;n++)this._dataInRenderedOrder.push(this.data[f.dataSeriesIndexes[n]]);this.animatedRender&&(f.targetCanvasCtx.miterLimit=e,d&&c.push(d))}this.ctx.miterLimit=a;this.animatedRender&&this._breaksCanvasCtx&&c.push({source:this._breaksCanvasCtx,
|
|
213
|
+
dest:this.plotArea.ctx,animationCallback:t.fadeInAnimation,easingFunction:t.easing.easeInQuad,animationBase:0,startTimePercent:0.7});this.animatedRender&&0<this._indexLabels.length&&(e=sa(this.width,this.height).getContext("2d"),Ea(e),c.push(this.renderIndexLabels(e)));var p=this;if(0<c.length)p.disableToolTip=!0,p._animator.animate(200,p.animationDuration,function(a){p.ctx.clearRect(0,0,p.width,p.height);p.ctx.drawImage(b,0,0,Math.floor(p.width*ia),Math.floor(p.height*ia),0,0,p.width,p.height);for(var e=
|
|
214
|
+
0;e<c.length;e++)d=c[e],1>a&&"undefined"!==typeof d.startTimePercent?a>=d.startTimePercent&&d.animationCallback(d.easingFunction(a-d.startTimePercent,0,1,1-d.startTimePercent),d):d.animationCallback(d.easingFunction(a,0,1,1),d);p.dispatchEvent("dataAnimationIterationEnd",{chart:p})},function(){c=[];for(var a=0;a<p.plotInfo.plotTypes.length;a++)for(var e=p.plotInfo.plotTypes[a],g=0;g<e.plotUnits.length;g++){var l=e.plotUnits[g];l.targetCanvas&&Da(l.targetCanvas);l.targetCanvas=null}b=null;p.disableToolTip=
|
|
215
215
|
!1;p.dispatchEvent("dataAnimationEnd",{chart:p})});else{if(p._breaksCanvas)if(s)p.plotArea.ctx.drawImage(p._breaksCanvas,0,0,this.width,this.height);else for(n=0;n<p._axes.length;n++)p._axes[n].createMask();0<p._indexLabels.length&&p.renderIndexLabels();p.dispatchEvent("dataAnimationIterationEnd",{chart:p});p.dispatchEvent("dataAnimationEnd",{chart:p})}this.attachPlotAreaEventHandlers();this.zoomEnabled||(this.panEnabled||!this._zoomButton||"none"===this._zoomButton.style.display)||za(this._zoomButton,
|
|
216
216
|
this._resetButton);this.toolTip._updateToolTip();this.renderCount++;Ma&&(p=this,setTimeout(function(){var a=document.getElementById("ghostCanvasCopy");a&&(Ua(a,p.width,p.height),a.getContext("2d").drawImage(p._eventManager.ghostCanvas,0,0))},2E3));this._breaksCanvas&&(delete this._breaksCanvas,delete this._breaksCanvasCtx);for(n=0;n<this._axes.length;n++)this._axes[n].maskCanvas&&(delete this._axes[n].maskCanvas,delete this._axes[n].maskCtx)}};m.prototype.render=function(a){a&&(this.options=a);this._initialize();
|
|
217
|
-
this.setLayout();this.renderElements();this._preRenderCanvas&&Da(this._preRenderCanvas)};m.prototype.attachPlotAreaEventHandlers=function(){this.attachEvent({context:this,chart:this,mousedown:this._plotAreaMouseDown,mouseup:this._plotAreaMouseUp,mousemove:this._plotAreaMouseMove,cursor:this.panEnabled?"move":"default",capture:!0,bounds:this.plotArea})};m.prototype.categoriseDataSeries=function(){for(var a="",
|
|
218
|
-
0<=m._supportedChartTypes.indexOf(a.type)){for(var c=null,b=!1,
|
|
219
|
-
break}l||(
|
|
220
|
-
this.axisX2.length?a.axisXIndex:0],dataSeriesIndexes:[],yTotals:[],yAbsTotals:[]},c.plotUnits.push(
|
|
221
|
-
b=0;b<c;b++)
|
|
217
|
+
this.setLayout();this.renderElements();this._preRenderCanvas&&Da(this._preRenderCanvas)};m.prototype.attachPlotAreaEventHandlers=function(){this.attachEvent({context:this,chart:this,mousedown:this._plotAreaMouseDown,mouseup:this._plotAreaMouseUp,mousemove:this._plotAreaMouseMove,cursor:this.panEnabled?"move":"default",capture:!0,bounds:this.plotArea})};m.prototype.categoriseDataSeries=function(){for(var a="",g=0;g<this.data.length;g++)if(a=this.data[g],a.dataPoints&&(0!==a.dataPoints.length&&a.visible)&&
|
|
218
|
+
0<=m._supportedChartTypes.indexOf(a.type)){for(var c=null,b=!1,e=null,l=!1,B=0;B<this.plotInfo.plotTypes.length;B++)if(this.plotInfo.plotTypes[B].type===a.type){b=!0;c=this.plotInfo.plotTypes[B];break}b||(c={type:a.type,totalDataSeries:0,plotUnits:[]},this.plotInfo.plotTypes.push(c));for(B=0;B<c.plotUnits.length;B++)if(c.plotUnits[B].axisYType===a.axisYType&&c.plotUnits[B].axisXType===a.axisXType&&c.plotUnits[B].axisYIndex===a.axisYIndex&&c.plotUnits[B].axisXIndex===a.axisXIndex){l=!0;e=c.plotUnits[B];
|
|
219
|
+
break}l||(e={type:a.type,previousDataSeriesCount:0,index:c.plotUnits.length,plotType:c,axisXType:a.axisXType,axisYType:a.axisYType,axisYIndex:a.axisYIndex,axisXIndex:a.axisXIndex,axisY:"primary"===a.axisYType?this.axisY[0<=a.axisYIndex&&a.axisYIndex<this.axisY.length?a.axisYIndex:0]:this.axisY2[0<=a.axisYIndex&&a.axisYIndex<this.axisY2.length?a.axisYIndex:0],axisX:"primary"===a.axisXType?this.axisX[0<=a.axisXIndex&&a.axisXIndex<this.axisX.length?a.axisXIndex:0]:this.axisX2[0<=a.axisXIndex&&a.axisXIndex<
|
|
220
|
+
this.axisX2.length?a.axisXIndex:0],dataSeriesIndexes:[],yTotals:[],yAbsTotals:[]},c.plotUnits.push(e));c.totalDataSeries++;e.dataSeriesIndexes.push(g);a.plotUnit=e}for(g=0;g<this.plotInfo.plotTypes.length;g++)for(c=this.plotInfo.plotTypes[g],B=a=0;B<c.plotUnits.length;B++)c.plotUnits[B].previousDataSeriesCount=a,a+=c.plotUnits[B].dataSeriesIndexes.length};m.prototype.assignIdToDataPoints=function(){for(var a=0;a<this.data.length;a++){var g=this.data[a];if(g.dataPoints)for(var c=g.dataPoints.length,
|
|
221
|
+
b=0;b<c;b++)g.dataPointIds[b]=++this._eventManager.lastObjectId}};m.prototype._processData=function(){this.assignIdToDataPoints();this.categoriseDataSeries();for(var a=0;a<this.plotInfo.plotTypes.length;a++)for(var g=this.plotInfo.plotTypes[a],c=0;c<g.plotUnits.length;c++){var b=g.plotUnits[c];"line"===b.type||"stepLine"===b.type||"spline"===b.type||"column"===b.type||"area"===b.type||"stepArea"===b.type||"splineArea"===b.type||"bar"===b.type||"bubble"===b.type||"scatter"===b.type?this._processMultiseriesPlotUnit(b):
|
|
222
222
|
"stackedColumn"===b.type||"stackedBar"===b.type||"stackedArea"===b.type?this._processStackedPlotUnit(b):"stackedColumn100"===b.type||"stackedBar100"===b.type||"stackedArea100"===b.type?this._processStacked100PlotUnit(b):"candlestick"===b.type||"ohlc"===b.type||"rangeColumn"===b.type||"rangeBar"===b.type||"rangeArea"===b.type||"rangeSplineArea"===b.type||"error"===b.type||"boxAndWhisker"===b.type?this._processMultiYPlotUnit(b):"waterfall"===b.type&&this._processSpecificPlotUnit(b)}this.calculateAutoBreaks()};
|
|
223
|
-
m.prototype._processMultiseriesPlotUnit=function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length))for(var
|
|
223
|
+
m.prototype._processMultiseriesPlotUnit=function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length))for(var g=a.axisY.dataInfo,c=a.axisX.dataInfo,b,e,l=!1,B=0;B<a.dataSeriesIndexes.length;B++){var f=this.data[a.dataSeriesIndexes[B]],d=0,n=!1,p=!1,q;if("normal"===f.axisPlacement||"xySwapped"===f.axisPlacement)var r=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&
|
|
224
224
|
a.axisX.options.minimum?a.axisX.options.minimum:a.axisX.logarithmic?0:-Infinity,h=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(f.dataPoints[d].x&&f.dataPoints[d].x.getTime||"dateTime"===f.xValueType)l=!0;for(d=0;d<f.dataPoints.length;d++){"undefined"===typeof f.dataPoints[d].x&&(f.dataPoints[d].x=d+
|
|
225
|
-
(a.axisX.logarithmic?1:0));f.dataPoints[d].x.getTime?(l=!0,b=f.dataPoints[d].x.getTime()):b=f.dataPoints[d].x;
|
|
226
|
-
1].y,1>w&&(w=1/w),
|
|
227
|
-
typeof
|
|
225
|
+
(a.axisX.logarithmic?1:0));f.dataPoints[d].x.getTime?(l=!0,b=f.dataPoints[d].x.getTime()):b=f.dataPoints[d].x;e=f.dataPoints[d].y;b<c.min&&(c.min=b);b>c.max&&(c.max=b);e<g.min&&"number"===typeof e&&(g.min=e);e>g.max&&"number"===typeof e&&(g.max=e);if(0<d){if(a.axisX.logarithmic){var w=b/f.dataPoints[d-1].x;1>w&&(w=1/w);c.minDiff>w&&1!==w&&(c.minDiff=w)}else w=b-f.dataPoints[d-1].x,0>w&&(w*=-1),c.minDiff>w&&0!==w&&(c.minDiff=w);null!==e&&null!==f.dataPoints[d-1].y&&(a.axisY.logarithmic?(w=e/f.dataPoints[d-
|
|
226
|
+
1].y,1>w&&(w=1/w),g.minDiff>w&&1!==w&&(g.minDiff=w)):(w=e-f.dataPoints[d-1].y,0>w&&(w*=-1),g.minDiff>w&&0!==w&&(g.minDiff=w)))}if(b<r&&!n)null!==e&&(q=b);else{if(!n&&(n=!0,0<d)){d-=2;continue}if(b>h&&!p)p=!0;else if(b>h&&p)continue;f.dataPoints[d].label&&(a.axisX.labels[b]=f.dataPoints[d].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);null===e?c.viewPortMin===b&&q<b&&(c.viewPortMin=q):(e<g.viewPortMin&&"number"===typeof e&&(g.viewPortMin=e),e>g.viewPortMax&&"number"===
|
|
227
|
+
typeof e&&(g.viewPortMax=e))}}f.axisX.valueType=f.xValueType=l?"dateTime":"number"}};m.prototype._processStackedPlotUnit=function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)){for(var g=a.axisY.dataInfo,c=a.axisX.dataInfo,b,e,l=!1,B=[],d=[],I=Infinity,n=-Infinity,p=0;p<a.dataSeriesIndexes.length;p++){var q=this.data[a.dataSeriesIndexes[p]],r=0,h=!1,w=!1,t;if("normal"===q.axisPlacement||"xySwapped"===q.axisPlacement)var s=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:
|
|
228
228
|
a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:-Infinity,u=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(q.dataPoints[r].x&&q.dataPoints[r].x.getTime||"dateTime"===q.xValueType)l=!0;for(r=0;r<q.dataPoints.length;r++){"undefined"===
|
|
229
|
-
typeof q.dataPoints[r].x&&(q.dataPoints[r].x=r+(a.axisX.logarithmic?1:0));q.dataPoints[r].x.getTime?(l=!0,b=q.dataPoints[r].x.getTime()):b=q.dataPoints[r].x;
|
|
230
|
-
1].y,1>E&&(E=1/E),
|
|
231
|
-
(a.yAbsTotals[b]?a.yAbsTotals[b]:0)+Math.abs(
|
|
232
|
-
!isNaN(r)&&(a=B[r],a<
|
|
233
|
-
a.axisY.dataInfo,c=a.axisX.dataInfo,b,
|
|
234
|
-
a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(p.dataPoints[q].x&&p.dataPoints[q].x.getTime||"dateTime"===p.xValueType)l=!0;for(q=0;q<p.dataPoints.length;q++){"undefined"===typeof p.dataPoints[q].x&&(p.dataPoints[q].x=q+(a.axisX.logarithmic?1:0));p.dataPoints[q].x.getTime?(l=!0,b=p.dataPoints[q].x.getTime()):b=p.dataPoints[q].x;
|
|
235
|
-
null:p.dataPoints[q].y;b<c.min&&(c.min=b);b>c.max&&(c.max=b);if(0<q){if(a.axisX.logarithmic){var u=b/p.dataPoints[q-1].x;1>u&&(u=1/u);c.minDiff>u&&1!==u&&(c.minDiff=u)}else u=b-p.dataPoints[q-1].x,0>u&&(u*=-1),c.minDiff>u&&0!==u&&(c.minDiff=u);f(
|
|
236
|
-
2;continue}if(b>s&&!h)h=!0;else if(b>s&&h)continue;p.dataPoints[q].label&&(a.axisX.labels[b]=p.dataPoints[q].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);null===
|
|
237
|
-
99*Math.pow(a.axisY.logarithmBase,-0.05):Math.max(
|
|
238
|
-
|
|
229
|
+
typeof q.dataPoints[r].x&&(q.dataPoints[r].x=r+(a.axisX.logarithmic?1:0));q.dataPoints[r].x.getTime?(l=!0,b=q.dataPoints[r].x.getTime()):b=q.dataPoints[r].x;e=f(q.dataPoints[r].y)?0:q.dataPoints[r].y;b<c.min&&(c.min=b);b>c.max&&(c.max=b);if(0<r){if(a.axisX.logarithmic){var E=b/q.dataPoints[r-1].x;1>E&&(E=1/E);c.minDiff>E&&1!==E&&(c.minDiff=E)}else E=b-q.dataPoints[r-1].x,0>E&&(E*=-1),c.minDiff>E&&0!==E&&(c.minDiff=E);null!==e&&null!==q.dataPoints[r-1].y&&(a.axisY.logarithmic?0<e&&(E=e/q.dataPoints[r-
|
|
230
|
+
1].y,1>E&&(E=1/E),g.minDiff>E&&1!==E&&(g.minDiff=E)):(E=e-q.dataPoints[r-1].y,0>E&&(E*=-1),g.minDiff>E&&0!==E&&(g.minDiff=E)))}if(b<s&&!h)null!==q.dataPoints[r].y&&(t=b);else{if(!h&&(h=!0,0<r)){r-=2;continue}if(b>u&&!w)w=!0;else if(b>u&&w)continue;q.dataPoints[r].label&&(a.axisX.labels[b]=q.dataPoints[r].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);null===q.dataPoints[r].y?c.viewPortMin===b&&t<b&&(c.viewPortMin=t):(a.yTotals[b]=(a.yTotals[b]?a.yTotals[b]:0)+e,a.yAbsTotals[b]=
|
|
231
|
+
(a.yAbsTotals[b]?a.yAbsTotals[b]:0)+Math.abs(e),0<=e?B[b]?B[b]+=e:(B[b]=e,I=Math.min(e,I)):d[b]?d[b]+=e:(d[b]=e,n=Math.max(e,n)))}}a.axisY.scaleBreaks&&(a.axisY.scaleBreaks.autoCalculate&&1<=a.axisY.scaleBreaks.maxNumberOfAutoBreaks)&&(g.dataPointYPositiveSums?(g.dataPointYPositiveSums.push.apply(g.dataPointYPositiveSums,B),g.dataPointYNegativeSums.push.apply(g.dataPointYPositiveSums,d)):(g.dataPointYPositiveSums=B,g.dataPointYNegativeSums=d));q.axisX.valueType=q.xValueType=l?"dateTime":"number"}for(r in B)B.hasOwnProperty(r)&&
|
|
232
|
+
!isNaN(r)&&(a=B[r],a<g.min&&(g.min=Math.min(a,I)),a>g.max&&(g.max=a),r<c.viewPortMin||r>c.viewPortMax||(a<g.viewPortMin&&(g.viewPortMin=Math.min(a,I)),a>g.viewPortMax&&(g.viewPortMax=a)));for(r in d)d.hasOwnProperty(r)&&!isNaN(r)&&(a=d[r],a<g.min&&(g.min=a),a>g.max&&(g.max=Math.max(a,n)),r<c.viewPortMin||r>c.viewPortMax||(a<g.viewPortMin&&(g.viewPortMin=a),a>g.viewPortMax&&(g.viewPortMax=Math.max(a,n))))}};m.prototype._processStacked100PlotUnit=function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)){for(var g=
|
|
233
|
+
a.axisY.dataInfo,c=a.axisX.dataInfo,b,e,l=!1,B=!1,d=!1,I=[],n=0;n<a.dataSeriesIndexes.length;n++){var p=this.data[a.dataSeriesIndexes[n]],q=0,r=!1,h=!1,w;if("normal"===p.axisPlacement||"xySwapped"===p.axisPlacement)var t=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:-Infinity,s=a.axisX.sessionVariables.newViewportMaximum?
|
|
234
|
+
a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(p.dataPoints[q].x&&p.dataPoints[q].x.getTime||"dateTime"===p.xValueType)l=!0;for(q=0;q<p.dataPoints.length;q++){"undefined"===typeof p.dataPoints[q].x&&(p.dataPoints[q].x=q+(a.axisX.logarithmic?1:0));p.dataPoints[q].x.getTime?(l=!0,b=p.dataPoints[q].x.getTime()):b=p.dataPoints[q].x;e=f(p.dataPoints[q].y)?
|
|
235
|
+
null:p.dataPoints[q].y;b<c.min&&(c.min=b);b>c.max&&(c.max=b);if(0<q){if(a.axisX.logarithmic){var u=b/p.dataPoints[q-1].x;1>u&&(u=1/u);c.minDiff>u&&1!==u&&(c.minDiff=u)}else u=b-p.dataPoints[q-1].x,0>u&&(u*=-1),c.minDiff>u&&0!==u&&(c.minDiff=u);f(e)||null===p.dataPoints[q-1].y||(a.axisY.logarithmic?0<e&&(u=e/p.dataPoints[q-1].y,1>u&&(u=1/u),g.minDiff>u&&1!==u&&(g.minDiff=u)):(u=e-p.dataPoints[q-1].y,0>u&&(u*=-1),g.minDiff>u&&0!==u&&(g.minDiff=u)))}if(b<t&&!r)null!==e&&(w=b);else{if(!r&&(r=!0,0<q)){q-=
|
|
236
|
+
2;continue}if(b>s&&!h)h=!0;else if(b>s&&h)continue;p.dataPoints[q].label&&(a.axisX.labels[b]=p.dataPoints[q].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);null===e?c.viewPortMin===b&&w<b&&(c.viewPortMin=w):(a.yTotals[b]=(a.yTotals[b]?a.yTotals[b]:0)+e,a.yAbsTotals[b]=(a.yAbsTotals[b]?a.yAbsTotals[b]:0)+Math.abs(e),0<=e?B=!0:0>e&&(d=!0),I[b]=I[b]?I[b]+Math.abs(e):Math.abs(e))}}p.axisX.valueType=p.xValueType=l?"dateTime":"number"}a.axisY.logarithmic?(g.max=f(g.viewPortMax)?
|
|
237
|
+
99*Math.pow(a.axisY.logarithmBase,-0.05):Math.max(g.viewPortMax,99*Math.pow(a.axisY.logarithmBase,-0.05)),g.min=f(g.viewPortMin)?1:Math.min(g.viewPortMin,1)):B&&!d?(g.max=f(g.viewPortMax)?99:Math.max(g.viewPortMax,99),g.min=f(g.viewPortMin)?1:Math.min(g.viewPortMin,1)):B&&d?(g.max=f(g.viewPortMax)?99:Math.max(g.viewPortMax,99),g.min=f(g.viewPortMin)?-99:Math.min(g.viewPortMin,-99)):!B&&d&&(g.max=f(g.viewPortMax)?-1:Math.max(g.viewPortMax,-1),g.min=f(g.viewPortMin)?-99:Math.min(g.viewPortMin,-99));
|
|
238
|
+
g.viewPortMin=g.min;g.viewPortMax=g.max;a.dataPointYSums=I}};m.prototype._processMultiYPlotUnit=function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length))for(var g=a.axisY.dataInfo,c=a.axisX.dataInfo,b,e,l,B,f=!1,d=0;d<a.dataSeriesIndexes.length;d++){var n=this.data[a.dataSeriesIndexes[d]],p=0,q=!1,r=!1,h,w,t;if("normal"===n.axisPlacement||"xySwapped"===n.axisPlacement)var s=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?
|
|
239
239
|
a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:a.axisX.logarithmic?0:-Infinity,u=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(n.dataPoints[p].x&&n.dataPoints[p].x.getTime||"dateTime"===n.xValueType)f=!0;for(p=0;p<n.dataPoints.length;p++){"undefined"===
|
|
240
|
-
typeof n.dataPoints[p].x&&(n.dataPoints[p].x=p+(a.axisX.logarithmic?1:0));n.dataPoints[p].x.getTime?(f=!0,b=n.dataPoints[p].x.getTime()):b=n.dataPoints[p].x;if((
|
|
241
|
-
1].x,0>w&&(w*=-1),c.minDiff>w&&0!==w&&(c.minDiff=w)),
|
|
242
|
-
(c.viewPortMax=b);if(c.viewPortMin===b&&
|
|
240
|
+
typeof n.dataPoints[p].x&&(n.dataPoints[p].x=p+(a.axisX.logarithmic?1:0));n.dataPoints[p].x.getTime?(f=!0,b=n.dataPoints[p].x.getTime()):b=n.dataPoints[p].x;if((e=n.dataPoints[p].y)&&e.length){l=Math.min.apply(null,e);B=Math.max.apply(null,e);w=!0;for(var E=0;E<e.length;E++)null===e.k&&(w=!1);w&&(q||(t=h),h=b)}b<c.min&&(c.min=b);b>c.max&&(c.max=b);l<g.min&&(g.min=l);B>g.max&&(g.max=B);0<p&&(a.axisX.logarithmic?(w=b/n.dataPoints[p-1].x,1>w&&(w=1/w),c.minDiff>w&&1!==w&&(c.minDiff=w)):(w=b-n.dataPoints[p-
|
|
241
|
+
1].x,0>w&&(w*=-1),c.minDiff>w&&0!==w&&(c.minDiff=w)),e&&(null!==e[0]&&n.dataPoints[p-1].y&&null!==n.dataPoints[p-1].y[0])&&(a.axisY.logarithmic?(w=e[0]/n.dataPoints[p-1].y[0],1>w&&(w=1/w),g.minDiff>w&&1!==w&&(g.minDiff=w)):(w=e[0]-n.dataPoints[p-1].y[0],0>w&&(w*=-1),g.minDiff>w&&0!==w&&(g.minDiff=w))));if(!(b<s)||q){if(!q&&(q=!0,0<p)){p-=2;h=t;continue}if(b>u&&!r)r=!0;else if(b>u&&r)continue;n.dataPoints[p].label&&(a.axisX.labels[b]=n.dataPoints[p].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&
|
|
242
|
+
(c.viewPortMax=b);if(c.viewPortMin===b&&e)for(E=0;E<e.length;E++)if(null===e[E]&&h<b){c.viewPortMin=h;break}null===e?c.viewPortMin===b&&h<b&&(c.viewPortMin=h):(l<g.viewPortMin&&(g.viewPortMin=l),B>g.viewPortMax&&(g.viewPortMax=B))}}n.axisX.valueType=n.xValueType=f?"dateTime":"number"}};m.prototype._processSpecificPlotUnit=function(a){if("waterfall"===a.type&&a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length))for(var g=a.axisY.dataInfo,c=a.axisX.dataInfo,b,e,l=!1,B=0;B<a.dataSeriesIndexes.length;B++){var f=
|
|
243
243
|
this.data[a.dataSeriesIndexes[B]],d=0,n=!1,p=!1,q=b=0;if("normal"===f.axisPlacement||"xySwapped"===f.axisPlacement)var r=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:a.axisX.logarithmic?0:-Infinity,h=a.axisX.sessionVariables.newViewportMaximum?a.axisX.sessionVariables.newViewportMaximum:a.axisX.options&&a.axisX.options.viewportMaximum?
|
|
244
244
|
a.axisX.options.viewportMaximum:a.axisX.options&&a.axisX.options.maximum?a.axisX.options.maximum:Infinity;if(f.dataPoints[d].x&&f.dataPoints[d].x.getTime||"dateTime"===f.xValueType)l=!0;for(d=0;d<f.dataPoints.length;d++)"undefined"!==typeof f.dataPoints[d].isCumulativeSum&&!0===f.dataPoints[d].isCumulativeSum?(f.dataPointEOs[d].cumulativeSumYStartValue=0,f.dataPointEOs[d].cumulativeSum=0===d?0:f.dataPointEOs[d-1].cumulativeSum,f.dataPoints[d].y=0===d?0:f.dataPointEOs[d-1].cumulativeSum):"undefined"!==
|
|
245
|
-
typeof f.dataPoints[d].isIntermediateSum&&!0===f.dataPoints[d].isIntermediateSum?(f.dataPointEOs[d].cumulativeSumYStartValue=q,f.dataPointEOs[d].cumulativeSum=0===d?0:f.dataPointEOs[d-1].cumulativeSum,f.dataPoints[d].y=0===d?0:b,q=0===d?0:f.dataPointEOs[d-1].cumulativeSum,b=0):(
|
|
246
|
-
|
|
247
|
-
q&&1!==q&&(c.minDiff=q)):(q=b-f.dataPoints[d-1].x,0>q&&(q*=-1),c.minDiff>q&&0!==q&&(c.minDiff=q)),null!==
|
|
248
|
-
f.dataPoints[d].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);0<d&&(f.dataPointEOs[d-1].cumulativeSum<
|
|
249
|
-
f.xValueType=l?"dateTime":"number"}};m.prototype.calculateAutoBreaks=function(){function a(a,b,c,
|
|
250
|
-
c=a.axisY.scaleBreaks&&a.axisY.scaleBreaks.autoCalculate&&1<=a.axisY.scaleBreaks.maxNumberOfAutoBreaks;if(b||c)for(var
|
|
251
|
-
t.dataPoints[r].x,q=Math.floor((h-B)/q),h<l[q].min&&(l[q].min=h),h>l[q].max&&(l[q].max=h)),c){var s=(d+1-p)*Math.max(parseFloat(a.axisY.scaleBreaks.collapsibleThreshold)||10,10)/100;if((h="waterfall"===a.type?t.dataPointEOs[r].cumulativeSum:t.dataPoints[r].y)&&h.length)for(var I=0;I<h.length;I++)q=Math.floor((h[I]-p)/s),h[I]<
|
|
252
|
-
!(1>a.dataSeriesIndexes.length)&&a.axisX.scaleBreaks&&a.axisX.scaleBreaks.autoCalculate&&1<=a.axisX.scaleBreaks.maxNumberOfAutoBreaks)for(var b=a.axisX.dataInfo,c=b.min,
|
|
253
|
-
c)/l),b<h[l].min&&(h[l].min=b),b>h[l].max&&(h[l].max=b)}}for(var b,
|
|
254
|
-
d=0;d<l.plotUnits.length;d++)b=l.plotUnits[d],"line"===b.type||"stepLine"===b.type||"spline"===b.type||"column"===b.type||"area"===b.type||"stepArea"===b.type||"splineArea"===b.type||"bar"===b.type||"bubble"===b.type||"scatter"===b.type||"candlestick"===b.type||"ohlc"===b.type||"rangeColumn"===b.type||"rangeBar"===b.type||"rangeArea"===b.type||"rangeSplineArea"===b.type||"waterfall"===b.type||"error"===b.type||"boxAndWhisker"===b.type?
|
|
245
|
+
typeof f.dataPoints[d].isIntermediateSum&&!0===f.dataPoints[d].isIntermediateSum?(f.dataPointEOs[d].cumulativeSumYStartValue=q,f.dataPointEOs[d].cumulativeSum=0===d?0:f.dataPointEOs[d-1].cumulativeSum,f.dataPoints[d].y=0===d?0:b,q=0===d?0:f.dataPointEOs[d-1].cumulativeSum,b=0):(e="number"!==typeof f.dataPoints[d].y?0:f.dataPoints[d].y,f.dataPointEOs[d].cumulativeSumYStartValue=0===d?0:f.dataPointEOs[d-1].cumulativeSum,f.dataPointEOs[d].cumulativeSum=0===d?e:f.dataPointEOs[d-1].cumulativeSum+e,b+=
|
|
246
|
+
e);for(d=0;d<f.dataPoints.length;d++)if("undefined"===typeof f.dataPoints[d].x&&(f.dataPoints[d].x=d+(a.axisX.logarithmic?1:0)),f.dataPoints[d].x.getTime?(l=!0,b=f.dataPoints[d].x.getTime()):b=f.dataPoints[d].x,e=f.dataPoints[d].y,b<c.min&&(c.min=b),b>c.max&&(c.max=b),f.dataPointEOs[d].cumulativeSum<g.min&&(g.min=f.dataPointEOs[d].cumulativeSum),f.dataPointEOs[d].cumulativeSum>g.max&&(g.max=f.dataPointEOs[d].cumulativeSum),0<d&&(a.axisX.logarithmic?(q=b/f.dataPoints[d-1].x,1>q&&(q=1/q),c.minDiff>
|
|
247
|
+
q&&1!==q&&(c.minDiff=q)):(q=b-f.dataPoints[d-1].x,0>q&&(q*=-1),c.minDiff>q&&0!==q&&(c.minDiff=q)),null!==e&&null!==f.dataPoints[d-1].y&&(a.axisY.logarithmic?(e=f.dataPointEOs[d].cumulativeSum/f.dataPointEOs[d-1].cumulativeSum,1>e&&(e=1/e),g.minDiff>e&&1!==e&&(g.minDiff=e)):(e=f.dataPointEOs[d].cumulativeSum-f.dataPointEOs[d-1].cumulativeSum,0>e&&(e*=-1),g.minDiff>e&&0!==e&&(g.minDiff=e)))),!(b<r)||n){if(!n&&(n=!0,0<d)){d-=2;continue}if(b>h&&!p)p=!0;else if(b>h&&p)continue;f.dataPoints[d].label&&(a.axisX.labels[b]=
|
|
248
|
+
f.dataPoints[d].label);b<c.viewPortMin&&(c.viewPortMin=b);b>c.viewPortMax&&(c.viewPortMax=b);0<d&&(f.dataPointEOs[d-1].cumulativeSum<g.viewPortMin&&(g.viewPortMin=f.dataPointEOs[d-1].cumulativeSum),f.dataPointEOs[d-1].cumulativeSum>g.viewPortMax&&(g.viewPortMax=f.dataPointEOs[d-1].cumulativeSum));f.dataPointEOs[d].cumulativeSum<g.viewPortMin&&(g.viewPortMin=f.dataPointEOs[d].cumulativeSum);f.dataPointEOs[d].cumulativeSum>g.viewPortMax&&(g.viewPortMax=f.dataPointEOs[d].cumulativeSum)}f.axisX.valueType=
|
|
249
|
+
f.xValueType=l?"dateTime":"number"}};m.prototype.calculateAutoBreaks=function(){function a(a,b,c,e){if(e)return c=Math.pow(Math.min(c*a/b,b/a),0.2),1>=c&&(c=Math.pow(1>a?1/a:Math.min(b/a,a),0.25)),{startValue:a*c,endValue:b/c};c=0.2*Math.min(c-b+a,b-a);0>=c&&(c=0.25*Math.min(b-a,Math.abs(a)));return{startValue:a+c,endValue:b-c}}function g(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)){var b=a.axisX.scaleBreaks&&a.axisX.scaleBreaks.autoCalculate&&1<=a.axisX.scaleBreaks.maxNumberOfAutoBreaks,
|
|
250
|
+
c=a.axisY.scaleBreaks&&a.axisY.scaleBreaks.autoCalculate&&1<=a.axisY.scaleBreaks.maxNumberOfAutoBreaks;if(b||c)for(var g=a.axisY.dataInfo,l=a.axisX.dataInfo,h,B=l.min,n=l.max,p=g.min,d=g.max,l=l._dataRanges,g=g._dataRanges,q,r=0,ua=0;ua<a.dataSeriesIndexes.length;ua++){var t=e.data[a.dataSeriesIndexes[ua]];if(!(4>t.dataPoints.length))for(r=0;r<t.dataPoints.length;r++)if(b&&(q=(n+1-B)*Math.max(parseFloat(a.axisX.scaleBreaks.collapsibleThreshold)||10,10)/100,h=t.dataPoints[r].x.getTime?t.dataPoints[r].x.getTime():
|
|
251
|
+
t.dataPoints[r].x,q=Math.floor((h-B)/q),h<l[q].min&&(l[q].min=h),h>l[q].max&&(l[q].max=h)),c){var s=(d+1-p)*Math.max(parseFloat(a.axisY.scaleBreaks.collapsibleThreshold)||10,10)/100;if((h="waterfall"===a.type?t.dataPointEOs[r].cumulativeSum:t.dataPoints[r].y)&&h.length)for(var I=0;I<h.length;I++)q=Math.floor((h[I]-p)/s),h[I]<g[q].min&&(g[q].min=h[I]),h[I]>g[q].max&&(g[q].max=h[I]);else f(h)||(q=Math.floor((h-p)/s),h<g[q].min&&(g[q].min=h),h>g[q].max&&(g[q].max=h))}}}}function c(a){if(a.dataSeriesIndexes&&
|
|
252
|
+
!(1>a.dataSeriesIndexes.length)&&a.axisX.scaleBreaks&&a.axisX.scaleBreaks.autoCalculate&&1<=a.axisX.scaleBreaks.maxNumberOfAutoBreaks)for(var b=a.axisX.dataInfo,c=b.min,g=b.max,h=b._dataRanges,l,B=0,f=0;f<a.dataSeriesIndexes.length;f++){var n=e.data[a.dataSeriesIndexes[f]];if(!(4>n.dataPoints.length))for(B=0;B<n.dataPoints.length;B++)l=(g+1-c)*Math.max(parseFloat(a.axisX.scaleBreaks.collapsibleThreshold)||10,10)/100,b=n.dataPoints[B].x.getTime?n.dataPoints[B].x.getTime():n.dataPoints[B].x,l=Math.floor((b-
|
|
253
|
+
c)/l),b<h[l].min&&(h[l].min=b),b>h[l].max&&(h[l].max=b)}}for(var b,e=this,l=!1,B=0;B<this._axes.length;B++)if(this._axes[B].scaleBreaks&&this._axes[B].scaleBreaks.autoCalculate&&1<=this._axes[B].scaleBreaks.maxNumberOfAutoBreaks){l=!0;this._axes[B].dataInfo._dataRanges=[];for(var d=0;d<100/Math.max(parseFloat(this._axes[B].scaleBreaks.collapsibleThreshold)||10,10);d++)this._axes[B].dataInfo._dataRanges.push({min:Infinity,max:-Infinity})}if(l){for(B=0;B<this.plotInfo.plotTypes.length;B++)for(l=this.plotInfo.plotTypes[B],
|
|
254
|
+
d=0;d<l.plotUnits.length;d++)b=l.plotUnits[d],"line"===b.type||"stepLine"===b.type||"spline"===b.type||"column"===b.type||"area"===b.type||"stepArea"===b.type||"splineArea"===b.type||"bar"===b.type||"bubble"===b.type||"scatter"===b.type||"candlestick"===b.type||"ohlc"===b.type||"rangeColumn"===b.type||"rangeBar"===b.type||"rangeArea"===b.type||"rangeSplineArea"===b.type||"waterfall"===b.type||"error"===b.type||"boxAndWhisker"===b.type?g(b):0<=b.type.indexOf("stacked")&&c(b);for(B=0;B<this._axes.length;B++)if(this._axes[B].dataInfo._dataRanges){var t=
|
|
255
255
|
this._axes[B].dataInfo.min;b=(this._axes[B].dataInfo.max+1-t)*Math.max(parseFloat(this._axes[B].scaleBreaks.collapsibleThreshold)||10,10)/100;var n=this._axes[B].dataInfo._dataRanges,p,q,l=[];if(this._axes[B].dataInfo.dataPointYPositiveSums){var r=this._axes[B].dataInfo.dataPointYPositiveSums;p=n;for(d in r)if(r.hasOwnProperty(d)&&!isNaN(d)&&(q=r[d],!f(q))){var h=Math.floor((q-t)/b);q<p[h].min&&(p[h].min=q);q>p[h].max&&(p[h].max=q)}delete this._axes[B].dataInfo.dataPointYPositiveSums}if(this._axes[B].dataInfo.dataPointYNegativeSums){r=
|
|
256
256
|
this._axes[B].dataInfo.dataPointYNegativeSums;p=n;for(d in r)r.hasOwnProperty(d)&&!isNaN(d)&&(q=-1*r[d],f(q)||(h=Math.floor((q-t)/b),q<p[h].min&&(p[h].min=q),q>p[h].max&&(p[h].max=q)));delete this._axes[B].dataInfo.dataPointYNegativeSums}for(d=0;d<n.length-1;d++)if(p=n[d].max,isFinite(p))for(;d<n.length-1;)if(t=n[d+1].min,isFinite(t)){q=t-p;q>b&&l.push({diff:q,start:p,end:t});break}else d++;if(this._axes[B].scaleBreaks.customBreaks)for(d=0;d<this._axes[B].scaleBreaks.customBreaks.length;d++)for(b=
|
|
257
257
|
0;b<l.length;b++)if(this._axes[B].scaleBreaks.customBreaks[d].startValue<=l[b].start&&l[b].start<=this._axes[B].scaleBreaks.customBreaks[d].endValue||this._axes[B].scaleBreaks.customBreaks[d].startValue<=l[b].start&&l[b].start<=this._axes[B].scaleBreaks.customBreaks[d].endValue||l[b].start<=this._axes[B].scaleBreaks.customBreaks[d].startValue&&this._axes[B].scaleBreaks.customBreaks[d].startValue<=l[b].end||l[b].start<=this._axes[B].scaleBreaks.customBreaks[d].endValue&&this._axes[B].scaleBreaks.customBreaks[d].endValue<=
|
|
258
258
|
l[b].end)l.splice(b,1),b--;l.sort(function(a,b){return b.diff-a.diff});for(d=0;d<Math.min(l.length,this._axes[B].scaleBreaks.maxNumberOfAutoBreaks);d++)b=a(l[d].start,l[d].end,this._axes[B].logarithmic?this._axes[B].dataInfo.max/this._axes[B].dataInfo.min:this._axes[B].dataInfo.max-this._axes[B].dataInfo.min,this._axes[B].logarithmic),this._axes[B].scaleBreaks.autoBreaks.push(new T(this,"autoBreaks",b,d,++this._eventManager.lastObjectId,this._axes[B].scaleBreaks)),this._axes[B].scaleBreaks._appliedBreaks.push(this._axes[B].scaleBreaks.autoBreaks[this._axes[B].scaleBreaks.autoBreaks.length-
|
|
259
|
-
1]);this._axes[B].scaleBreaks._appliedBreaks.sort(function(a,b){return a.startValue-b.startValue})}}};m.prototype.renderCrosshairs=function(a){for(var
|
|
260
|
-
this.axisX2[
|
|
261
|
-
function(a,
|
|
262
|
-
"area"!==b[c].dataSeries.type&&"stepArea"!==b[c].dataSeries.type||(a?b[c].distance<=a.distance&&(a=b[c]):a=b[c]);return a};m.prototype.getObjectAtXY=function(a,
|
|
263
|
-
function(){this.overlaidCanvasCtx.clearRect(0,0,this.width,this.height)};m.prototype.clearCanvas=nb;m.prototype.attachEvent=function(a){this._events.push(a)};m.prototype._touchEventHandler=function(a){if(a.changedTouches&&this.interactivityEnabled){var
|
|
264
|
-
case "touchend":case "MSPointerUp":var l=this._lastTouchData&&this._lastTouchData.time?new Date-this._lastTouchData.time:0,
|
|
265
|
-
a.type;if(this._lastTouchData.scroll&&this.zoomEnabled)this.isDrag&&this.resetOverlayedCanvas(),this.isDrag=!1;else for(c=0;c<
|
|
266
|
-
m.prototype._dispatchRangeEvent=function(a,
|
|
267
|
-
else if("axisY2"===b[
|
|
268
|
-
viewportMaximum:this[b[
|
|
269
|
-
|
|
270
|
-
c.y),l&&window.console.log(a.which),"mouseup"===b&&window.console.log("mouseup"));if(!l){if(!m.capturedEventParam&&this._events){for(l=0;l<this._events.length;l++)if(this._events[l].hasOwnProperty(b))if(
|
|
271
|
-
!1)):"mouseup"===b&&(
|
|
259
|
+
1]);this._axes[B].scaleBreaks._appliedBreaks.sort(function(a,b){return a.startValue-b.startValue})}}};m.prototype.renderCrosshairs=function(a){for(var g=0;g<this.axisX.length;g++)this.axisX[g]!=a&&(this.axisX[g].crosshair&&this.axisX[g].crosshair.enabled&&!this.axisX[g].crosshair._hidden)&&this.axisX[g].showCrosshair(this.axisX[g].crosshair._updatedValue);for(g=0;g<this.axisX2.length;g++)this.axisX2[g]!=a&&(this.axisX2[g].crosshair&&this.axisX2[g].crosshair.enabled&&!this.axisX2[g].crosshair._hidden)&&
|
|
260
|
+
this.axisX2[g].showCrosshair(this.axisX2[g].crosshair._updatedValue);for(g=0;g<this.axisY.length;g++)this.axisY[g]!=a&&(this.axisY[g].crosshair&&this.axisY[g].crosshair.enabled&&!this.axisY[g].crosshair._hidden)&&this.axisY[g].showCrosshair(this.axisY[g].crosshair._updatedValue);for(g=0;g<this.axisY2.length;g++)this.axisY2[g]!=a&&(this.axisY2[g].crosshair&&this.axisY2[g].crosshair.enabled&&!this.axisY2[g].crosshair._hidden)&&this.axisY2[g].showCrosshair(this.axisY2[g].crosshair._updatedValue)};m.prototype.getDataPointAtXY=
|
|
261
|
+
function(a,g,c){c=c||!1;for(var b=[],e=this._dataInRenderedOrder.length-1;0<=e;e--){var l=null;(l=this._dataInRenderedOrder[e].getDataPointAtXY(a,g,c))&&b.push(l)}a=null;g=!1;for(c=0;c<b.length;c++)if("line"===b[c].dataSeries.type||"stepLine"===b[c].dataSeries.type||"area"===b[c].dataSeries.type||"stepArea"===b[c].dataSeries.type)if(e=ra("markerSize",b[c].dataPoint,b[c].dataSeries)||8,b[c].distance<=e/2){g=!0;break}for(c=0;c<b.length;c++)g&&"line"!==b[c].dataSeries.type&&"stepLine"!==b[c].dataSeries.type&&
|
|
262
|
+
"area"!==b[c].dataSeries.type&&"stepArea"!==b[c].dataSeries.type||(a?b[c].distance<=a.distance&&(a=b[c]):a=b[c]);return a};m.prototype.getObjectAtXY=function(a,g,c){var b=null;if(c=this.getDataPointAtXY(a,g,c||!1))b=c.dataSeries.dataPointIds[c.dataPointIndex];else if(s)b=kb(a,g,this._eventManager.ghostCtx);else for(c=0;c<this.legend.items.length;c++){var e=this.legend.items[c];a>=e.x1&&(a<=e.x2&&g>=e.y1&&g<=e.y2)&&(b=e.id)}return b};m.prototype.getAutoFontSize=ob;m.prototype.resetOverlayedCanvas=
|
|
263
|
+
function(){this.overlaidCanvasCtx.clearRect(0,0,this.width,this.height)};m.prototype.clearCanvas=nb;m.prototype.attachEvent=function(a){this._events.push(a)};m.prototype._touchEventHandler=function(a){if(a.changedTouches&&this.interactivityEnabled){var g=[],c=a.changedTouches,b=c?c[0]:a,e=null;switch(a.type){case "touchstart":case "MSPointerDown":g=["mousemove","mousedown"];this._lastTouchData=Ba(b);this._lastTouchData.time=new Date;break;case "touchmove":case "MSPointerMove":g=["mousemove"];break;
|
|
264
|
+
case "touchend":case "MSPointerUp":var l=this._lastTouchData&&this._lastTouchData.time?new Date-this._lastTouchData.time:0,g="touchstart"===this._lastTouchEventType||"MSPointerDown"===this._lastTouchEventType||300>l?["mouseup","click"]:["mouseup"];break;default:return}if(!(c&&1<c.length)){e=Ba(b);e.time=new Date;try{var B=e.y-this._lastTouchData.y,l=e.time-this._lastTouchData.time;if(1<Math.abs(B)&&this._lastTouchData.scroll||5<Math.abs(B)&&250>l)this._lastTouchData.scroll=!0}catch(d){}this._lastTouchEventType=
|
|
265
|
+
a.type;if(this._lastTouchData.scroll&&this.zoomEnabled)this.isDrag&&this.resetOverlayedCanvas(),this.isDrag=!1;else for(c=0;c<g.length;c++)if(e=g[c],B=document.createEvent("MouseEvent"),B.initMouseEvent(e,!0,!0,window,1,b.screenX,b.screenY,b.clientX,b.clientY,!1,!1,!1,!1,0,null),b.target.dispatchEvent(B),!f(this._lastTouchData.scroll)&&!this._lastTouchData.scroll||!this._lastTouchData.scroll&&250<l||"click"===e)a.preventManipulation&&a.preventManipulation(),a.preventDefault&&a.cancelable&&a.preventDefault()}}};
|
|
266
|
+
m.prototype._dispatchRangeEvent=function(a,g){var c={chart:this};c.type=a;c.trigger=g;var b=[];this.axisX&&0<this.axisX.length&&b.push("axisX");this.axisX2&&0<this.axisX2.length&&b.push("axisX2");this.axisY&&0<this.axisY.length&&b.push("axisY");this.axisY2&&0<this.axisY2.length&&b.push("axisY2");for(var e=0;e<b.length;e++)if(f(c[b[e]])&&(c[b[e]]=[]),"axisY"===b[e])for(var l=0;l<this.axisY.length;l++)c[b[e]].push({viewportMinimum:this[b[e]][l].sessionVariables.newViewportMinimum,viewportMaximum:this[b[e]][l].sessionVariables.newViewportMaximum});
|
|
267
|
+
else if("axisY2"===b[e])for(l=0;l<this.axisY2.length;l++)c[b[e]].push({viewportMinimum:this[b[e]][l].sessionVariables.newViewportMinimum,viewportMaximum:this[b[e]][l].sessionVariables.newViewportMaximum});else if("axisX"===b[e])for(l=0;l<this.axisX.length;l++)c[b[e]].push({viewportMinimum:this[b[e]][l].sessionVariables.newViewportMinimum,viewportMaximum:this[b[e]][l].sessionVariables.newViewportMaximum});else if("axisX2"===b[e])for(l=0;l<this.axisX2.length;l++)c[b[e]].push({viewportMinimum:this[b[e]][l].sessionVariables.newViewportMinimum,
|
|
268
|
+
viewportMaximum:this[b[e]][l].sessionVariables.newViewportMaximum});this.dispatchEvent(a,c,this)};m.prototype._mouseEventHandler=function(a){function g(){m.capturedEventParam&&(e=m.capturedEventParam,B=e.bounds,"mouseup"===b&&(m.capturedEventParam=null,e.chart.overlaidCanvas.releaseCapture?e.chart.overlaidCanvas.releaseCapture():document.documentElement.removeEventListener("mouseup",e.chart._mouseEventHandler,!1)),e.hasOwnProperty(b)&&("mouseup"!==b||e.chart.overlaidCanvas.releaseCapture?a.target!==
|
|
269
|
+
e.chart.overlaidCanvas&&s||e[b].call(e.context,c.x,c.y):a.target!==e.chart.overlaidCanvas&&(e.chart.isDrag=!1)))}"undefined"===typeof a.target&&a.srcElement&&(a.target=a.srcElement);var c=Ba(a),b=a.type,e,l;a.which?l=3==a.which:a.button&&(l=2==a.button);if(this._ignoreNextEvent)g(),this._ignoreNextEvent=!1;else if(g(),this.interactivityEnabled){a.preventManipulation&&a.preventManipulation();a.preventDefault&&a.preventDefault();var B;Ma&&window.console&&(window.console.log(b+" --\x3e x: "+c.x+"; y:"+
|
|
270
|
+
c.y),l&&window.console.log(a.which),"mouseup"===b&&window.console.log("mouseup"));if(!l){if(!m.capturedEventParam&&this._events){for(l=0;l<this._events.length;l++)if(this._events[l].hasOwnProperty(b))if(e=this._events[l],B=e.bounds,c.x>=B.x1&&c.x<=B.x2&&c.y>=B.y1&&c.y<=B.y2){e[b].call(e.context,c.x,c.y);"mousedown"===b&&!0===e.capture?(m.capturedEventParam=e,this.overlaidCanvas.setCapture?this.overlaidCanvas.setCapture():document.documentElement.addEventListener("mouseup",this._mouseEventHandler,
|
|
271
|
+
!1)):"mouseup"===b&&(e.chart.overlaidCanvas.releaseCapture?e.chart.overlaidCanvas.releaseCapture():document.documentElement.removeEventListener("mouseup",this._mouseEventHandler,!1));break}else e=null;a.target.style.cursor=e&&e.cursor?e.cursor:this._defaultCursor}l=this.plotArea;if(c.x<l.x1||c.x>l.x2||c.y<l.y1||c.y>l.y2){this.toolTip&&this.toolTip.enabled?(this.toolTip.hide(),this.toolTip.dispatchEvent("hidden",{chart:this,toolTip:this.toolTip},this.toolTip)):this.resetOverlayedCanvas();for(l=0;l<
|
|
272
272
|
this.axisX.length;l++)this.axisX[l].crosshair&&this.axisX[l].crosshair.enabled&&(this.axisX[l].crosshair.hide(),this.axisX[l].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX[l].options},this.axisX[l].crosshair));for(l=0;l<this.axisX2.length;l++)this.axisX2[l].crosshair&&this.axisX2[l].crosshair.enabled&&(this.axisX2[l].crosshair.hide(),this.axisX2[l].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX2[l].options},this.axisX2[l].crosshair));for(l=0;l<this.axisY.length;l++)this.axisY[l].crosshair&&
|
|
273
273
|
this.axisY[l].crosshair.enabled&&(this.axisY[l].crosshair.hide(),this.axisY[l].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY[l].options},this.axisY[l].crosshair));for(l=0;l<this.axisY2.length;l++)this.axisY2[l].crosshair&&this.axisY2[l].crosshair.enabled&&(this.axisY2[l].crosshair.hide(),this.axisY2[l].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY2[l].options},this.axisY2[l].crosshair))}this.isDrag&&this.zoomEnabled||!this._eventManager||this._eventManager.mouseEventHandler(a)}}};
|
|
274
|
-
m.prototype._plotAreaMouseDown=function(a,
|
|
275
|
-
l=0;
|
|
276
|
-
c.viewportMinimum+l,c.sessionVariables.newViewportMaximum=c.viewportMaximum+l,B=!0):c.viewportMaximum>c.maximum&&(l=c.viewportMaximum-c.maximum,c.sessionVariables.newViewportMinimum=c.viewportMinimum-l,c.sessionVariables.newViewportMaximum=c.viewportMaximum-l,B=!0);else if((!
|
|
277
|
-
|
|
274
|
+
m.prototype._plotAreaMouseDown=function(a,g){this.isDrag=!0;this.dragStartPoint={x:a,y:g}};m.prototype._plotAreaMouseUp=function(a,g){if(("normal"===this.plotInfo.axisPlacement||"xySwapped"===this.plotInfo.axisPlacement)&&this.isDrag){var c=g-this.dragStartPoint.y,b=a-this.dragStartPoint.x,e=0<=this.zoomType.indexOf("x"),l=0<=this.zoomType.indexOf("y"),B=!1;this.resetOverlayedCanvas();if("xySwapped"===this.plotInfo.axisPlacement)var f=l,l=e,e=f;if(this.panEnabled||this.zoomEnabled){if(this.panEnabled)for(e=
|
|
275
|
+
l=0;e<this._axes.length;e++)c=this._axes[e],c.logarithmic?c.viewportMinimum<c.minimum?(l=c.minimum/c.viewportMinimum,c.sessionVariables.newViewportMinimum=c.viewportMinimum*l,c.sessionVariables.newViewportMaximum=c.viewportMaximum*l,B=!0):c.viewportMaximum>c.maximum&&(l=c.viewportMaximum/c.maximum,c.sessionVariables.newViewportMinimum=c.viewportMinimum/l,c.sessionVariables.newViewportMaximum=c.viewportMaximum/l,B=!0):c.viewportMinimum<c.minimum?(l=c.minimum-c.viewportMinimum,c.sessionVariables.newViewportMinimum=
|
|
276
|
+
c.viewportMinimum+l,c.sessionVariables.newViewportMaximum=c.viewportMaximum+l,B=!0):c.viewportMaximum>c.maximum&&(l=c.viewportMaximum-c.maximum,c.sessionVariables.newViewportMinimum=c.viewportMinimum-l,c.sessionVariables.newViewportMaximum=c.viewportMaximum-l,B=!0);else if((!e||2<Math.abs(b))&&(!l||2<Math.abs(c))&&this.zoomEnabled){if(!this.dragStartPoint)return;c=e?this.dragStartPoint.x:this.plotArea.x1;b=l?this.dragStartPoint.y:this.plotArea.y1;e=e?a:this.plotArea.x2;l=l?g:this.plotArea.y2;2<Math.abs(c-
|
|
277
|
+
e)&&2<Math.abs(b-l)&&this._zoomPanToSelectedRegion(c,b,e,l)&&(B=!0)}B&&(this._ignoreNextEvent=!0,this._dispatchRangeEvent("rangeChanging","zoom"),this.stockChart&&(this.stockChart.navigator&&this.stockChart.navigator.enabled)&&(this.stockChart._rangeEventParameter||(this.stockChart._rangeEventParameter={stockChart:this.stockChart,source:"chart",index:this.stockChart.charts.indexOf(this),minimum:this.stockChart.sessionVariables._axisXMin,maximum:this.stockChart.sessionVariables._axisXMax}),this.stockChart._rangeEventParameter.type=
|
|
278
278
|
"rangeChanging",this.stockChart.dispatchEvent("rangeChanging",this.stockChart._rangeEventParameter,this.stockChart)),this.render(),this._dispatchRangeEvent("rangeChanged","zoom"),this.stockChart&&(this.stockChart.navigator&&this.stockChart.navigator.enabled)&&(this.stockChart._rangeEventParameter.type="rangeChanged",this.stockChart.dispatchEvent("rangeChanged",this.stockChart._rangeEventParameter,this.stockChart)),B&&(this.zoomEnabled&&"none"===this._zoomButton.style.display)&&(Ta(this._zoomButton,
|
|
279
|
-
this._resetButton),xa(this,this._zoomButton,"pan"),xa(this,this._resetButton,"reset")))}}this.isDrag=!1;if("none"!==this.plotInfo.axisPlacement){this.resetOverlayedCanvas();if(this.axisX&&0<this.axisX.length)for(B=0;B<this.axisX.length;B++)this.axisX[B].crosshair&&this.axisX[B].crosshair.enabled&&this.axisX[B].renderCrosshair(a,
|
|
280
|
-
0<this.axisY.length)for(B=0;B<this.axisY.length;B++)this.axisY[B].crosshair&&this.axisY[B].crosshair.enabled&&this.axisY[B].renderCrosshair(a,
|
|
279
|
+
this._resetButton),xa(this,this._zoomButton,"pan"),xa(this,this._resetButton,"reset")))}}this.isDrag=!1;if("none"!==this.plotInfo.axisPlacement){this.resetOverlayedCanvas();if(this.axisX&&0<this.axisX.length)for(B=0;B<this.axisX.length;B++)this.axisX[B].crosshair&&this.axisX[B].crosshair.enabled&&this.axisX[B].renderCrosshair(a,g);if(this.axisX2&&0<this.axisX2.length)for(B=0;B<this.axisX2.length;B++)this.axisX2[B].crosshair&&this.axisX2[B].crosshair.enabled&&this.axisX2[B].renderCrosshair(a,g);if(this.axisY&&
|
|
280
|
+
0<this.axisY.length)for(B=0;B<this.axisY.length;B++)this.axisY[B].crosshair&&this.axisY[B].crosshair.enabled&&this.axisY[B].renderCrosshair(a,g);if(this.axisY2&&0<this.axisY2.length)for(B=0;B<this.axisY2.length;B++)this.axisY2[B].crosshair&&this.axisY2[B].crosshair.enabled&&this.axisY2[B].renderCrosshair(a,g);if(this.axisX&&0<this.axisX.length)for(B=0;B<this.axisX.length;B++)this.axisX[B].crosshair&&this.axisX[B].crosshair.enabled&&this.axisX[B].crosshair.renderLabel();if(this.axisX2&&0<this.axisX2.length)for(B=
|
|
281
281
|
0;B<this.axisX2.length;B++)this.axisX2[B].crosshair&&this.axisX2[B].crosshair.enabled&&this.axisX2[B].crosshair.renderLabel();if(this.axisY&&0<this.axisY.length)for(B=0;B<this.axisY.length;B++)this.axisY[B].crosshair&&this.axisY[B].crosshair.enabled&&this.axisY[B].crosshair.renderLabel();if(this.axisY2&&0<this.axisY2.length)for(B=0;B<this.axisY2.length;B++)this.axisY2[B].crosshair&&this.axisY2[B].crosshair.enabled&&this.axisY2[B].crosshair.renderLabel()}};m.prototype._plotAreaMouseMove=function(a,
|
|
282
|
-
|
|
282
|
+
g){if(this.isDrag&&"none"!==this.plotInfo.axisPlacement){var c=0,b=0,e=c=null,e=0<=this.zoomType.indexOf("x"),l=0<=this.zoomType.indexOf("y"),B=this;"xySwapped"===this.plotInfo.axisPlacement&&(c=l,l=e,e=c);c=this.dragStartPoint.x-a;b=this.dragStartPoint.y-g;if(2<Math.abs(c)&&8>Math.abs(c)&&(this.panEnabled||this.zoomEnabled)){this.toolTip.hide();this.toolTip&&this.toolTip.enabled&&this.toolTip.dispatchEvent("hidden",{chart:this,toolTip:this.toolTip},this.toolTip);for(var f=0;f<this.axisX.length;f++)this.axisX[f].crosshair&&
|
|
283
283
|
this.axisX[f].crosshair.enabled&&(this.axisX[f].crosshair.hide(),this.axisX[f].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX[f].options},this.axisX[f].crosshair));for(f=0;f<this.axisX2.length;f++)this.axisX2[f].crosshair&&this.axisX2[f].crosshair.enabled&&(this.axisX2[f].crosshair.hide(),this.axisX2[f].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisX2[f].options},this.axisX2[f].crosshair));for(f=0;f<this.axisY.length;f++)this.axisY[f].crosshair&&this.axisY[f].crosshair.enabled&&
|
|
284
|
-
(this.axisY[f].crosshair.hide(),this.axisY[f].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY[f].options},this.axisY[f].crosshair));for(f=0;f<this.axisY2.length;f++)this.axisY2[f].crosshair&&this.axisY2[f].crosshair.enabled&&(this.axisY2[f].crosshair.hide(),this.axisY2[f].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY2[f].options},this.axisY2[f].crosshair))}else this.panEnabled||this.zoomEnabled||this.toolTip.mouseMoveHandler(a,
|
|
285
|
-
(this.panEnabled||this.zoomEnabled))if(this.panEnabled)
|
|
286
|
-
"rangeChanging",B.stockChart.dispatchEvent("rangeChanging",B.stockChart._rangeEventParameter,B.stockChart)),B.render(),B._dispatchRangeEvent("rangeChanged","pan"),B.stockChart&&(B.stockChart.navigator&&B.stockChart.navigator.enabled)&&(B.stockChart._rangeEventParameter.type="rangeChanged",B.stockChart.dispatchEvent("rangeChanged",B.stockChart._rangeEventParameter,B.stockChart)),B.dragStartPoint.x=a,B.dragStartPoint.y=
|
|
287
|
-
c=this.overlaidCanvasCtx.globalAlpha;this.overlaidCanvasCtx.fillStyle="#A89896";var b=
|
|
288
|
-
0.7;this.overlaidCanvasCtx.fillRect(b,f,d,n);this.overlaidCanvasCtx.globalAlpha=c}}else if(this.toolTip.mouseMoveHandler(a,
|
|
289
|
-
0<this.axisY.length)for(
|
|
290
|
-
0;
|
|
291
|
-
|
|
292
|
-
f=0<=this.zoomType.indexOf("y"),d=!1,t=[],n=[],p=[],q=0;q<this._axes.length;q++)("axisX"===this._axes[q].type&&l||"axisY"===this._axes[q].type&&f)&&n.push(this._axes[q]);for(f=0;f<n.length;f++){var q=n[f],l=!1,r=q.convertPixelToValue({x:a,y:
|
|
293
|
-
q.getApparentDifference(r,h,null,!0),!(l||!(this.panEnabled&&q.scaleBreaks&&q.scaleBreaks._appliedBreaks.length)&&(q.logarithmic&&w<Math.pow(q.dataInfo.minDiff,3)||!q.logarithmic&&w<3*Math.abs(q.dataInfo.minDiff))||r<q.minimum||h>q.maximum))t.push(q),p.push({val1:r,val2:h}),d=!0;else if(!
|
|
294
|
-
(this.axisY[0]||this.axisY2[0])){var
|
|
295
|
-
a.x1=
|
|
296
|
-
-a.y1));a.layoutManager=new La(a.x1,a.y1,a.x2,a.y2,2)};m.prototype.renderIndexLabels=function(a){var
|
|
284
|
+
(this.axisY[f].crosshair.hide(),this.axisY[f].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY[f].options},this.axisY[f].crosshair));for(f=0;f<this.axisY2.length;f++)this.axisY2[f].crosshair&&this.axisY2[f].crosshair.enabled&&(this.axisY2[f].crosshair.hide(),this.axisY2[f].crosshair.dispatchEvent("hidden",{chart:this,axis:this.axisY2[f].options},this.axisY2[f].crosshair))}else this.panEnabled||this.zoomEnabled||this.toolTip.mouseMoveHandler(a,g);if((!e||2<Math.abs(c)||!l||2<Math.abs(b))&&
|
|
285
|
+
(this.panEnabled||this.zoomEnabled))if(this.panEnabled)e={x1:e?this.plotArea.x1+c:this.plotArea.x1,y1:l?this.plotArea.y1+b:this.plotArea.y1,x2:e?this.plotArea.x2+c:this.plotArea.x2,y2:l?this.plotArea.y2+b:this.plotArea.y2},clearTimeout(B._panTimerId),B._panTimerId=setTimeout(function(b,c,e,h){return function(){B._zoomPanToSelectedRegion(b,c,e,h,!0)&&(B._dispatchRangeEvent("rangeChanging","pan"),B.stockChart&&(B.stockChart.navigator&&B.stockChart.navigator.enabled)&&(B.stockChart._rangeEventParameter.type=
|
|
286
|
+
"rangeChanging",B.stockChart.dispatchEvent("rangeChanging",B.stockChart._rangeEventParameter,B.stockChart)),B.render(),B._dispatchRangeEvent("rangeChanged","pan"),B.stockChart&&(B.stockChart.navigator&&B.stockChart.navigator.enabled)&&(B.stockChart._rangeEventParameter.type="rangeChanged",B.stockChart.dispatchEvent("rangeChanged",B.stockChart._rangeEventParameter,B.stockChart)),B.dragStartPoint.x=a,B.dragStartPoint.y=g)}}(e.x1,e.y1,e.x2,e.y2),0);else if(this.zoomEnabled){this.resetOverlayedCanvas();
|
|
287
|
+
c=this.overlaidCanvasCtx.globalAlpha;this.overlaidCanvasCtx.fillStyle="#A89896";var b=e?this.dragStartPoint.x:this.plotArea.x1,f=l?this.dragStartPoint.y:this.plotArea.y1,d=e?a-this.dragStartPoint.x:this.plotArea.x2-this.plotArea.x1,n=l?g-this.dragStartPoint.y:this.plotArea.y2-this.plotArea.y1;this.validateRegion(b,f,e?a:this.plotArea.x2-this.plotArea.x1,l?g:this.plotArea.y2-this.plotArea.y1,"xy"!==this.zoomType).isValid&&(this.resetOverlayedCanvas(),this.overlaidCanvasCtx.fillStyle="#99B2B5");this.overlaidCanvasCtx.globalAlpha=
|
|
288
|
+
0.7;this.overlaidCanvasCtx.fillRect(b,f,d,n);this.overlaidCanvasCtx.globalAlpha=c}}else if(this.toolTip.mouseMoveHandler(a,g),"none"!==this.plotInfo.axisPlacement){if(this.axisX&&0<this.axisX.length)for(e=0;e<this.axisX.length;e++)this.axisX[e].crosshair&&this.axisX[e].crosshair.enabled&&this.axisX[e].renderCrosshair(a,g);if(this.axisX2&&0<this.axisX2.length)for(e=0;e<this.axisX2.length;e++)this.axisX2[e].crosshair&&this.axisX2[e].crosshair.enabled&&this.axisX2[e].renderCrosshair(a,g);if(this.axisY&&
|
|
289
|
+
0<this.axisY.length)for(e=0;e<this.axisY.length;e++)this.axisY[e].crosshair&&this.axisY[e].crosshair.enabled&&this.axisY[e].renderCrosshair(a,g);if(this.axisY2&&0<this.axisY2.length)for(e=0;e<this.axisY2.length;e++)this.axisY2[e].crosshair&&this.axisY2[e].crosshair.enabled&&this.axisY2[e].renderCrosshair(a,g);if(this.axisX&&0<this.axisX.length)for(e=0;e<this.axisX.length;e++)this.axisX[e].crosshair&&this.axisX[e].crosshair.enabled&&this.axisX[e].crosshair.renderLabel();if(this.axisX2&&0<this.axisX2.length)for(e=
|
|
290
|
+
0;e<this.axisX2.length;e++)this.axisX2[e].crosshair&&this.axisX2[e].crosshair.enabled&&this.axisX2[e].crosshair.renderLabel();if(this.axisY&&0<this.axisY.length)for(e=0;e<this.axisY.length;e++)this.axisY[e].crosshair&&this.axisY[e].crosshair.enabled&&this.axisY[e].crosshair.renderLabel();if(this.axisY2&&0<this.axisY2.length)for(e=0;e<this.axisY2.length;e++)this.axisY2[e].crosshair&&this.axisY2[e].crosshair.enabled&&this.axisY2[e].crosshair.renderLabel()}};m.prototype._zoomPanToSelectedRegion=function(a,
|
|
291
|
+
g,c,b,e){a=this.validateRegion(a,g,c,b,e);g=a.axesWithValidRange;c=a.axesRanges;if(a.isValid)for(b=0;b<g.length;b++)e=c[b],g[b].setViewPortRange(e.val1,e.val2),this.syncCharts&&"y"!=this.zoomType&&this.syncCharts(e.val1,e.val2),this.stockChart&&(this.stockChart._rangeEventParameter={stockChart:this.stockChart,source:"chart",index:this.stockChart.charts.indexOf(this),minimum:e.val1,maximum:e.val2});return a.isValid};m.prototype.validateRegion=function(a,g,c,b,e){e=e||!1;for(var l=0<=this.zoomType.indexOf("x"),
|
|
292
|
+
f=0<=this.zoomType.indexOf("y"),d=!1,t=[],n=[],p=[],q=0;q<this._axes.length;q++)("axisX"===this._axes[q].type&&l||"axisY"===this._axes[q].type&&f)&&n.push(this._axes[q]);for(f=0;f<n.length;f++){var q=n[f],l=!1,r=q.convertPixelToValue({x:a,y:g}),h=q.convertPixelToValue({x:c,y:b});if(r>h)var w=h,h=r,r=w;if(q.scaleBreaks)for(w=0;!l&&w<q.scaleBreaks._appliedBreaks.length;w++)l=q.scaleBreaks._appliedBreaks[w].startValue<=r&&q.scaleBreaks._appliedBreaks[w].endValue>=h;if(isFinite(q.dataInfo.minDiff))if(w=
|
|
293
|
+
q.getApparentDifference(r,h,null,!0),!(l||!(this.panEnabled&&q.scaleBreaks&&q.scaleBreaks._appliedBreaks.length)&&(q.logarithmic&&w<Math.pow(q.dataInfo.minDiff,3)||!q.logarithmic&&w<3*Math.abs(q.dataInfo.minDiff))||r<q.minimum||h>q.maximum))t.push(q),p.push({val1:r,val2:h}),d=!0;else if(!e){d=!1;break}}return{isValid:d,axesWithValidRange:t,axesRanges:p}};m.prototype.preparePlotArea=function(){var a=this.plotArea;!s&&(0<a.x1||0<a.y1)&&a.ctx.translate(a.x1,a.y1);if((this.axisX[0]||this.axisX2[0])&&
|
|
294
|
+
(this.axisY[0]||this.axisY2[0])){var g=this.axisX[0]?this.axisX[0].lineCoordinates:this.axisX2[0].lineCoordinates;if(this.axisY&&0<this.axisY.length&&this.axisY[0]){var c=this.axisY[0];a.x1=g.x1<g.x2?g.x1:c.lineCoordinates.x1;a.y1=g.y1<c.lineCoordinates.y1?g.y1:c.lineCoordinates.y1;a.x2=g.x2>c.lineCoordinates.x2?g.x2:c.lineCoordinates.x2;a.y2=g.y1>c.lineCoordinates.y2?g.y1:c.lineCoordinates.y2;a.width=a.x2-a.x1;a.height=a.y2-a.y1}this.axisY2&&0<this.axisY2.length&&this.axisY2[0]&&(c=this.axisY2[0],
|
|
295
|
+
a.x1=g.x1<g.x2?g.x1:c.lineCoordinates.x1,a.y1=g.y1<c.lineCoordinates.y1?g.y1:c.lineCoordinates.y1,a.x2=g.x2>c.lineCoordinates.x2?g.x2:c.lineCoordinates.x2,a.y2=g.y2>c.lineCoordinates.y2?g.y2:c.lineCoordinates.y2,a.width=a.x2-a.x1,a.height=a.y2-a.y1)}else g=this.layoutManager.getFreeSpace(),a.x1=g.x1,a.x2=g.x2,a.y1=g.y1,a.y2=g.y2,a.width=g.width,a.height=g.height;s||(a.canvas.width=a.width,a.canvas.height=a.height,a.canvas.style.left=a.x1+"px",a.canvas.style.top=a.y1+"px",(0<a.x1||0<a.y1)&&a.ctx.translate(-a.x1,
|
|
296
|
+
-a.y1));a.layoutManager=new La(a.x1,a.y1,a.x2,a.y2,2)};m.prototype.renderIndexLabels=function(a){var g=a||this.plotArea.ctx,c=this.plotArea,b=0,e=0,l=0,B=l=e=0,d=0,I=b=0,n=0;for(a=0;a<this._indexLabels.length;a++){var p=this._indexLabels[a],q=p.chartType.toLowerCase(),r,h,B=ra("indexLabelFontColor",p.dataPoint,p.dataSeries),w=ra("indexLabelFontSize",p.dataPoint,p.dataSeries),d=ra("indexLabelFontFamily",p.dataPoint,p.dataSeries),I=ra("indexLabelFontStyle",p.dataPoint,p.dataSeries),n=ra("indexLabelFontWeight",
|
|
297
297
|
p.dataPoint,p.dataSeries),la=ra("indexLabelBackgroundColor",p.dataPoint,p.dataSeries);r=ra("indexLabelMaxWidth",p.dataPoint,p.dataSeries);h=ra("indexLabelWrap",p.dataPoint,p.dataSeries);var Pa=ra("indexLabelLineDashType",p.dataPoint,p.dataSeries),u=ra("indexLabelLineColor",p.dataPoint,p.dataSeries),k=f(p.dataPoint.indexLabelLineThickness)?f(p.dataSeries.options.indexLabelLineThickness)?0:p.dataSeries.options.indexLabelLineThickness:p.dataPoint.indexLabelLineThickness,b=0<k?Math.min(10,("normal"===
|
|
298
298
|
this.plotInfo.axisPlacement?this.plotArea.height:this.plotArea.width)<<0):0,z={percent:null,total:null},y=null;if(0<=p.dataSeries.type.indexOf("stacked")||"pie"===p.dataSeries.type||"doughnut"===p.dataSeries.type)z=this.getPercentAndTotal(p.dataSeries,p.dataPoint);if(p.dataSeries.indexLabelFormatter||p.dataPoint.indexLabelFormatter)y={chart:this,dataSeries:p.dataSeries,dataPoint:p.dataPoint,index:p.indexKeyword,total:z.total,percent:z.percent};var m=p.dataPoint.indexLabelFormatter?p.dataPoint.indexLabelFormatter(y):
|
|
299
299
|
p.dataPoint.indexLabel?this.replaceKeywordsWithValue(p.dataPoint.indexLabel,p.dataPoint,p.dataSeries,null,p.indexKeyword):p.dataSeries.indexLabelFormatter?p.dataSeries.indexLabelFormatter(y):p.dataSeries.indexLabel?this.replaceKeywordsWithValue(p.dataSeries.indexLabel,p.dataPoint,p.dataSeries,null,p.indexKeyword):null;if(null!==m&&""!==m){var z=ra("indexLabelPlacement",p.dataPoint,p.dataSeries),y=ra("indexLabelOrientation",p.dataPoint,p.dataSeries),F=ra("indexLabelTextAlign",p.dataPoint,p.dataSeries),
|
|
300
|
-
v=p.direction,
|
|
301
|
-
q){if(p.dataPoint.x<
|
|
302
|
-
|
|
303
|
-
p.dataPoint.x>
|
|
304
|
-
(h=p.point.y+w/2+d+b,h>l-n&&(h="auto"===z?Math.min(p.point.y,l)+w/2-n-d:l+w/2-n,A=h<p.point.y))):(
|
|
305
|
-
q||"scatter"===q)&&(h=Math.min(p.point.y+d,c.y2-n-d))),h=Math.min(h,l))}else 0<=q.indexOf("line")||0<=q.indexOf("area")||0<=q.indexOf("scatter")?(z="auto",B=4):0<=q.indexOf("stacked")?"auto"===z&&(z="inside"):"bubble"===q&&(z="inside"),h=p.point.y+w/2-n/2+d,"inside"!==z?(
|
|
306
|
-
y?I:I/2)-B:l-I-B,A=r<p.point.x))):(
|
|
307
|
-
q||!p.axisSwapped)&&p.point.x>c.x1&&p.point.x<c.x2||!A)&&(0>q.indexOf("column")&&("error"!==q||p.axisSwapped)&&p.point.y>c.y1&&p.point.y<c.y2||!A))&&(
|
|
308
|
-
2),h+("vertical"===y?(h-n<p.point.y?0:-n)+d:(h-w/2<p.point.y?n:0)-w/2)):0<=q.indexOf("waterfall")?
|
|
309
|
-
startTimePercent:0.7};for(a=0;a<this._indexLabels.length;a++)p=this._indexLabels[a],la=ra("indexLabelBackgroundColor",p.dataPoint,p.dataSeries),p.dataSeries.indexLabelBackgroundColor=f(la)?s?"transparent":null:la;return
|
|
300
|
+
v=p.direction,e=p.dataSeries.axisX,l=p.dataSeries.axisY,A=!1,la=new ma(g,{x:0,y:0,maxWidth:r?r:0.5*this.width,maxHeight:h?5*w:1.5*w,angle:"horizontal"===y?0:-90,text:m,padding:0,backgroundColor:la,textAlign:F,fontSize:w,fontFamily:d,fontWeight:n,fontColor:B,fontStyle:I,textBaseline:"middle"});la.measureText();p.dataSeries.indexLabelMaxWidth=la.maxWidth;if("stackedarea100"===q){if(p.point.x<c.x1||p.point.x>c.x2||p.point.y<c.y1-1||p.point.y>c.y2+1)continue}else if("rangearea"===q||"rangesplinearea"===
|
|
301
|
+
q){if(p.dataPoint.x<e.viewportMinimum||p.dataPoint.x>e.viewportMaximum||Math.max.apply(null,p.dataPoint.y)<l.viewportMinimum||Math.min.apply(null,p.dataPoint.y)>l.viewportMaximum)continue}else if(0<=q.indexOf("line")||0<=q.indexOf("area")||0<=q.indexOf("bubble")||0<=q.indexOf("scatter")){if(p.dataPoint.x<e.viewportMinimum||p.dataPoint.x>e.viewportMaximum||p.dataPoint.y<l.viewportMinimum||p.dataPoint.y>l.viewportMaximum)continue}else if(0<=q.indexOf("column")||"waterfall"===q||"error"===q&&!p.axisSwapped){if(p.dataPoint.x<
|
|
302
|
+
e.viewportMinimum||p.dataPoint.x>e.viewportMaximum||p.bounds.y1>c.y2||p.bounds.y2<c.y1)continue}else if(0<=q.indexOf("bar")||"error"===q){if(p.dataPoint.x<e.viewportMinimum||p.dataPoint.x>e.viewportMaximum||p.bounds.x1>c.x2||p.bounds.x2<c.x1)continue}else if("candlestick"===q||"ohlc"===q){if(p.dataPoint.x<e.viewportMinimum||p.dataPoint.x>e.viewportMaximum||Math.max.apply(null,p.dataPoint.y)<l.viewportMinimum||Math.min.apply(null,p.dataPoint.y)>l.viewportMaximum)continue}else if(p.dataPoint.x<e.viewportMinimum||
|
|
303
|
+
p.dataPoint.x>e.viewportMaximum)continue;B=d=2;"horizontal"===y?(I=la.width,n=la.height):(n=la.width,I=la.height);if("normal"===this.plotInfo.axisPlacement){if(0<=q.indexOf("line")||0<=q.indexOf("area"))z="auto",d=4;else if(0<=q.indexOf("stacked"))"auto"===z&&(z="inside");else if("bubble"===q||"scatter"===q)z="inside";r=p.point.x-("horizontal"===y?I/2:I/2-w/2);"inside"!==z?(e=c.y1,l=c.y2,0<v?(h=p.point.y+("horizontal"===y?w/2:0)-n-d-b,h<e&&(h="auto"===z?Math.max(p.point.y,e)+w/2+d:e+w/2+d,A=h+n>p.point.y)):
|
|
304
|
+
(h=p.point.y+w/2+d+b,h>l-n&&(h="auto"===z?Math.min(p.point.y,l)+w/2-n-d:l+w/2-n,A=h<p.point.y))):(e=Math.max(p.bounds.y1,c.y1),l=Math.min(p.bounds.y2,c.y2-n+w/2),b=0<=q.indexOf("range")||"error"===q?0<v?Math.max(p.bounds.y1,c.y1)+w/2+d:Math.min(p.bounds.y2,c.y2)+w/2-n+d:(Math.max(p.bounds.y1,c.y1)+Math.min(p.bounds.y2,c.y2))/2-n/2+w/2+("horizontal"===y?d:0),0<v?(h=Math.max(p.point.y,b),h<e&&("bubble"===q||"scatter"===q)&&(h=Math.max(p.point.y-n-d,c.y1+d))):(h=Math.min(p.point.y,b),h>l-n-d&&("bubble"===
|
|
305
|
+
q||"scatter"===q)&&(h=Math.min(p.point.y+d,c.y2-n-d))),h=Math.min(h,l))}else 0<=q.indexOf("line")||0<=q.indexOf("area")||0<=q.indexOf("scatter")?(z="auto",B=4):0<=q.indexOf("stacked")?"auto"===z&&(z="inside"):"bubble"===q&&(z="inside"),h=p.point.y+w/2-n/2+d,"inside"!==z?(e=c.x1,l=c.x2,0>v?(r=p.point.x-("horizontal"===y?I:I-w/2)-B-b,r<e&&(r="auto"===z?Math.max(p.point.x,e)+B:e+B,A=r+I>p.point.x)):(r=p.point.x+("horizontal"===y?0:w/2)+B+b,r>l-I-B-b&&(r="auto"===z?Math.min(p.point.x,l)-("horizontal"===
|
|
306
|
+
y?I:I/2)-B:l-I-B,A=r<p.point.x))):(e=Math.max(p.bounds.x1,c.x1),Math.min(p.bounds.x2,c.x2),b=0<=q.indexOf("range")||"error"===q?0>v?Math.max(p.bounds.x1,c.x1)+w/2+B:Math.min(p.bounds.x2,c.x2)-I/2-B+("horizontal"===y?0:w/2):(Math.max(p.bounds.x1,c.x1)+Math.min(p.bounds.x2,c.x2))/2+("horizontal"===y?0:w/2),r=0>v?Math.max(p.point.x,b)-("horizontal"===y?I/2:0):Math.min(p.point.x,b)-I/2,r=Math.max(r,e));"vertical"===y&&(h+=n-w/2);la.x=r;la.y=h;la.render(!0);k&&("inside"!==z&&(0>q.indexOf("bar")&&("error"!==
|
|
307
|
+
q||!p.axisSwapped)&&p.point.x>c.x1&&p.point.x<c.x2||!A)&&(0>q.indexOf("column")&&("error"!==q||p.axisSwapped)&&p.point.y>c.y1&&p.point.y<c.y2||!A))&&(g.lineWidth=k,g.strokeStyle=u?u:"gray",g.setLineDash&&g.setLineDash(X(Pa,k)),g.beginPath(),g.moveTo(p.point.x,p.point.y),0<=q.indexOf("bar")||"error"===q&&p.axisSwapped?g.lineTo(r+(0<p.direction?-B:I+B)+("vertical"===y?-w/2:0),h+("vertical"===y?-n/2:n/2-w/2)-d):0<=q.indexOf("column")||"error"===q&&!p.axisSwapped?g.lineTo(r+I/2-("horizontal"===y?0:w/
|
|
308
|
+
2),h+("vertical"===y?(h-n<p.point.y?0:-n)+d:(h-w/2<p.point.y?n:0)-w/2)):0<=q.indexOf("waterfall")?g.lineTo(r+I/2-("horizontal"===y?0:w/2),"vertical"===y?0<v&&h<p.point.y?h:0>v&&h-n>p.point.y?h-n:p.point.y:0<v&&h+n-w/2<p.point.y?h+n-w/2:0>v&&h-w/2>p.point.y?h-w/2-2:p.point.y):g.lineTo(r+I/2-("horizontal"===y?0:w/2),h+("vertical"===y?h-n<p.point.y?0:-n:(h+n<p.point.y?n:0)-w/2)),g.stroke())}}g={source:g,dest:this.plotArea.ctx,animationCallback:t.fadeInAnimation,easingFunction:t.easing.easeInQuad,animationBase:0,
|
|
309
|
+
startTimePercent:0.7};for(a=0;a<this._indexLabels.length;a++)p=this._indexLabels[a],la=ra("indexLabelBackgroundColor",p.dataPoint,p.dataSeries),p.dataSeries.indexLabelBackgroundColor=f(la)?s?"transparent":null:la;return g};m.prototype.renderLine=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=s?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=this._eventManager.ghostCtx;c.save();var e=this.plotArea;c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();for(var l=[],f,d=
|
|
310
310
|
0;d<a.dataSeriesIndexes.length;d++){var I=a.dataSeriesIndexes[d],n=this.data[I];c.lineWidth=n.lineThickness;var p=n.dataPoints,q="solid";if(c.setLineDash){var r=X(n.nullDataLineDashType,n.lineThickness),q=n.lineDashType,h=X(q,n.lineThickness);c.setLineDash(h)}var w=n.id;this._eventManager.objectMap[w]={objectType:"dataSeries",dataSeriesIndex:I};w=R(w);b.strokeStyle=w;b.lineWidth=0<n.lineThickness?Math.max(n.lineThickness,4):0;var w=n._colorSet,la=w=n.lineColor=n.options.lineColor?n.options.lineColor:
|
|
311
311
|
w[0];c.strokeStyle=w;var Pa=!0,u=0,k,x;c.beginPath();if(0<p.length){for(var y=!1,u=0;u<p.length;u++)if(k=p[u].x.getTime?p[u].x.getTime():p[u].x,!(k<a.axisX.dataInfo.viewPortMin||k>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!y)))if("number"!==typeof p[u].y)0<u&&!(n.connectNullData||y||Pa)&&(c.stroke(),s&&b.stroke()),y=!0;else{k=a.axisX.convertValueToPixel(k);x=a.axisY.convertValueToPixel(p[u].y);var m=n.dataPointIds[u];this._eventManager.objectMap[m]={id:m,objectType:"dataPoint",dataSeriesIndex:I,
|
|
312
312
|
dataPointIndex:u,x1:k,y1:x};Pa||y?(!Pa&&n.connectNullData?(c.setLineDash&&(n.options.nullDataLineDashType||q===n.lineDashType&&n.lineDashType!==n.nullDataLineDashType)&&(c.stroke(),c.beginPath(),c.moveTo(f.x,f.y),q=n.nullDataLineDashType,c.setLineDash(r)),c.lineTo(k,x),s&&b.lineTo(k,x)):(c.beginPath(),c.moveTo(k,x),s&&(b.beginPath(),b.moveTo(k,x))),y=Pa=!1):(c.lineTo(k,x),s&&b.lineTo(k,x),0==u%500&&(c.stroke(),c.beginPath(),c.moveTo(k,x),s&&(b.stroke(),b.beginPath(),b.moveTo(k,x))));f={x:k,y:x};u<
|
|
313
313
|
p.length-1&&(la!==(p[u].lineColor||w)||q!==(p[u].lineDashType||n.lineDashType))&&(c.stroke(),c.beginPath(),c.moveTo(k,x),la=p[u].lineColor||w,c.strokeStyle=la,c.setLineDash&&(p[u].lineDashType?(q=p[u].lineDashType,c.setLineDash(X(q,n.lineThickness))):(q=n.lineDashType,c.setLineDash(h))));if(0!==p[u].markerSize&&(0<p[u].markerSize||0<n.markerSize)){var F=n.getMarkerProperties(u,k,x,c);l.push(F);m=R(m);s&&l.push({x:k,y:x,ctx:b,type:F.type,size:F.size,color:m,borderColor:m,borderThickness:F.borderThickness})}(p[u].indexLabel||
|
|
314
|
-
n.indexLabel||p[u].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"line",dataPoint:p[u],dataSeries:n,point:{x:k,y:x},direction:0>p[u].y===a.axisY.reversed?1:-1,color:w})}c.stroke();s&&b.stroke()}}z.drawMarkers(l);s&&(
|
|
315
|
-
this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(
|
|
316
|
-
this.plotArea;c.beginPath();c.rect(
|
|
314
|
+
n.indexLabel||p[u].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"line",dataPoint:p[u],dataSeries:n,point:{x:k,y:x},direction:0>p[u].y===a.axisY.reversed?1:-1,color:w})}c.stroke();s&&b.stroke()}}z.drawMarkers(l);s&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),
|
|
315
|
+
this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),b.beginPath());c.restore();c.beginPath();return{source:g,dest:this.plotArea.ctx,animationCallback:t.xClipAnimation,easingFunction:t.easing.linear,animationBase:0}}};m.prototype.renderStepLine=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=s?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=this._eventManager.ghostCtx;c.save();var e=
|
|
316
|
+
this.plotArea;c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();for(var l=[],f,d=0;d<a.dataSeriesIndexes.length;d++){var I=a.dataSeriesIndexes[d],n=this.data[I];c.lineWidth=n.lineThickness;var p=n.dataPoints,q="solid";if(c.setLineDash){var r=X(n.nullDataLineDashType,n.lineThickness),q=n.lineDashType,h=X(q,n.lineThickness);c.setLineDash(h)}var w=n.id;this._eventManager.objectMap[w]={objectType:"dataSeries",dataSeriesIndex:I};w=R(w);b.strokeStyle=w;b.lineWidth=0<n.lineThickness?Math.max(n.lineThickness,
|
|
317
317
|
4):0;var w=n._colorSet,la=w=n.lineColor=n.options.lineColor?n.options.lineColor:w[0];c.strokeStyle=w;var k=!0,u=0,y,x;c.beginPath();if(0<p.length){for(var m=!1,u=0;u<p.length;u++)if(y=p[u].getTime?p[u].x.getTime():p[u].x,!(y<a.axisX.dataInfo.viewPortMin||y>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!m)))if("number"!==typeof p[u].y)0<u&&!(n.connectNullData||m||k)&&(c.stroke(),s&&b.stroke()),m=!0;else{var D=x;y=a.axisX.convertValueToPixel(y);x=a.axisY.convertValueToPixel(p[u].y);var F=n.dataPointIds[u];
|
|
318
318
|
this._eventManager.objectMap[F]={id:F,objectType:"dataPoint",dataSeriesIndex:I,dataPointIndex:u,x1:y,y1:x};k||m?(!k&&n.connectNullData?(c.setLineDash&&(n.options.nullDataLineDashType||q===n.lineDashType&&n.lineDashType!==n.nullDataLineDashType)&&(c.stroke(),c.beginPath(),c.moveTo(f.x,f.y),q=n.nullDataLineDashType,c.setLineDash(r)),c.lineTo(y,D),c.lineTo(y,x),s&&(b.lineTo(y,D),b.lineTo(y,x))):(c.beginPath(),c.moveTo(y,x),s&&(b.beginPath(),b.moveTo(y,x))),m=k=!1):(c.lineTo(y,D),s&&b.lineTo(y,D),c.lineTo(y,
|
|
319
319
|
x),s&&b.lineTo(y,x),0==u%500&&(c.stroke(),c.beginPath(),c.moveTo(y,x),s&&(b.stroke(),b.beginPath(),b.moveTo(y,x))));f={x:y,y:x};u<p.length-1&&(la!==(p[u].lineColor||w)||q!==(p[u].lineDashType||n.lineDashType))&&(c.stroke(),c.beginPath(),c.moveTo(y,x),la=p[u].lineColor||w,c.strokeStyle=la,c.setLineDash&&(p[u].lineDashType?(q=p[u].lineDashType,c.setLineDash(X(q,n.lineThickness))):(q=n.lineDashType,c.setLineDash(h))));0!==p[u].markerSize&&(0<p[u].markerSize||0<n.markerSize)&&(D=n.getMarkerProperties(u,
|
|
320
|
-
y,x,c),l.push(D),F=R(F),s&&l.push({x:y,y:x,ctx:b,type:D.type,size:D.size,color:F,borderColor:F,borderThickness:D.borderThickness}));(p[u].indexLabel||n.indexLabel||p[u].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"stepLine",dataPoint:p[u],dataSeries:n,point:{x:y,y:x},direction:0>p[u].y===a.axisY.reversed?1:-1,color:w})}c.stroke();s&&b.stroke()}}z.drawMarkers(l);s&&(
|
|
321
|
-
a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(
|
|
322
|
-
G(a,2);if(0<a.length){b.beginPath();s&&
|
|
323
|
-
a[c+3].y),a[c+3].newStrokeStyle&&(b.strokeStyle=a[c+3].newStrokeStyle),a[c+3].newLineDashArray&&b.setLineDash(a[c+3].newLineDashArray),s&&(
|
|
324
|
-
a.dataSeriesIndexes[d],n=this.data[I];b.lineWidth=n.lineThickness;var p=n.dataPoints,q="solid";if(b.setLineDash){var r=X(n.nullDataLineDashType,n.lineThickness),q=n.lineDashType,h=X(q,n.lineThickness);b.setLineDash(h)}var w=n.id;this._eventManager.objectMap[w]={objectType:"dataSeries",dataSeriesIndex:I};w=R(w);
|
|
325
|
-
b.beginPath();if(0<p.length)for(y=!1,k=0;k<p.length;k++)if(u=p[k].getTime?p[k].x.getTime():p[k].x,!(u<a.axisX.dataInfo.viewPortMin||u>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!y)))if("number"!==typeof p[k].y)0<k&&!y&&(n.connectNullData?b.setLineDash&&(0<x.length&&(n.options.nullDataLineDashType||!p[k-1].lineDashType))&&(x[x.length-1].newLineDashArray=r,q=n.nullDataLineDashType):(
|
|
320
|
+
y,x,c),l.push(D),F=R(F),s&&l.push({x:y,y:x,ctx:b,type:D.type,size:D.size,color:F,borderColor:F,borderThickness:D.borderThickness}));(p[u].indexLabel||n.indexLabel||p[u].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"stepLine",dataPoint:p[u],dataSeries:n,point:{x:y,y:x},direction:0>p[u].y===a.axisY.reversed?1:-1,color:w})}c.stroke();s&&b.stroke()}}z.drawMarkers(l);s&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",
|
|
321
|
+
a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),b.beginPath());c.restore();c.beginPath();return{source:g,dest:this.plotArea.ctx,animationCallback:t.xClipAnimation,easingFunction:t.easing.linear,animationBase:0}}};m.prototype.renderSpline=function(a){function g(a){a=
|
|
322
|
+
G(a,2);if(0<a.length){b.beginPath();s&&e.beginPath();b.moveTo(a[0].x,a[0].y);a[0].newStrokeStyle&&(b.strokeStyle=a[0].newStrokeStyle);a[0].newLineDashArray&&b.setLineDash(a[0].newLineDashArray);s&&e.moveTo(a[0].x,a[0].y);for(var c=0;c<a.length-3;c+=3)if(b.bezierCurveTo(a[c+1].x,a[c+1].y,a[c+2].x,a[c+2].y,a[c+3].x,a[c+3].y),s&&e.bezierCurveTo(a[c+1].x,a[c+1].y,a[c+2].x,a[c+2].y,a[c+3].x,a[c+3].y),0<c&&0===c%3E3||a[c+3].newStrokeStyle||a[c+3].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(a[c+3].x,
|
|
323
|
+
a[c+3].y),a[c+3].newStrokeStyle&&(b.strokeStyle=a[c+3].newStrokeStyle),a[c+3].newLineDashArray&&b.setLineDash(a[c+3].newLineDashArray),s&&(e.stroke(),e.beginPath(),e.moveTo(a[c+3].x,a[c+3].y));b.stroke();s&&e.stroke()}}var c=a.targetCanvasCtx||this.plotArea.ctx,b=s?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx;b.save();var l=this.plotArea;b.beginPath();b.rect(l.x1,l.y1,l.width,l.height);b.clip();for(var f=[],d=0;d<a.dataSeriesIndexes.length;d++){var I=
|
|
324
|
+
a.dataSeriesIndexes[d],n=this.data[I];b.lineWidth=n.lineThickness;var p=n.dataPoints,q="solid";if(b.setLineDash){var r=X(n.nullDataLineDashType,n.lineThickness),q=n.lineDashType,h=X(q,n.lineThickness);b.setLineDash(h)}var w=n.id;this._eventManager.objectMap[w]={objectType:"dataSeries",dataSeriesIndex:I};w=R(w);e.strokeStyle=w;e.lineWidth=0<n.lineThickness?Math.max(n.lineThickness,4):0;var w=n._colorSet,la=w=n.lineColor=n.options.lineColor?n.options.lineColor:w[0];b.strokeStyle=w;var k=0,u,y,x=[];
|
|
325
|
+
b.beginPath();if(0<p.length)for(y=!1,k=0;k<p.length;k++)if(u=p[k].getTime?p[k].x.getTime():p[k].x,!(u<a.axisX.dataInfo.viewPortMin||u>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!y)))if("number"!==typeof p[k].y)0<k&&!y&&(n.connectNullData?b.setLineDash&&(0<x.length&&(n.options.nullDataLineDashType||!p[k-1].lineDashType))&&(x[x.length-1].newLineDashArray=r,q=n.nullDataLineDashType):(g(x),x=[])),y=!0;else{u=a.axisX.convertValueToPixel(u);y=a.axisY.convertValueToPixel(p[k].y);var m=n.dataPointIds[k];
|
|
326
326
|
this._eventManager.objectMap[m]={id:m,objectType:"dataPoint",dataSeriesIndex:I,dataPointIndex:k,x1:u,y1:y};x[x.length]={x:u,y:y};k<p.length-1&&(la!==(p[k].lineColor||w)||q!==(p[k].lineDashType||n.lineDashType))&&(la=p[k].lineColor||w,x[x.length-1].newStrokeStyle=la,b.setLineDash&&(p[k].lineDashType?(q=p[k].lineDashType,x[x.length-1].newLineDashArray=X(q,n.lineThickness)):(q=n.lineDashType,x[x.length-1].newLineDashArray=h)));if(0!==p[k].markerSize&&(0<p[k].markerSize||0<n.markerSize)){var D=n.getMarkerProperties(k,
|
|
327
|
-
u,y,b);f.push(D);m=R(m);s&&f.push({x:u,y:y,ctx:
|
|
328
|
-
b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(l.x1,l.y1,l.width,l.height),
|
|
329
|
-
this.plotArea.ctx,c=s?this._preRenderCtx:
|
|
330
|
-
isFinite(q)||(q=0.3*Math.abs(a.axisX.range));q=this.dataPointWidth=this.options.dataPointWidth?this.dataPointWidth:0.9*(
|
|
331
|
-
(q=p);c.save();s&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(
|
|
327
|
+
u,y,b);f.push(D);m=R(m);s&&f.push({x:u,y:y,ctx:e,type:D.type,size:D.size,color:m,borderColor:m,borderThickness:D.borderThickness})}(p[k].indexLabel||n.indexLabel||p[k].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"spline",dataPoint:p[k],dataSeries:n,point:{x:u,y:y},direction:0>p[k].y===a.axisY.reversed?1:-1,color:w});y=!1}g(x)}z.drawMarkers(f);s&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&
|
|
328
|
+
b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(l.x1,l.y1,l.width,l.height),e.beginPath());b.restore();b.beginPath();return{source:c,dest:this.plotArea.ctx,animationCallback:t.xClipAnimation,easingFunction:t.easing.linear,animationBase:0}}};m.prototype.renderColumn=function(a){var g=a.targetCanvasCtx||
|
|
329
|
+
this.plotArea.ctx,c=s?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,l=0,f,d,I,n=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),l=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,p=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.width,0.9*(this.plotArea.width/a.plotType.totalDataSeries))<<0,q=a.axisX.dataInfo.minDiff;
|
|
330
|
+
isFinite(q)||(q=0.3*Math.abs(a.axisX.range));q=this.dataPointWidth=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(q)/Math.log(a.axisX.range):Math.abs(q)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&l>p&&(l=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,p));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&p<l)&&(p=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,l));q<l&&(q=l);q>p&&
|
|
331
|
+
(q=p);c.save();s&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();s&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(p=0;p<a.dataSeriesIndexes.length;p++){var r=a.dataSeriesIndexes[p],h=this.data[r],w=h.dataPoints;if(0<w.length)for(var k=5<q&&h.bevelEnabled?!0:!1,l=0;l<w.length;l++)if(w[l].getTime?I=w[l].x.getTime():I=w[l].x,!(I<a.axisX.dataInfo.viewPortMin||I>
|
|
332
332
|
a.axisX.dataInfo.viewPortMax)&&"number"===typeof w[l].y){f=a.axisX.convertValueToPixel(I);d=a.axisY.convertValueToPixel(w[l].y);f=a.axisX.reversed?f+a.plotType.totalDataSeries*q/2-(a.previousDataSeriesCount+p)*q<<0:f-a.plotType.totalDataSeries*q/2+(a.previousDataSeriesCount+p)*q<<0;var z=a.axisX.reversed?f-q<<0:f+q<<0,u;0<=w[l].y?u=n:(u=d,d=n);d>u&&(b=d,d=u,u=b);b=w[l].color?w[l].color:h._colorSet[l%h._colorSet.length];ca(c,a.axisX.reversed?z:f,d,a.axisX.reversed?f:z,u,b,0,null,k&&(a.axisY.reversed?
|
|
333
333
|
0>w[l].y:0<=w[l].y),(a.axisY.reversed?0<=w[l].y:0>w[l].y)&&k,!1,!1,h.fillOpacity);b=h.dataPointIds[l];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:r,dataPointIndex:l,x1:f,y1:d,x2:z,y2:u};b=R(b);s&&ca(this._eventManager.ghostCtx,a.axisX.reversed?z:f,d,a.axisX.reversed?f:z,u,b,0,null,!1,!1,!1,!1);(w[l].indexLabel||h.indexLabel||w[l].indexLabelFormatter||h.indexLabelFormatter)&&this._indexLabels.push({chartType:"column",dataPoint:w[l],dataSeries:h,point:{x:f+(z-f)/2,y:0>
|
|
334
|
-
w[l].y===a.axisY.reversed?d:u},direction:0>w[l].y===a.axisY.reversed?1:-1,bounds:{x1:f,y1:Math.min(d,u),x2:z,y2:Math.max(d,u)},color:b})}}s&&(
|
|
335
|
-
c.clearRect(
|
|
336
|
-
r=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,h=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.width<<0,w=a.axisX.dataInfo.minDiff;isFinite(w)||(w=0.3*Math.abs(a.axisX.range));w=this.options.dataPointWidth?this.dataPointWidth:0.9*(
|
|
337
|
-
Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&n>h&&(n=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,h));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&h<n)&&(h=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,n));w<n&&(w=n);w>h&&(w=h);c.save();s&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(
|
|
338
|
-
|
|
334
|
+
w[l].y===a.axisY.reversed?d:u},direction:0>w[l].y===a.axisY.reversed?1:-1,bounds:{x1:f,y1:Math.min(d,u),x2:z,y2:Math.max(d,u)},color:b})}}s&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),
|
|
335
|
+
c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:t.yScaleAnimation,easingFunction:t.easing.easeOutQuart,animationBase:n<a.axisY.bounds.y1?a.axisY.bounds.y1:n>a.axisY.bounds.y2?a.axisY.bounds.y2:n}}};m.prototype.renderStackedColumn=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=s?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,l=[],f=[],d=[],I=[],n=0,p,q,
|
|
336
|
+
r=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,h=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.width<<0,w=a.axisX.dataInfo.minDiff;isFinite(w)||(w=0.3*Math.abs(a.axisX.range));w=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(w)/Math.log(a.axisX.range):Math.abs(w)/
|
|
337
|
+
Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&n>h&&(n=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,h));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&h<n)&&(h=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,n));w<n&&(w=n);w>h&&(w=h);c.save();s&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();s&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,
|
|
338
|
+
e.width,e.height),this._eventManager.ghostCtx.clip());for(h=0;h<a.dataSeriesIndexes.length;h++){var k=a.dataSeriesIndexes[h],z=this.data[k],u=z.dataPoints;if(0<u.length){var y=5<w&&z.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(n=0;n<u.length;n++)if(b=u[n].x.getTime?u[n].x.getTime():u[n].x,!(b<a.axisX.dataInfo.viewPortMin||b>a.axisX.dataInfo.viewPortMax)&&"number"===typeof u[n].y){p=a.axisX.convertValueToPixel(b);p=p-a.plotType.plotUnits.length*w/2+a.index*w<<0;var x=p+w<<0,m;if(a.axisY.logarithmic||
|
|
339
339
|
a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<u[n].y)d[b]=u[n].y+(d[b]?d[b]:0),0<d[b]&&(q=a.axisY.convertValueToPixel(d[b]),m="undefined"!==typeof l[b]?l[b]:r,l[b]=q);else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=u[n].y)I[b]=u[n].y+(I[b]?I[b]:0),m=a.axisY.convertValueToPixel(I[b]),q="undefined"!==typeof f[b]?f[b]:r,f[b]=m;else if(q=a.axisY.convertValueToPixel(u[n].y),0<=u[n].y){var D="undefined"!==typeof l[b]?l[b]:0;q-=D;m=r-D;l[b]=D+(m-q)}else D=
|
|
340
340
|
f[b]?f[b]:0,m=q+D,q=r+D,f[b]=D+(m-q);b=u[n].color?u[n].color:z._colorSet[n%z._colorSet.length];ca(c,p,a.axisY.reversed?m:q,x,a.axisY.reversed?q:m,b,0,null,y&&(a.axisY.reversed?0>u[n].y:0<=u[n].y),(a.axisY.reversed?0<=u[n].y:0>u[n].y)&&y,!1,!1,z.fillOpacity);b=z.dataPointIds[n];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:k,dataPointIndex:n,x1:p,y1:q,x2:x,y2:m};b=R(b);s&&ca(this._eventManager.ghostCtx,p,q,x,m,b,0,null,!1,!1,!1,!1);(u[n].indexLabel||z.indexLabel||u[n].indexLabelFormatter||
|
|
341
|
-
z.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedColumn",dataPoint:u[n],dataSeries:z,point:{x:p+(x-p)/2,y:0<=u[n].y?q:m},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:p,y1:Math.min(q,m),x2:x,y2:Math.max(q,m)},color:b})}}}s&&(
|
|
342
|
-
this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(
|
|
343
|
-
|
|
344
|
-
this.dataPointWidth:0.9*(
|
|
345
|
-
c.clip();s&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(
|
|
341
|
+
z.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedColumn",dataPoint:u[n],dataSeries:z,point:{x:p+(x-p)/2,y:0<=u[n].y?q:m},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:p,y1:Math.min(q,m),x2:x,y2:Math.max(q,m)},color:b})}}}s&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),
|
|
342
|
+
this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:t.yScaleAnimation,easingFunction:t.easing.easeOutQuart,animationBase:r<a.axisY.bounds.y1?a.axisY.bounds.y1:r>a.axisY.bounds.y2?a.axisY.bounds.y2:r}}};m.prototype.renderStackedColumn100=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=s?this._preRenderCtx:
|
|
343
|
+
g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,l=[],f=[],d=[],I=[],n=0,p,q,r=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,h=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.width<<0,w=a.axisX.dataInfo.minDiff;isFinite(w)||(w=0.3*Math.abs(a.axisX.range));w=this.options.dataPointWidth?
|
|
344
|
+
this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(w)/Math.log(a.axisX.range):Math.abs(w)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&n>h&&(n=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,h));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&h<n)&&(h=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,n));w<n&&(w=n);w>h&&(w=h);c.save();s&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);
|
|
345
|
+
c.clip();s&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(h=0;h<a.dataSeriesIndexes.length;h++){var k=a.dataSeriesIndexes[h],z=this.data[k],u=z.dataPoints;if(0<u.length)for(var y=5<w&&z.bevelEnabled?!0:!1,n=0;n<u.length;n++)if(b=u[n].x.getTime?u[n].x.getTime():u[n].x,!(b<a.axisX.dataInfo.viewPortMin||b>a.axisX.dataInfo.viewPortMax)&&"number"===typeof u[n].y){p=a.axisX.convertValueToPixel(b);q=0!==a.dataPointYSums[b]?
|
|
346
346
|
100*(u[n].y/a.dataPointYSums[b]):0;p=p-a.plotType.plotUnits.length*w/2+a.index*w<<0;var x=p+w<<0,m;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<u[n].y){d[b]=q+("undefined"!==typeof d[b]?d[b]:0);if(0>=d[b])continue;q=a.axisY.convertValueToPixel(d[b]);m=l[b]?l[b]:r;l[b]=q}else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=u[n].y)I[b]=q+("undefined"!==typeof I[b]?I[b]:0),m=a.axisY.convertValueToPixel(I[b]),q=f[b]?f[b]:r,f[b]=m;
|
|
347
|
-
else if(q=a.axisY.convertValueToPixel(q),0<=u[n].y){var D="undefined"!==typeof l[b]?l[b]:0;q-=D;m=r-D;a.dataSeriesIndexes.length-1===h&&1>=Math.abs(
|
|
347
|
+
else if(q=a.axisY.convertValueToPixel(q),0<=u[n].y){var D="undefined"!==typeof l[b]?l[b]:0;q-=D;m=r-D;a.dataSeriesIndexes.length-1===h&&1>=Math.abs(e.y1-q)&&(q=e.y1);l[b]=D+(m-q)}else D="undefined"!==typeof f[b]?f[b]:0,m=q+D,q=r+D,a.dataSeriesIndexes.length-1===h&&1>=Math.abs(e.y2-m)&&(m=e.y2),f[b]=D+(m-q);b=u[n].color?u[n].color:z._colorSet[n%z._colorSet.length];ca(c,p,a.axisY.reversed?m:q,x,a.axisY.reversed?q:m,b,0,null,y&&(a.axisY.reversed?0>u[n].y:0<=u[n].y),(a.axisY.reversed?0<=u[n].y:0>u[n].y)&&
|
|
348
348
|
y,!1,!1,z.fillOpacity);b=z.dataPointIds[n];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:k,dataPointIndex:n,x1:p,y1:q,x2:x,y2:m};b=R(b);s&&ca(this._eventManager.ghostCtx,p,q,x,m,b,0,null,!1,!1,!1,!1);(u[n].indexLabel||z.indexLabel||u[n].indexLabelFormatter||z.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedColumn100",dataPoint:u[n],dataSeries:z,point:{x:p+(x-p)/2,y:0<=u[n].y?q:m},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:p,y1:Math.min(q,m),
|
|
349
|
-
x2:x,y2:Math.max(q,m)},color:b})}}s&&(
|
|
350
|
-
dest:this.plotArea.ctx,animationCallback:t.yScaleAnimation,easingFunction:t.easing.easeOutQuart,animationBase:r<a.axisY.bounds.y1?a.axisY.bounds.y1:r>a.axisY.bounds.y2?a.axisY.bounds.y2:r}}};m.prototype.renderBar=function(a){var
|
|
351
|
-
this.dataPointWidth:1,p=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.height,0.9*(this.plotArea.height/a.plotType.totalDataSeries))<<0,q=a.axisX.dataInfo.minDiff;isFinite(q)||(q=0.3*Math.abs(a.axisX.range));q=this.options.dataPointWidth?this.dataPointWidth:0.9*(
|
|
352
|
-
Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,p));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&p<l)&&(p=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,l));q<l&&(q=l);q>p&&(q=p);c.save();s&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(
|
|
349
|
+
x2:x,y2:Math.max(q,m)},color:b})}}s&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,
|
|
350
|
+
dest:this.plotArea.ctx,animationCallback:t.yScaleAnimation,easingFunction:t.easing.easeOutQuart,animationBase:r<a.axisY.bounds.y1?a.axisY.bounds.y1:r>a.axisY.bounds.y2?a.axisY.bounds.y2:r}}};m.prototype.renderBar=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=s?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,l=0,f,d,I,n=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),l=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?
|
|
351
|
+
this.dataPointWidth:1,p=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.height,0.9*(this.plotArea.height/a.plotType.totalDataSeries))<<0,q=a.axisX.dataInfo.minDiff;isFinite(q)||(q=0.3*Math.abs(a.axisX.range));q=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(q)/Math.log(a.axisX.range):Math.abs(q)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&l>p&&(l=
|
|
352
|
+
Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,p));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&p<l)&&(p=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,l));q<l&&(q=l);q>p&&(q=p);c.save();s&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();s&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(p=0;p<a.dataSeriesIndexes.length;p++){var r=
|
|
353
353
|
a.dataSeriesIndexes[p],h=this.data[r],w=h.dataPoints;if(0<w.length){var k=5<q&&h.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(l=0;l<w.length;l++)if(w[l].getTime?I=w[l].x.getTime():I=w[l].x,!(I<a.axisX.dataInfo.viewPortMin||I>a.axisX.dataInfo.viewPortMax)&&"number"===typeof w[l].y){d=a.axisX.convertValueToPixel(I);f=a.axisY.convertValueToPixel(w[l].y);d=a.axisX.reversed?d+a.plotType.totalDataSeries*q/2-(a.previousDataSeriesCount+p)*q<<0:d-a.plotType.totalDataSeries*q/2+(a.previousDataSeriesCount+
|
|
354
354
|
p)*q<<0;var z=a.axisX.reversed?d-q<<0:d+q<<0,u;0<=w[l].y?u=n:(u=f,f=n);b=w[l].color?w[l].color:h._colorSet[l%h._colorSet.length];ca(c,a.axisY.reversed?f:u,a.axisX.reversed?z:d,a.axisY.reversed?u:f,a.axisX.reversed?d:z,b,0,null,k,!1,!1,!1,h.fillOpacity);b=h.dataPointIds[l];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:r,dataPointIndex:l,x1:u,y1:d,x2:f,y2:z};b=R(b);s&&ca(this._eventManager.ghostCtx,u,a.axisX.reversed?z:d,f,a.axisX.reversed?d:z,b,0,null,!1,!1,!1,!1);(w[l].indexLabel||
|
|
355
|
-
h.indexLabel||w[l].indexLabelFormatter||h.indexLabelFormatter)&&this._indexLabels.push({chartType:"bar",dataPoint:w[l],dataSeries:h,point:{x:0<=w[l].y?f:u,y:d+(z-d)/2},direction:0>w[l].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(u,f),y1:d,x2:Math.max(u,f),y2:z},color:b})}}}s&&(
|
|
356
|
-
0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(
|
|
357
|
-
c=s?this._preRenderCtx:
|
|
358
|
-
this.dataPointWidth:0.9*(
|
|
359
|
-
c.clip();s&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(
|
|
355
|
+
h.indexLabel||w[l].indexLabelFormatter||h.indexLabelFormatter)&&this._indexLabels.push({chartType:"bar",dataPoint:w[l],dataSeries:h,point:{x:0<=w[l].y?f:u,y:d+(z-d)/2},direction:0>w[l].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(u,f),y1:d,x2:Math.max(u,f),y2:z},color:b})}}}s&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,
|
|
356
|
+
0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:t.xScaleAnimation,easingFunction:t.easing.easeOutQuart,animationBase:n<a.axisY.bounds.x1?a.axisY.bounds.x1:n>a.axisY.bounds.x2?a.axisY.bounds.x2:n}}};m.prototype.renderStackedBar=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,
|
|
357
|
+
c=s?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,l=[],f=[],d=[],I=[],n=0,p,q,r=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,h=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.height<<0,w=a.axisX.dataInfo.minDiff;isFinite(w)||(w=0.3*Math.abs(a.axisX.range));w=this.options.dataPointWidth?
|
|
358
|
+
this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(w)/Math.log(a.axisX.range):Math.abs(w)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&n>h&&(n=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,h));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&h<n)&&(h=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,n));w<n&&(w=n);w>h&&(w=h);c.save();s&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);
|
|
359
|
+
c.clip();s&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(h=0;h<a.dataSeriesIndexes.length;h++){var k=a.dataSeriesIndexes[h],z=this.data[k],u=z.dataPoints;if(0<u.length){var y=5<w&&z.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(n=0;n<u.length;n++)if(b=u[n].x.getTime?u[n].x.getTime():u[n].x,!(b<a.axisX.dataInfo.viewPortMin||b>a.axisX.dataInfo.viewPortMax)&&"number"===typeof u[n].y){q=a.axisX.convertValueToPixel(b);
|
|
360
360
|
q=q-a.plotType.plotUnits.length*w/2+a.index*w<<0;var x=q+w<<0,m;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<u[n].y)d[b]=u[n].y+(d[b]?d[b]:0),0<d[b]&&(m=l[b]?l[b]:r,l[b]=p=a.axisY.convertValueToPixel(d[b]));else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=u[n].y)I[b]=u[n].y+(I[b]?I[b]:0),p=f[b]?f[b]:r,f[b]=m=a.axisY.convertValueToPixel(I[b]);else if(p=a.axisY.convertValueToPixel(u[n].y),0<=u[n].y){var D=l[b]?l[b]:0;m=r+D;p+=
|
|
361
361
|
D;l[b]=D+(p-m)}else D=f[b]?f[b]:0,m=p-D,p=r-D,f[b]=D+(p-m);b=u[n].color?u[n].color:z._colorSet[n%z._colorSet.length];ca(c,a.axisY.reversed?p:m,q,a.axisY.reversed?m:p,x,b,0,null,y,!1,!1,!1,z.fillOpacity);b=z.dataPointIds[n];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:k,dataPointIndex:n,x1:m,y1:q,x2:p,y2:x};b=R(b);s&&ca(this._eventManager.ghostCtx,m,q,p,x,b,0,null,!1,!1,!1,!1);(u[n].indexLabel||z.indexLabel||u[n].indexLabelFormatter||z.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedBar",
|
|
362
|
-
dataPoint:u[n],dataSeries:z,point:{x:0<=u[n].y?p:m,y:q+(x-q)/2},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(m,p),y1:q,x2:Math.max(m,p),y2:x},color:b})}}}s&&(
|
|
363
|
-
0,0,this.width,this.height),c.clearRect(
|
|
364
|
-
l=[],f=[],d=[],I=[],n=0,p,q,r=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,h=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.height<<0,w=a.axisX.dataInfo.minDiff;isFinite(w)||(w=0.3*Math.abs(a.axisX.range));w=this.options.dataPointWidth?this.dataPointWidth:0.9*(
|
|
365
|
-
Math.log(a.axisX.range):Math.abs(w)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&n>h&&(n=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,h));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&h<n)&&(h=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,n));w<n&&(w=n);w>h&&(w=h);c.save();s&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(
|
|
366
|
-
|
|
362
|
+
dataPoint:u[n],dataSeries:z,point:{x:0<=u[n].y?p:m,y:q+(x-q)/2},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(m,p),y1:q,x2:Math.max(m,p),y2:x},color:b})}}}s&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,
|
|
363
|
+
0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:t.xScaleAnimation,easingFunction:t.easing.easeOutQuart,animationBase:r<a.axisY.bounds.x1?a.axisY.bounds.x1:r>a.axisY.bounds.x2?a.axisY.bounds.x2:r}}};m.prototype.renderStackedBar100=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=s?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,
|
|
364
|
+
l=[],f=[],d=[],I=[],n=0,p,q,r=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,h=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.height<<0,w=a.axisX.dataInfo.minDiff;isFinite(w)||(w=0.3*Math.abs(a.axisX.range));w=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(w)/
|
|
365
|
+
Math.log(a.axisX.range):Math.abs(w)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&n>h&&(n=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,h));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&h<n)&&(h=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,n));w<n&&(w=n);w>h&&(w=h);c.save();s&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();s&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,
|
|
366
|
+
e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(h=0;h<a.dataSeriesIndexes.length;h++){var k=a.dataSeriesIndexes[h],z=this.data[k],u=z.dataPoints;if(0<u.length){var y=5<w&&z.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(n=0;n<u.length;n++)if(b=u[n].x.getTime?u[n].x.getTime():u[n].x,!(b<a.axisX.dataInfo.viewPortMin||b>a.axisX.dataInfo.viewPortMax)&&"number"===typeof u[n].y){q=a.axisX.convertValueToPixel(b);var x;x=0!==a.dataPointYSums[b]?100*(u[n].y/a.dataPointYSums[b]):0;q=q-a.plotType.plotUnits.length*
|
|
367
367
|
w/2+a.index*w<<0;var m=q+w<<0;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<u[n].y){d[b]=x+(d[b]?d[b]:0);if(0>=d[b])continue;x=l[b]?l[b]:r;l[b]=p=a.axisY.convertValueToPixel(d[b])}else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=u[n].y)I[b]=x+(I[b]?I[b]:0),p=f[b]?f[b]:r,f[b]=x=a.axisY.convertValueToPixel(I[b]);else if(p=a.axisY.convertValueToPixel(x),0<=u[n].y){var D=l[b]?l[b]:0;x=r+D;p+=D;a.dataSeriesIndexes.length-1===h&&
|
|
368
|
-
1>=Math.abs(
|
|
369
|
-
(u[n].indexLabel||z.indexLabel||u[n].indexLabelFormatter||z.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedBar100",dataPoint:u[n],dataSeries:z,point:{x:0<=u[n].y?p:x,y:q+(m-q)/2},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(x,p),y1:q,x2:Math.max(x,p),y2:m},color:b})}}}s&&(
|
|
370
|
-
c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(
|
|
371
|
-
c;function b(){D&&(0<h.lineThickness&&l.stroke(),a.axisY.logarithmic||0>=a.axisY.viewportMinimum&&0<=a.axisY.viewportMaximum?na=x:0>a.axisY.viewportMaximum?na=d.y1:0<a.axisY.viewportMinimum&&(na=x),l.lineTo(y,na),l.lineTo(D.x,na),l.closePath(),l.globalAlpha=h.fillOpacity,l.fill(),l.globalAlpha=1,s&&(f.lineTo(y,na),f.lineTo(D.x,na),f.closePath(),f.fill()),l.beginPath(),l.moveTo(y,u),f.beginPath(),f.moveTo(y,u),D={x:y,y:u})}var
|
|
372
|
-
a.dataSeriesIndexes.length)){var f=this._eventManager.ghostCtx,d=a.axisY.lineCoordinates,I=[],n=this.plotArea,p;l.save();s&&f.save();l.beginPath();l.rect(n.x1,n.y1,n.width,n.height);l.clip();s&&(f.beginPath(),f.rect(n.x1,n.y1,n.width,n.height),f.clip());for(var q=0;q<a.dataSeriesIndexes.length;q++){var r=a.dataSeriesIndexes[q],h=this.data[r],w=h.dataPoints,I=h.id;this._eventManager.objectMap[I]={objectType:"dataSeries",dataSeriesIndex:r};I=R(I);f.fillStyle=I;I=[];
|
|
368
|
+
1>=Math.abs(e.x2-p)&&(p=e.x2);l[b]=D+(p-x)}else D=f[b]?f[b]:0,x=p-D,p=r-D,a.dataSeriesIndexes.length-1===h&&1>=Math.abs(e.x1-x)&&(x=e.x1),f[b]=D+(p-x);b=u[n].color?u[n].color:z._colorSet[n%z._colorSet.length];ca(c,a.axisY.reversed?p:x,q,a.axisY.reversed?x:p,m,b,0,null,y,!1,!1,!1,z.fillOpacity);b=z.dataPointIds[n];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:k,dataPointIndex:n,x1:x,y1:q,x2:p,y2:m};b=R(b);s&&ca(this._eventManager.ghostCtx,x,q,p,m,b,0,null,!1,!1,!1,!1);
|
|
369
|
+
(u[n].indexLabel||z.indexLabel||u[n].indexLabelFormatter||z.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedBar100",dataPoint:u[n],dataSeries:z,point:{x:0<=u[n].y?p:x,y:q+(m-q)/2},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(x,p),y1:q,x2:Math.max(x,p),y2:m},color:b})}}}s&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&
|
|
370
|
+
c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:t.xScaleAnimation,easingFunction:t.easing.easeOutQuart,animationBase:r<a.axisY.bounds.x1?a.axisY.bounds.x1:r>a.axisY.bounds.x2?a.axisY.bounds.x2:r}}};m.prototype.renderArea=function(a){var g,
|
|
371
|
+
c;function b(){D&&(0<h.lineThickness&&l.stroke(),a.axisY.logarithmic||0>=a.axisY.viewportMinimum&&0<=a.axisY.viewportMaximum?na=x:0>a.axisY.viewportMaximum?na=d.y1:0<a.axisY.viewportMinimum&&(na=x),l.lineTo(y,na),l.lineTo(D.x,na),l.closePath(),l.globalAlpha=h.fillOpacity,l.fill(),l.globalAlpha=1,s&&(f.lineTo(y,na),f.lineTo(D.x,na),f.closePath(),f.fill()),l.beginPath(),l.moveTo(y,u),f.beginPath(),f.moveTo(y,u),D={x:y,y:u})}var e=a.targetCanvasCtx||this.plotArea.ctx,l=s?this._preRenderCtx:e;if(!(0>=
|
|
372
|
+
a.dataSeriesIndexes.length)){var f=this._eventManager.ghostCtx,d=a.axisY.lineCoordinates,I=[],n=this.plotArea,p;l.save();s&&f.save();l.beginPath();l.rect(n.x1,n.y1,n.width,n.height);l.clip();s&&(f.beginPath(),f.rect(n.x1,n.y1,n.width,n.height),f.clip());for(var q=0;q<a.dataSeriesIndexes.length;q++){var r=a.dataSeriesIndexes[q],h=this.data[r],w=h.dataPoints,I=h.id;this._eventManager.objectMap[I]={objectType:"dataSeries",dataSeriesIndex:r};I=R(I);f.fillStyle=I;I=[];g=!0;var k=0,y,u,m,x=a.axisY.convertValueToPixel(a.axisY.logarithmic?
|
|
373
373
|
a.axisY.viewportMinimum:0),na,D=null;if(0<w.length){var F=h._colorSet[k%h._colorSet.length],v=h.lineColor=h.options.lineColor||F,A=v;l.fillStyle=F;l.strokeStyle=v;l.lineWidth=h.lineThickness;c="solid";if(l.setLineDash){var Z=X(h.nullDataLineDashType,h.lineThickness);c=h.lineDashType;var W=X(c,h.lineThickness);l.setLineDash(W)}for(var fa=!0;k<w.length;k++)if(m=w[k].x.getTime?w[k].x.getTime():w[k].x,!(m<a.axisX.dataInfo.viewPortMin||m>a.axisX.dataInfo.viewPortMax&&(!h.connectNullData||!fa)))if("number"!==
|
|
374
|
-
typeof w[k].y)h.connectNullData||(fa||
|
|
374
|
+
typeof w[k].y)h.connectNullData||(fa||g)||b(),fa=!0;else{y=a.axisX.convertValueToPixel(m);u=a.axisY.convertValueToPixel(w[k].y);g||fa?(!g&&h.connectNullData?(l.setLineDash&&(h.options.nullDataLineDashType||c===h.lineDashType&&h.lineDashType!==h.nullDataLineDashType)&&(g=y,c=u,y=p.x,u=p.y,b(),l.moveTo(p.x,p.y),y=g,u=c,D=p,c=h.nullDataLineDashType,l.setLineDash(Z)),l.lineTo(y,u),s&&f.lineTo(y,u)):(l.beginPath(),l.moveTo(y,u),s&&(f.beginPath(),f.moveTo(y,u)),D={x:y,y:u}),fa=g=!1):(l.lineTo(y,u),s&&f.lineTo(y,
|
|
375
375
|
u),0==k%250&&b());p={x:y,y:u};k<w.length-1&&(A!==(w[k].lineColor||v)||c!==(w[k].lineDashType||h.lineDashType))&&(b(),A=w[k].lineColor||v,l.strokeStyle=A,l.setLineDash&&(w[k].lineDashType?(c=w[k].lineDashType,l.setLineDash(X(c,h.lineThickness))):(c=h.lineDashType,l.setLineDash(W))));var da=h.dataPointIds[k];this._eventManager.objectMap[da]={id:da,objectType:"dataPoint",dataSeriesIndex:r,dataPointIndex:k,x1:y,y1:u};0!==w[k].markerSize&&(0<w[k].markerSize||0<h.markerSize)&&(m=h.getMarkerProperties(k,
|
|
376
|
-
y,u,l),I.push(m),da=R(da),s&&I.push({x:y,y:u,ctx:f,type:m.type,size:m.size,color:da,borderColor:da,borderThickness:m.borderThickness}));(w[k].indexLabel||h.indexLabel||w[k].indexLabelFormatter||h.indexLabelFormatter)&&this._indexLabels.push({chartType:"area",dataPoint:w[k],dataSeries:h,point:{x:y,y:u},direction:0>w[k].y===a.axisY.reversed?1:-1,color:F})}b();z.drawMarkers(I)}}s&&(
|
|
377
|
-
l.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&l.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),l.clearRect(n.x1,n.y1,n.width,n.height),this._eventManager.ghostCtx.restore());l.restore();return{source:
|
|
378
|
-
G(E,2);if(0<c.length){if(0<p.lineThickness){b.beginPath();b.moveTo(c[0].x,c[0].y);c[0].newStrokeStyle&&(b.strokeStyle=c[0].newStrokeStyle);c[0].newLineDashArray&&b.setLineDash(c[0].newLineDashArray);for(var
|
|
379
|
-
c[
|
|
380
|
-
y:c[0].y};b.lineTo(c[c.length-1].x,m);b.lineTo(u.x,m);b.closePath();b.globalAlpha=p.fillOpacity;b.fill();b.globalAlpha=1;s&&(
|
|
381
|
-
d.height),
|
|
382
|
-
if(b.setLineDash){var v=X(p.nullDataLineDashType,p.lineThickness),F=p.lineDashType,A=X(F,p.lineThickness);b.setLineDash(A)}for(w=!1;r<q.length;r++)if(h=q[r].x.getTime?q[r].x.getTime():q[r].x,!(h<a.axisX.dataInfo.viewPortMin||h>a.axisX.dataInfo.viewPortMax&&(!p.connectNullData||!w)))if("number"!==typeof q[r].y)0<r&&!w&&(p.connectNullData?b.setLineDash&&(0<E.length&&(p.options.nullDataLineDashType||!q[r-1].lineDashType))&&(E[E.length-1].newLineDashArray=v,F=p.nullDataLineDashType):(
|
|
376
|
+
y,u,l),I.push(m),da=R(da),s&&I.push({x:y,y:u,ctx:f,type:m.type,size:m.size,color:da,borderColor:da,borderThickness:m.borderThickness}));(w[k].indexLabel||h.indexLabel||w[k].indexLabelFormatter||h.indexLabelFormatter)&&this._indexLabels.push({chartType:"area",dataPoint:w[k],dataSeries:h,point:{x:y,y:u},direction:0>w[k].y===a.axisY.reversed?1:-1,color:F})}b();z.drawMarkers(I)}}s&&(e.drawImage(this._preRenderCanvas,0,0,this.width,this.height),l.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&
|
|
377
|
+
l.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&l.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),l.clearRect(n.x1,n.y1,n.width,n.height),this._eventManager.ghostCtx.restore());l.restore();return{source:e,dest:this.plotArea.ctx,animationCallback:t.xClipAnimation,easingFunction:t.easing.linear,animationBase:0}}};m.prototype.renderSplineArea=function(a){function g(){var c=
|
|
378
|
+
G(E,2);if(0<c.length){if(0<p.lineThickness){b.beginPath();b.moveTo(c[0].x,c[0].y);c[0].newStrokeStyle&&(b.strokeStyle=c[0].newStrokeStyle);c[0].newLineDashArray&&b.setLineDash(c[0].newLineDashArray);for(var g=0;g<c.length-3;g+=3)if(b.bezierCurveTo(c[g+1].x,c[g+1].y,c[g+2].x,c[g+2].y,c[g+3].x,c[g+3].y),s&&e.bezierCurveTo(c[g+1].x,c[g+1].y,c[g+2].x,c[g+2].y,c[g+3].x,c[g+3].y),c[g+3].newStrokeStyle||c[g+3].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(c[g+3].x,c[g+3].y),c[g+3].newStrokeStyle&&(b.strokeStyle=
|
|
379
|
+
c[g+3].newStrokeStyle),c[g+3].newLineDashArray&&b.setLineDash(c[g+3].newLineDashArray);b.stroke()}b.beginPath();b.moveTo(c[0].x,c[0].y);s&&(e.beginPath(),e.moveTo(c[0].x,c[0].y));for(g=0;g<c.length-3;g+=3)b.bezierCurveTo(c[g+1].x,c[g+1].y,c[g+2].x,c[g+2].y,c[g+3].x,c[g+3].y),s&&e.bezierCurveTo(c[g+1].x,c[g+1].y,c[g+2].x,c[g+2].y,c[g+3].x,c[g+3].y);a.axisY.logarithmic||0>=a.axisY.viewportMinimum&&0<=a.axisY.viewportMaximum?m=y:0>a.axisY.viewportMaximum?m=l.y1:0<a.axisY.viewportMinimum&&(m=y);u={x:c[0].x,
|
|
380
|
+
y:c[0].y};b.lineTo(c[c.length-1].x,m);b.lineTo(u.x,m);b.closePath();b.globalAlpha=p.fillOpacity;b.fill();b.globalAlpha=1;s&&(e.lineTo(c[c.length-1].x,m),e.lineTo(u.x,m),e.closePath(),e.fill())}}var c=a.targetCanvasCtx||this.plotArea.ctx,b=s?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx,l=a.axisY.lineCoordinates,f=[],d=this.plotArea;b.save();s&&e.save();b.beginPath();b.rect(d.x1,d.y1,d.width,d.height);b.clip();s&&(e.beginPath(),e.rect(d.x1,d.y1,d.width,
|
|
381
|
+
d.height),e.clip());for(var k=0;k<a.dataSeriesIndexes.length;k++){var n=a.dataSeriesIndexes[k],p=this.data[n],q=p.dataPoints,f=p.id;this._eventManager.objectMap[f]={objectType:"dataSeries",dataSeriesIndex:n};f=R(f);e.fillStyle=f;var f=[],r=0,h,w,y=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),m,u=null,E=[];if(0<q.length){var x=p._colorSet[r%p._colorSet.length],na=p.lineColor=p.options.lineColor||x,D=na;b.fillStyle=x;b.strokeStyle=na;b.lineWidth=p.lineThickness;var F="solid";
|
|
382
|
+
if(b.setLineDash){var v=X(p.nullDataLineDashType,p.lineThickness),F=p.lineDashType,A=X(F,p.lineThickness);b.setLineDash(A)}for(w=!1;r<q.length;r++)if(h=q[r].x.getTime?q[r].x.getTime():q[r].x,!(h<a.axisX.dataInfo.viewPortMin||h>a.axisX.dataInfo.viewPortMax&&(!p.connectNullData||!w)))if("number"!==typeof q[r].y)0<r&&!w&&(p.connectNullData?b.setLineDash&&(0<E.length&&(p.options.nullDataLineDashType||!q[r-1].lineDashType))&&(E[E.length-1].newLineDashArray=v,F=p.nullDataLineDashType):(g(),E=[])),w=!0;
|
|
383
383
|
else{h=a.axisX.convertValueToPixel(h);w=a.axisY.convertValueToPixel(q[r].y);var Z=p.dataPointIds[r];this._eventManager.objectMap[Z]={id:Z,objectType:"dataPoint",dataSeriesIndex:n,dataPointIndex:r,x1:h,y1:w};E[E.length]={x:h,y:w};r<q.length-1&&(D!==(q[r].lineColor||na)||F!==(q[r].lineDashType||p.lineDashType))&&(D=q[r].lineColor||na,E[E.length-1].newStrokeStyle=D,b.setLineDash&&(q[r].lineDashType?(F=q[r].lineDashType,E[E.length-1].newLineDashArray=X(F,p.lineThickness)):(F=p.lineDashType,E[E.length-
|
|
384
|
-
1].newLineDashArray=A)));if(0!==q[r].markerSize&&(0<q[r].markerSize||0<p.markerSize)){var W=p.getMarkerProperties(r,h,w,b);f.push(W);Z=R(Z);s&&f.push({x:h,y:w,ctx:
|
|
384
|
+
1].newLineDashArray=A)));if(0!==q[r].markerSize&&(0<q[r].markerSize||0<p.markerSize)){var W=p.getMarkerProperties(r,h,w,b);f.push(W);Z=R(Z);s&&f.push({x:h,y:w,ctx:e,type:W.type,size:W.size,color:Z,borderColor:Z,borderThickness:W.borderThickness})}(q[r].indexLabel||p.indexLabel||q[r].indexLabelFormatter||p.indexLabelFormatter)&&this._indexLabels.push({chartType:"splineArea",dataPoint:q[r],dataSeries:p,point:{x:h,y:w},direction:0>q[r].y===a.axisY.reversed?1:-1,color:x});w=!1}g();z.drawMarkers(f)}}s&&
|
|
385
385
|
(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(d.x1,d.y1,d.width,d.height),this._eventManager.ghostCtx.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:t.xClipAnimation,
|
|
386
|
-
easingFunction:t.easing.linear,animationBase:0}}};m.prototype.renderStepArea=function(a){var
|
|
387
|
-
u),D={x:m,y:u})}var
|
|
388
|
-
dataSeriesIndex:r};k=R(k);f.fillStyle=k;k=[];
|
|
389
|
-
w[y].x,!(E<a.axisX.dataInfo.viewPortMin||E>a.axisX.dataInfo.viewPortMax&&(!h.connectNullData||!c))){var da=u;"number"!==typeof w[y].y?(h.connectNullData||(c||
|
|
390
|
-
u),s&&(f.lineTo(m,da),f.lineTo(m,u))):(l.beginPath(),l.moveTo(m,u),s&&(f.beginPath(),f.moveTo(m,u)),D={x:m,y:u}),c=
|
|
386
|
+
easingFunction:t.easing.linear,animationBase:0}}};m.prototype.renderStepArea=function(a){var g,c;function b(){D&&(0<h.lineThickness&&l.stroke(),a.axisY.logarithmic||0>=a.axisY.viewportMinimum&&0<=a.axisY.viewportMaximum?na=x:0>a.axisY.viewportMaximum?na=d.y1:0<a.axisY.viewportMinimum&&(na=x),l.lineTo(m,na),l.lineTo(D.x,na),l.closePath(),l.globalAlpha=h.fillOpacity,l.fill(),l.globalAlpha=1,s&&(f.lineTo(m,na),f.lineTo(D.x,na),f.closePath(),f.fill()),l.beginPath(),l.moveTo(m,u),f.beginPath(),f.moveTo(m,
|
|
387
|
+
u),D={x:m,y:u})}var e=a.targetCanvasCtx||this.plotArea.ctx,l=s?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var f=this._eventManager.ghostCtx,d=a.axisY.lineCoordinates,k=[],n=this.plotArea,p;l.save();s&&f.save();l.beginPath();l.rect(n.x1,n.y1,n.width,n.height);l.clip();s&&(f.beginPath(),f.rect(n.x1,n.y1,n.width,n.height),f.clip());for(var q=0;q<a.dataSeriesIndexes.length;q++){var r=a.dataSeriesIndexes[q],h=this.data[r],w=h.dataPoints,k=h.id;this._eventManager.objectMap[k]={objectType:"dataSeries",
|
|
388
|
+
dataSeriesIndex:r};k=R(k);f.fillStyle=k;k=[];g=!0;var y=0,m,u,E,x=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),na,D=null;c=!1;if(0<w.length){var F=h._colorSet[y%h._colorSet.length],v=h.lineColor=h.options.lineColor||F,A=v;l.fillStyle=F;l.strokeStyle=v;l.lineWidth=h.lineThickness;var Z="solid";if(l.setLineDash){var W=X(h.nullDataLineDashType,h.lineThickness),Z=h.lineDashType,fa=X(Z,h.lineThickness);l.setLineDash(fa)}for(;y<w.length;y++)if(E=w[y].x.getTime?w[y].x.getTime():
|
|
389
|
+
w[y].x,!(E<a.axisX.dataInfo.viewPortMin||E>a.axisX.dataInfo.viewPortMax&&(!h.connectNullData||!c))){var da=u;"number"!==typeof w[y].y?(h.connectNullData||(c||g)||b(),c=!0):(m=a.axisX.convertValueToPixel(E),u=a.axisY.convertValueToPixel(w[y].y),g||c?(!g&&h.connectNullData?(l.setLineDash&&(h.options.nullDataLineDashType||Z===h.lineDashType&&h.lineDashType!==h.nullDataLineDashType)&&(g=m,c=u,m=p.x,u=p.y,b(),l.moveTo(p.x,p.y),m=g,u=c,D=p,Z=h.nullDataLineDashType,l.setLineDash(W)),l.lineTo(m,da),l.lineTo(m,
|
|
390
|
+
u),s&&(f.lineTo(m,da),f.lineTo(m,u))):(l.beginPath(),l.moveTo(m,u),s&&(f.beginPath(),f.moveTo(m,u)),D={x:m,y:u}),c=g=!1):(l.lineTo(m,da),s&&f.lineTo(m,da),l.lineTo(m,u),s&&f.lineTo(m,u),0==y%250&&b()),p={x:m,y:u},y<w.length-1&&(A!==(w[y].lineColor||v)||Z!==(w[y].lineDashType||h.lineDashType))&&(b(),A=w[y].lineColor||v,l.strokeStyle=A,l.setLineDash&&(w[y].lineDashType?(Z=w[y].lineDashType,l.setLineDash(X(Z,h.lineThickness))):(Z=h.lineDashType,l.setLineDash(fa)))),E=h.dataPointIds[y],this._eventManager.objectMap[E]=
|
|
391
391
|
{id:E,objectType:"dataPoint",dataSeriesIndex:r,dataPointIndex:y,x1:m,y1:u},0!==w[y].markerSize&&(0<w[y].markerSize||0<h.markerSize)&&(da=h.getMarkerProperties(y,m,u,l),k.push(da),E=R(E),s&&k.push({x:m,y:u,ctx:f,type:da.type,size:da.size,color:E,borderColor:E,borderThickness:da.borderThickness})),(w[y].indexLabel||h.indexLabel||w[y].indexLabelFormatter||h.indexLabelFormatter)&&this._indexLabels.push({chartType:"stepArea",dataPoint:w[y],dataSeries:h,point:{x:m,y:u},direction:0>w[y].y===a.axisY.reversed?
|
|
392
|
-
1:-1,color:F}))}b();z.drawMarkers(k)}}s&&(
|
|
393
|
-
dest:this.plotArea.ctx,animationCallback:t.xClipAnimation,easingFunction:t.easing.linear,animationBase:0}}};m.prototype.renderStackedArea=function(a){function
|
|
394
|
-
null,l=null,f=[],d=this.plotArea,k=[],n=[],p=[],q=[],r=0,h,w,y=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),m=this._eventManager.ghostCtx,u,E,x;s&&m.beginPath();b.save();s&&m.save();b.beginPath();b.rect(d.x1,d.y1,d.width,d.height);b.clip();s&&(m.beginPath(),m.rect(d.x1,d.y1,d.width,d.height),m.clip());for(var
|
|
395
|
-
A[r].x.getTime():A[r].x,F.dataPointIndexes[D]=r,
|
|
396
|
-
x=F.lineDashType;var fa=X(x,F.lineThickness);b.setLineDash(fa)}for(var da=!0,r=0;r<p.length;r++){var l=p[r],ka=null,ka=0<=F.dataPointIndexes[l]?A[F.dataPointIndexes[l]]:{x:l,y:null};if(!(l<a.axisX.dataInfo.viewPortMin||l>a.axisX.dataInfo.viewPortMax&&(!F.connectNullData||!da)))if("number"!==typeof ka.y)F.connectNullData||(da||E)||
|
|
397
|
-
q[l]:0);if(0>=q[l]&&a.axisY.logarithmic)continue;w=a.axisY.convertValueToPixel(q[l])}else w=a.axisY.convertValueToPixel(ka.y),w-=va;n.push({x:h,y:y-va});k[l]=y-w;E||da?(!E&&F.connectNullData?(b.setLineDash&&(F.options.nullDataLineDashType||x===F.lineDashType&&F.lineDashType!==F.nullDataLineDashType)&&(E=n.pop(),x=n[n.length-1],
|
|
398
|
-
w))),da=E=!1):(b.lineTo(h,w),s&&m.lineTo(h,w),0==r%250&&(
|
|
392
|
+
1:-1,color:F}))}b();z.drawMarkers(k)}}s&&(e.drawImage(this._preRenderCanvas,0,0,this.width,this.height),l.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&l.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&l.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),l.clearRect(n.x1,n.y1,n.width,n.height),this._eventManager.ghostCtx.restore());l.restore();return{source:e,
|
|
393
|
+
dest:this.plotArea.ctx,animationCallback:t.xClipAnimation,easingFunction:t.easing.linear,animationBase:0}}};m.prototype.renderStackedArea=function(a){function g(){if(!(1>n.length)){for(0<F.lineThickness&&b.stroke();0<n.length;){var a=n.pop();b.lineTo(a.x,a.y);s&&m.lineTo(a.x,a.y)}b.closePath();b.globalAlpha=F.fillOpacity;b.fill();b.globalAlpha=1;b.beginPath();s&&(m.closePath(),m.fill(),m.beginPath());n=[]}}var c=a.targetCanvasCtx||this.plotArea.ctx,b=s?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=
|
|
394
|
+
null,l=null,f=[],d=this.plotArea,k=[],n=[],p=[],q=[],r=0,h,w,y=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),m=this._eventManager.ghostCtx,u,E,x;s&&m.beginPath();b.save();s&&m.save();b.beginPath();b.rect(d.x1,d.y1,d.width,d.height);b.clip();s&&(m.beginPath(),m.rect(d.x1,d.y1,d.width,d.height),m.clip());for(var e=[],v=0;v<a.dataSeriesIndexes.length;v++){var D=a.dataSeriesIndexes[v],F=this.data[D],A=F.dataPoints;F.dataPointIndexes=[];for(r=0;r<A.length;r++)D=A[r].x.getTime?
|
|
395
|
+
A[r].x.getTime():A[r].x,F.dataPointIndexes[D]=r,e[D]||(p.push(D),e[D]=!0);p.sort(Ya)}for(v=0;v<a.dataSeriesIndexes.length;v++){D=a.dataSeriesIndexes[v];F=this.data[D];A=F.dataPoints;E=!0;n=[];r=F.id;this._eventManager.objectMap[r]={objectType:"dataSeries",dataSeriesIndex:D};r=R(r);m.fillStyle=r;if(0<p.length){var e=F._colorSet[0],C=F.lineColor=F.options.lineColor||e,Z=C;b.fillStyle=e;b.strokeStyle=C;b.lineWidth=F.lineThickness;x="solid";if(b.setLineDash){var W=X(F.nullDataLineDashType,F.lineThickness);
|
|
396
|
+
x=F.lineDashType;var fa=X(x,F.lineThickness);b.setLineDash(fa)}for(var da=!0,r=0;r<p.length;r++){var l=p[r],ka=null,ka=0<=F.dataPointIndexes[l]?A[F.dataPointIndexes[l]]:{x:l,y:null};if(!(l<a.axisX.dataInfo.viewPortMin||l>a.axisX.dataInfo.viewPortMax&&(!F.connectNullData||!da)))if("number"!==typeof ka.y)F.connectNullData||(da||E)||g(),da=!0;else{h=a.axisX.convertValueToPixel(l);var va=k[l]?k[l]:0;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length){q[l]=ka.y+(q[l]?
|
|
397
|
+
q[l]:0);if(0>=q[l]&&a.axisY.logarithmic)continue;w=a.axisY.convertValueToPixel(q[l])}else w=a.axisY.convertValueToPixel(ka.y),w-=va;n.push({x:h,y:y-va});k[l]=y-w;E||da?(!E&&F.connectNullData?(b.setLineDash&&(F.options.nullDataLineDashType||x===F.lineDashType&&F.lineDashType!==F.nullDataLineDashType)&&(E=n.pop(),x=n[n.length-1],g(),b.moveTo(u.x,u.y),n.push(x),n.push(E),x=F.nullDataLineDashType,b.setLineDash(W)),b.lineTo(h,w),s&&m.lineTo(h,w)):(b.beginPath(),b.moveTo(h,w),s&&(m.beginPath(),m.moveTo(h,
|
|
398
|
+
w))),da=E=!1):(b.lineTo(h,w),s&&m.lineTo(h,w),0==r%250&&(g(),b.moveTo(h,w),s&&m.moveTo(h,w),n.push({x:h,y:y-va})));u={x:h,y:w};r<A.length-1&&(Z!==(A[r].lineColor||C)||x!==(A[r].lineDashType||F.lineDashType))&&(g(),b.beginPath(),b.moveTo(h,w),n.push({x:h,y:y-va}),Z=A[r].lineColor||C,b.strokeStyle=Z,b.setLineDash&&(A[r].lineDashType?(x=A[r].lineDashType,b.setLineDash(X(x,F.lineThickness))):(x=F.lineDashType,b.setLineDash(fa))));if(0<=F.dataPointIndexes[l]){var pa=F.dataPointIds[F.dataPointIndexes[l]];
|
|
399
399
|
this._eventManager.objectMap[pa]={id:pa,objectType:"dataPoint",dataSeriesIndex:D,dataPointIndex:F.dataPointIndexes[l],x1:h,y1:w}}0<=F.dataPointIndexes[l]&&0!==ka.markerSize&&(0<ka.markerSize||0<F.markerSize)&&(va=F.getMarkerProperties(F.dataPointIndexes[l],h,w,b),f.push(va),l=R(pa),s&&f.push({x:h,y:w,ctx:m,type:va.type,size:va.size,color:l,borderColor:l,borderThickness:va.borderThickness}));(ka.indexLabel||F.indexLabel||ka.indexLabelFormatter||F.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedArea",
|
|
400
|
-
dataPoint:ka,dataSeries:F,point:{x:h,y:w},direction:0>A[r].y===a.axisY.reversed?1:-1,color:
|
|
401
|
-
0,0,this.width,this.height),b.clearRect(d.x1,d.y1,d.width,d.height),m.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:t.xClipAnimation,easingFunction:t.easing.linear,animationBase:0}}};m.prototype.renderStackedArea100=function(a){function
|
|
402
|
-
var c=a.targetCanvasCtx||this.plotArea.ctx,b=s?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var
|
|
403
|
-
F=this.data[D],A=F.dataPoints;F.dataPointIndexes=[];for(r=0;r<A.length;r++)D=A[r].x.getTime?A[r].x.getTime():A[r].x,F.dataPointIndexes[D]=r,
|
|
404
|
-
C;b.lineWidth=F.lineThickness;u="solid";if(b.setLineDash){var W=X(F.nullDataLineDashType,F.lineThickness);u=F.lineDashType;var fa=X(u,F.lineThickness);b.setLineDash(fa)}for(var da=!0,r=0;r<p.length;r++){var l=p[r],ka=null,ka=0<=F.dataPointIndexes[l]?A[F.dataPointIndexes[l]]:{x:l,y:null};if(!(l<a.axisX.dataInfo.viewPortMin||l>a.axisX.dataInfo.viewPortMax&&(!F.connectNullData||!da)))if("number"!==typeof ka.y)F.connectNullData||(da||m)||
|
|
405
|
-
0;h=a.axisX.convertValueToPixel(l);var pa=k[l]?k[l]:0;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length){q[l]=va+(q[l]?q[l]:0);if(0>=q[l]&&a.axisY.logarithmic)continue;w=a.axisY.convertValueToPixel(q[l])}else w=a.axisY.convertValueToPixel(va),w-=pa;n.push({x:h,y:E-pa});k[l]=E-w;m||da?(!m&&F.connectNullData?(b.setLineDash&&(F.options.nullDataLineDashType||u===F.lineDashType&&F.lineDashType!==F.nullDataLineDashType)&&(m=n.pop(),u=n[n.length-1],
|
|
406
|
-
y.y),n.push(u),n.push(m),u=F.nullDataLineDashType,b.setLineDash(W)),b.lineTo(h,w),s&&x.lineTo(h,w)):(b.beginPath(),b.moveTo(h,w),s&&(x.beginPath(),x.moveTo(h,w))),da=m=!1):(b.lineTo(h,w),s&&x.lineTo(h,w),0==r%250&&(
|
|
400
|
+
dataPoint:ka,dataSeries:F,point:{x:h,y:w},direction:0>A[r].y===a.axisY.reversed?1:-1,color:e})}}g();b.moveTo(h,w);s&&m.moveTo(h,w)}delete F.dataPointIndexes}z.drawMarkers(f);s&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,
|
|
401
|
+
0,0,this.width,this.height),b.clearRect(d.x1,d.y1,d.width,d.height),m.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:t.xClipAnimation,easingFunction:t.easing.linear,animationBase:0}}};m.prototype.renderStackedArea100=function(a){function g(){for(0<F.lineThickness&&b.stroke();0<n.length;){var a=n.pop();b.lineTo(a.x,a.y);s&&x.lineTo(a.x,a.y)}b.closePath();b.globalAlpha=F.fillOpacity;b.fill();b.globalAlpha=1;b.beginPath();s&&(x.closePath(),x.fill(),x.beginPath());n=[]}
|
|
402
|
+
var c=a.targetCanvasCtx||this.plotArea.ctx,b=s?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=null,l=null,f=this.plotArea,d=[],k=[],n=[],p=[],q=[],r=0,h,w,y,m,u,E=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),x=this._eventManager.ghostCtx;b.save();s&&x.save();b.beginPath();b.rect(f.x1,f.y1,f.width,f.height);b.clip();s&&(x.beginPath(),x.rect(f.x1,f.y1,f.width,f.height),x.clip());for(var e=[],v=0;v<a.dataSeriesIndexes.length;v++){var D=a.dataSeriesIndexes[v],
|
|
403
|
+
F=this.data[D],A=F.dataPoints;F.dataPointIndexes=[];for(r=0;r<A.length;r++)D=A[r].x.getTime?A[r].x.getTime():A[r].x,F.dataPointIndexes[D]=r,e[D]||(p.push(D),e[D]=!0);p.sort(Ya)}for(v=0;v<a.dataSeriesIndexes.length;v++){D=a.dataSeriesIndexes[v];F=this.data[D];A=F.dataPoints;m=!0;e=F.id;this._eventManager.objectMap[e]={objectType:"dataSeries",dataSeriesIndex:D};e=R(e);x.fillStyle=e;n=[];if(0<p.length){var e=F._colorSet[r%F._colorSet.length],C=F.lineColor=F.options.lineColor||e,Z=C;b.fillStyle=e;b.strokeStyle=
|
|
404
|
+
C;b.lineWidth=F.lineThickness;u="solid";if(b.setLineDash){var W=X(F.nullDataLineDashType,F.lineThickness);u=F.lineDashType;var fa=X(u,F.lineThickness);b.setLineDash(fa)}for(var da=!0,r=0;r<p.length;r++){var l=p[r],ka=null,ka=0<=F.dataPointIndexes[l]?A[F.dataPointIndexes[l]]:{x:l,y:null};if(!(l<a.axisX.dataInfo.viewPortMin||l>a.axisX.dataInfo.viewPortMax&&(!F.connectNullData||!da)))if("number"!==typeof ka.y)F.connectNullData||(da||m)||g(),da=!0;else{var va;va=0!==a.dataPointYSums[l]?100*(ka.y/a.dataPointYSums[l]):
|
|
405
|
+
0;h=a.axisX.convertValueToPixel(l);var pa=k[l]?k[l]:0;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length){q[l]=va+(q[l]?q[l]:0);if(0>=q[l]&&a.axisY.logarithmic)continue;w=a.axisY.convertValueToPixel(q[l])}else w=a.axisY.convertValueToPixel(va),w-=pa;n.push({x:h,y:E-pa});k[l]=E-w;m||da?(!m&&F.connectNullData?(b.setLineDash&&(F.options.nullDataLineDashType||u===F.lineDashType&&F.lineDashType!==F.nullDataLineDashType)&&(m=n.pop(),u=n[n.length-1],g(),b.moveTo(y.x,
|
|
406
|
+
y.y),n.push(u),n.push(m),u=F.nullDataLineDashType,b.setLineDash(W)),b.lineTo(h,w),s&&x.lineTo(h,w)):(b.beginPath(),b.moveTo(h,w),s&&(x.beginPath(),x.moveTo(h,w))),da=m=!1):(b.lineTo(h,w),s&&x.lineTo(h,w),0==r%250&&(g(),b.moveTo(h,w),s&&x.moveTo(h,w),n.push({x:h,y:E-pa})));y={x:h,y:w};r<A.length-1&&(Z!==(A[r].lineColor||C)||u!==(A[r].lineDashType||F.lineDashType))&&(g(),b.beginPath(),b.moveTo(h,w),n.push({x:h,y:E-pa}),Z=A[r].lineColor||C,b.strokeStyle=Z,b.setLineDash&&(A[r].lineDashType?(u=A[r].lineDashType,
|
|
407
407
|
b.setLineDash(X(u,F.lineThickness))):(u=F.lineDashType,b.setLineDash(fa))));if(0<=F.dataPointIndexes[l]){var J=F.dataPointIds[F.dataPointIndexes[l]];this._eventManager.objectMap[J]={id:J,objectType:"dataPoint",dataSeriesIndex:D,dataPointIndex:F.dataPointIndexes[l],x1:h,y1:w}}0<=F.dataPointIndexes[l]&&0!==ka.markerSize&&(0<ka.markerSize||0<F.markerSize)&&(pa=F.getMarkerProperties(r,h,w,b),d.push(pa),l=R(J),s&&d.push({x:h,y:w,ctx:x,type:pa.type,size:pa.size,color:l,borderColor:l,borderThickness:pa.borderThickness}));
|
|
408
|
-
(ka.indexLabel||F.indexLabel||ka.indexLabelFormatter||F.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedArea100",dataPoint:ka,dataSeries:F,point:{x:h,y:w},direction:0>A[r].y===a.axisY.reversed?1:-1,color:
|
|
409
|
-
b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(f.x1,f.y1,f.width,f.height),x.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:t.xClipAnimation,easingFunction:t.easing.linear,animationBase:0}}};m.prototype.renderBubble=function(a){var
|
|
410
|
-
this.plotArea,
|
|
411
|
-
"undefined"===typeof r[
|
|
412
|
-
var h=r[
|
|
413
|
-
r[
|
|
414
|
-
this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(b.x1,b.y1,b.width,b.height),this._eventManager.ghostCtx.restore());c.restore();return{source:
|
|
415
|
-
c.beginPath();c.rect(b.x1,b.y1,b.width,b.height);c.clip();s&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(b.x1,b.y1,b.width,b.height),this._eventManager.ghostCtx.clip());for(var d=0;d<a.dataSeriesIndexes.length;d++){var k=a.dataSeriesIndexes[d],n=this.data[k],p=n.dataPoints;if(0<p.length){c.strokeStyle="#4572A7 ";Math.pow(0.3*Math.min(b.height,b.width)/2,2);for(var q=0,r=0,
|
|
416
|
-
l>a.axisX.dataInfo.viewPortMax)&&"number"===typeof p[
|
|
417
|
-
dataPointIndex:
|
|
418
|
-
a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(b.x1,b.y1,b.width,b.height),this._eventManager.ghostCtx.restore());c.restore();return{source:
|
|
419
|
-
function(a){var
|
|
420
|
-
this.dataPointWidth:0.7*d.width*(a.axisX.logarithmic?Math.log(w)/Math.log(a.axisX.range):Math.abs(w)/Math.abs(a.axisX.range))<<0;this.dataPointMaxWidth&&
|
|
408
|
+
(ka.indexLabel||F.indexLabel||ka.indexLabelFormatter||F.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedArea100",dataPoint:ka,dataSeries:F,point:{x:h,y:w},direction:0>A[r].y===a.axisY.reversed?1:-1,color:e})}}g();b.moveTo(h,w);s&&x.moveTo(h,w)}delete F.dataPointIndexes}z.drawMarkers(d);s&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&
|
|
409
|
+
b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(f.x1,f.y1,f.width,f.height),x.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:t.xClipAnimation,easingFunction:t.easing.linear,animationBase:0}}};m.prototype.renderBubble=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=s?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=
|
|
410
|
+
this.plotArea,e=0,l,f;c.save();s&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(b.x1,b.y1,b.width,b.height);c.clip();s&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(b.x1,b.y1,b.width,b.height),this._eventManager.ghostCtx.clip());for(var d=-Infinity,k=Infinity,n=0;n<a.dataSeriesIndexes.length;n++)for(var p=a.dataSeriesIndexes[n],q=this.data[p],r=q.dataPoints,h=0,e=0;e<r.length;e++)l=r[e].getTime?l=r[e].x.getTime():l=r[e].x,l<a.axisX.dataInfo.viewPortMin||l>a.axisX.dataInfo.viewPortMax||
|
|
411
|
+
"undefined"===typeof r[e].z||(h=r[e].z,h>d&&(d=h),h<k&&(k=h));for(var w=25*Math.PI,y=Math.max(Math.pow(0.25*Math.min(b.height,b.width)/2,2)*Math.PI,w),n=0;n<a.dataSeriesIndexes.length;n++)if(p=a.dataSeriesIndexes[n],q=this.data[p],r=q.dataPoints,0<r.length)for(c.strokeStyle="#4572A7 ",e=0;e<r.length;e++)if(l=r[e].getTime?l=r[e].x.getTime():l=r[e].x,!(l<a.axisX.dataInfo.viewPortMin||l>a.axisX.dataInfo.viewPortMax)&&"number"===typeof r[e].y){l=a.axisX.convertValueToPixel(l);f=a.axisY.convertValueToPixel(r[e].y);
|
|
412
|
+
var h=r[e].z,m=2*Math.max(Math.sqrt((d===k?y/2:w+(y-w)/(d-k)*(h-k))/Math.PI)<<0,1),h=q.getMarkerProperties(e,c);h.size=m;c.globalAlpha=q.fillOpacity;z.drawMarker(l,f,c,h.type,h.size,h.color,h.borderColor,h.borderThickness);c.globalAlpha=1;var u=q.dataPointIds[e];this._eventManager.objectMap[u]={id:u,objectType:"dataPoint",dataSeriesIndex:p,dataPointIndex:e,x1:l,y1:f,size:m};m=R(u);s&&z.drawMarker(l,f,this._eventManager.ghostCtx,h.type,h.size,m,m,h.borderThickness);(r[e].indexLabel||q.indexLabel||
|
|
413
|
+
r[e].indexLabelFormatter||q.indexLabelFormatter)&&this._indexLabels.push({chartType:"bubble",dataPoint:r[e],dataSeries:q,point:{x:l,y:f},direction:1,bounds:{x1:l-h.size/2,y1:f-h.size/2,x2:l+h.size/2,y2:f+h.size/2},color:null})}s&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&
|
|
414
|
+
this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(b.x1,b.y1,b.width,b.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:t.fadeInAnimation,easingFunction:t.easing.easeInQuad,animationBase:0}}};m.prototype.renderScatter=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=s?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=this.plotArea,e=0,l,f;c.save();s&&this._eventManager.ghostCtx.save();
|
|
415
|
+
c.beginPath();c.rect(b.x1,b.y1,b.width,b.height);c.clip();s&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(b.x1,b.y1,b.width,b.height),this._eventManager.ghostCtx.clip());for(var d=0;d<a.dataSeriesIndexes.length;d++){var k=a.dataSeriesIndexes[d],n=this.data[k],p=n.dataPoints;if(0<p.length){c.strokeStyle="#4572A7 ";Math.pow(0.3*Math.min(b.height,b.width)/2,2);for(var q=0,r=0,e=0;e<p.length;e++)if(l=p[e].getTime?l=p[e].x.getTime():l=p[e].x,!(l<a.axisX.dataInfo.viewPortMin||
|
|
416
|
+
l>a.axisX.dataInfo.viewPortMax)&&"number"===typeof p[e].y){l=a.axisX.convertValueToPixel(l);f=a.axisY.convertValueToPixel(p[e].y);var h=n.getMarkerProperties(e,l,f,c);c.globalAlpha=n.fillOpacity;z.drawMarker(h.x,h.y,h.ctx,h.type,h.size,h.color,h.borderColor,h.borderThickness);c.globalAlpha=1;Math.sqrt((q-l)*(q-l)+(r-f)*(r-f))<Math.min(h.size,5)&&p.length>Math.min(this.plotArea.width,this.plotArea.height)||(q=n.dataPointIds[e],this._eventManager.objectMap[q]={id:q,objectType:"dataPoint",dataSeriesIndex:k,
|
|
417
|
+
dataPointIndex:e,x1:l,y1:f},q=R(q),s&&z.drawMarker(h.x,h.y,this._eventManager.ghostCtx,h.type,h.size,q,q,h.borderThickness),(p[e].indexLabel||n.indexLabel||p[e].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"scatter",dataPoint:p[e],dataSeries:n,point:{x:l,y:f},direction:1,bounds:{x1:l-h.size/2,y1:f-h.size/2,x2:l+h.size/2,y2:f+h.size/2},color:null}),q=l,r=f)}}}s&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",
|
|
418
|
+
a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(b.x1,b.y1,b.width,b.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:t.fadeInAnimation,easingFunction:t.easing.easeInQuad,animationBase:0}}};m.prototype.renderCandlestick=
|
|
419
|
+
function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=s?this._preRenderCtx:g,b=this._eventManager.ghostCtx;if(!(0>=a.dataSeriesIndexes.length)){var e=null,l=null,d=this.plotArea,k=0,y,n,p,q,r,h,e=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,l=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.015*this.width,w=a.axisX.dataInfo.minDiff;isFinite(w)||(w=0.3*Math.abs(a.axisX.range));w=this.options.dataPointWidth?
|
|
420
|
+
this.dataPointWidth:0.7*d.width*(a.axisX.logarithmic?Math.log(w)/Math.log(a.axisX.range):Math.abs(w)/Math.abs(a.axisX.range))<<0;this.dataPointMaxWidth&&e>l&&(e=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,l));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&l<e)&&(l=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,e));w<e&&(w=e);w>l&&(w=l);c.save();s&&b.save();c.beginPath();c.rect(d.x1,d.y1,d.width,d.height);c.clip();s&&(b.beginPath(),b.rect(d.x1,d.y1,d.width,
|
|
421
421
|
d.height),b.clip());for(var z=0;z<a.dataSeriesIndexes.length;z++){var m=a.dataSeriesIndexes[z],u=this.data[m],E=u.dataPoints;if(0<E.length)for(var x=5<w&&u.bevelEnabled?!0:!1,k=0;k<E.length;k++)if(E[k].getTime?h=E[k].x.getTime():h=E[k].x,!(h<a.axisX.dataInfo.viewPortMin||h>a.axisX.dataInfo.viewPortMax)&&!f(E[k].y)&&E[k].y.length&&"number"===typeof E[k].y[0]&&"number"===typeof E[k].y[1]&&"number"===typeof E[k].y[2]&&"number"===typeof E[k].y[3]){y=a.axisX.convertValueToPixel(h);n=a.axisY.convertValueToPixel(E[k].y[0]);
|
|
422
|
-
p=a.axisY.convertValueToPixel(E[k].y[1]);q=a.axisY.convertValueToPixel(E[k].y[2]);r=a.axisY.convertValueToPixel(E[k].y[3]);var A=y-w/2<<0,D=A+w<<0,l=u.options.fallingColor?u.fallingColor:u._colorSet[0],
|
|
423
|
-
c.lineWidth=F;b.lineWidth=Math.max(F,4);"candlestick"===u.type?(c.moveTo(y-v,p),c.lineTo(y-v,Math.min(n,r)),c.stroke(),c.moveTo(y-v,Math.max(n,r)),c.lineTo(y-v,q),c.stroke(),ca(c,A,Math.min(n,r),D,Math.max(n,r),E[k].y[0]<=E[k].y[3]?u.risingColor:l,F,
|
|
424
|
-
v,p),c.lineTo(y-v,q),c.stroke(),c.beginPath(),c.moveTo(y,n),c.lineTo(A,n),c.stroke(),c.beginPath(),c.moveTo(y,r),c.lineTo(D,r),c.stroke(),s&&(
|
|
425
|
-
q:p},direction:1,bounds:{x1:A,y1:Math.min(p,q),x2:D,y2:Math.max(p,q)},color:
|
|
426
|
-
c.restore();return{source:
|
|
427
|
-
this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.015*this.width,w=a.axisX.dataInfo.minDiff;isFinite(w)||(w=0.3*Math.abs(a.axisX.range));w=this.options.dataPointWidth?this.dataPointWidth:0.7*l.width*(a.axisX.logarithmic?Math.log(w)/Math.log(a.axisX.range):Math.abs(w)/Math.abs(a.axisX.range))<<0;this.dataPointMaxWidth&&
|
|
428
|
-
this.dataPointWidth:-Infinity,
|
|
429
|
-
!f(x[d].y)&&x[d].y.length&&"number"===typeof x[d].y[0]&&"number"===typeof x[d].y[1]&&"number"===typeof x[d].y[2]&&"number"===typeof x[d].y[3]&&"number"===typeof x[d].y[4]&&5===x[d].y.length){k=a.axisX.convertValueToPixel(h);y=a.axisY.convertValueToPixel(x[d].y[0]);n=a.axisY.convertValueToPixel(x[d].y[1]);p=a.axisY.convertValueToPixel(x[d].y[2]);q=a.axisY.convertValueToPixel(x[d].y[3]);r=a.axisY.convertValueToPixel(x[d].y[4]);var D=k-w/2<<0,F=k+w/2<<0,
|
|
430
|
-
0.15*w)),C=0===A%2?0:0.5,Z=x[d].whiskerColor?x[d].whiskerColor:x[d].color?E.whiskerColor?E.whiskerColor:x[d].color:E.whiskerColor?E.whiskerColor:
|
|
431
|
-
w/100>w?w:parseInt(da)*w/100:w,ka=1===Math.round(W)%2?0.5:0,va=x[d].stemColor?x[d].stemColor:x[d].color?E.stemColor?E.stemColor:x[d].color:E.stemColor?E.stemColor:
|
|
432
|
-
x[d].lineThickness:"number"===typeof E.options.lineThickness?E.lineThickness:A,Q=x[d].lineDashType?x[d].lineDashType:E.lineDashType,S=1===Math.round(L)%2?0.5:0,O=E.upperBoxColor,P=E.lowerBoxColor,N=f(E.options.fillOpacity)?1:E.fillOpacity,U=E.dataPointIds[d];this._eventManager.objectMap[U]={id:U,objectType:"dataPoint",dataSeriesIndex:u,dataPointIndex:d,x1:D,y1:y,x2:F,y2:n,x3:k,y3:p,x4:k,y4:q,y5:r,borderThickness:A,color:
|
|
433
|
-
lineThickness:L,lineColor:H};c.save();0<pa&&(c.beginPath(),c.strokeStyle=va,c.lineWidth=pa,c.setLineDash&&c.setLineDash(X(G,pa)),c.moveTo(k-J,n),c.lineTo(k-J,y),c.stroke(),c.moveTo(k-J,q),c.lineTo(k-J,p),c.stroke());c.restore();b.lineWidth=Math.max(A,4);c.beginPath();ca(c,D,Math.min(r,n),F,Math.max(n,r),P,0,
|
|
434
|
-
p)-Math.min(n,p)+2*C);c.stroke();c.save();0<L&&(c.beginPath(),c.globalAlpha=1,c.setLineDash&&c.setLineDash(X(Q,L)),c.strokeStyle=H,c.lineWidth=L,c.moveTo(D,r-S),c.lineTo(F,r-S),c.stroke());c.restore();c.save();0<W&&(c.beginPath(),c.setLineDash&&c.setLineDash(X(fa,W)),c.strokeStyle=Z,c.lineWidth=W,c.moveTo(k-da/2<<0,q-ka),c.lineTo(k+da/2<<0,q-ka),c.stroke(),c.moveTo(k-da/2<<0,y+ka),c.lineTo(k+da/2<<0,y+ka),c.stroke());c.restore();s&&(
|
|
435
|
-
C-J,Math.max(y,q)),b.stroke(),b.moveTo(k-C-J,Math.min(y,q)),b.lineTo(k-C-J,p),b.stroke()),ca(b,D,Math.max(n,p),F,Math.min(n,p),
|
|
436
|
-
bounds:{x1:D,y1:Math.min(y,q),x2:F,y2:Math.max(y,q)},color:
|
|
437
|
-
dest:this.plotArea.ctx,animationCallback:t.fadeInAnimation,easingFunction:t.easing.easeInQuad,animationBase:0}}};m.prototype.renderRangeColumn=function(a){var
|
|
438
|
-
0.03*this.width;var n=a.axisX.dataInfo.minDiff;isFinite(n)||(n=0.3*Math.abs(a.axisX.range));n=this.options.dataPointWidth?this.dataPointWidth:0.9*(
|
|
439
|
-
l));n<l&&(n=l);n>d&&(n=d);c.save();s&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(
|
|
422
|
+
p=a.axisY.convertValueToPixel(E[k].y[1]);q=a.axisY.convertValueToPixel(E[k].y[2]);r=a.axisY.convertValueToPixel(E[k].y[3]);var A=y-w/2<<0,D=A+w<<0,l=u.options.fallingColor?u.fallingColor:u._colorSet[0],e=E[k].color?E[k].color:u._colorSet[0],F=Math.round(Math.max(1,0.15*w)),v=0===F%2?0:0.5,C=u.dataPointIds[k];this._eventManager.objectMap[C]={id:C,objectType:"dataPoint",dataSeriesIndex:m,dataPointIndex:k,x1:A,y1:n,x2:D,y2:p,x3:y,y3:q,x4:y,y4:r,borderThickness:F,color:e};c.strokeStyle=e;c.beginPath();
|
|
423
|
+
c.lineWidth=F;b.lineWidth=Math.max(F,4);"candlestick"===u.type?(c.moveTo(y-v,p),c.lineTo(y-v,Math.min(n,r)),c.stroke(),c.moveTo(y-v,Math.max(n,r)),c.lineTo(y-v,q),c.stroke(),ca(c,A,Math.min(n,r),D,Math.max(n,r),E[k].y[0]<=E[k].y[3]?u.risingColor:l,F,e,x,x,!1,!1,u.fillOpacity),s&&(e=R(C),b.strokeStyle=e,b.moveTo(y-v,p),b.lineTo(y-v,Math.min(n,r)),b.stroke(),b.moveTo(y-v,Math.max(n,r)),b.lineTo(y-v,q),b.stroke(),ca(b,A,Math.min(n,r),D,Math.max(n,r),e,0,null,!1,!1,!1,!1))):"ohlc"===u.type&&(c.moveTo(y-
|
|
424
|
+
v,p),c.lineTo(y-v,q),c.stroke(),c.beginPath(),c.moveTo(y,n),c.lineTo(A,n),c.stroke(),c.beginPath(),c.moveTo(y,r),c.lineTo(D,r),c.stroke(),s&&(e=R(C),b.strokeStyle=e,b.moveTo(y-v,p),b.lineTo(y-v,q),b.stroke(),b.beginPath(),b.moveTo(y,n),b.lineTo(A,n),b.stroke(),b.beginPath(),b.moveTo(y,r),b.lineTo(D,r),b.stroke()));(E[k].indexLabel||u.indexLabel||E[k].indexLabelFormatter||u.indexLabelFormatter)&&this._indexLabels.push({chartType:u.type,dataPoint:E[k],dataSeries:u,point:{x:A+(D-A)/2,y:a.axisY.reversed?
|
|
425
|
+
q:p},direction:1,bounds:{x1:A,y1:Math.min(p,q),x2:D,y2:Math.max(p,q)},color:e})}}s&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(d.x1,d.y1,d.width,d.height),b.restore());
|
|
426
|
+
c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:t.fadeInAnimation,easingFunction:t.easing.easeInQuad,animationBase:0}}};m.prototype.renderBoxAndWhisker=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=s?this._preRenderCtx:g,b=this._eventManager.ghostCtx;if(!(0>=a.dataSeriesIndexes.length)){var e=null,l=this.plotArea,d=0,k,y,n,p,q,r,h,e=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,d=this.options.dataPointMaxWidth?
|
|
427
|
+
this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.015*this.width,w=a.axisX.dataInfo.minDiff;isFinite(w)||(w=0.3*Math.abs(a.axisX.range));w=this.options.dataPointWidth?this.dataPointWidth:0.7*l.width*(a.axisX.logarithmic?Math.log(w)/Math.log(a.axisX.range):Math.abs(w)/Math.abs(a.axisX.range))<<0;this.dataPointMaxWidth&&e>d&&(e=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,d));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&d<e)&&(d=Math.max(this.options.dataPointWidth?
|
|
428
|
+
this.dataPointWidth:-Infinity,e));w<e&&(w=e);w>d&&(w=d);c.save();s&&b.save();c.beginPath();c.rect(l.x1,l.y1,l.width,l.height);c.clip();s&&(b.beginPath(),b.rect(l.x1,l.y1,l.width,l.height),b.clip());for(var z=!1,z=!!a.axisY.reversed,m=0;m<a.dataSeriesIndexes.length;m++){var u=a.dataSeriesIndexes[m],E=this.data[u],x=E.dataPoints;if(0<x.length)for(var v=5<w&&E.bevelEnabled?!0:!1,d=0;d<x.length;d++)if(x[d].getTime?h=x[d].x.getTime():h=x[d].x,!(h<a.axisX.dataInfo.viewPortMin||h>a.axisX.dataInfo.viewPortMax)&&
|
|
429
|
+
!f(x[d].y)&&x[d].y.length&&"number"===typeof x[d].y[0]&&"number"===typeof x[d].y[1]&&"number"===typeof x[d].y[2]&&"number"===typeof x[d].y[3]&&"number"===typeof x[d].y[4]&&5===x[d].y.length){k=a.axisX.convertValueToPixel(h);y=a.axisY.convertValueToPixel(x[d].y[0]);n=a.axisY.convertValueToPixel(x[d].y[1]);p=a.axisY.convertValueToPixel(x[d].y[2]);q=a.axisY.convertValueToPixel(x[d].y[3]);r=a.axisY.convertValueToPixel(x[d].y[4]);var D=k-w/2<<0,F=k+w/2<<0,e=x[d].color?x[d].color:E._colorSet[0],A=Math.round(Math.max(1,
|
|
430
|
+
0.15*w)),C=0===A%2?0:0.5,Z=x[d].whiskerColor?x[d].whiskerColor:x[d].color?E.whiskerColor?E.whiskerColor:x[d].color:E.whiskerColor?E.whiskerColor:e,W="number"===typeof x[d].whiskerThickness?x[d].whiskerThickness:"number"===typeof E.options.whiskerThickness?E.whiskerThickness:A,fa=x[d].whiskerDashType?x[d].whiskerDashType:E.whiskerDashType,da=f(x[d].whiskerLength)?f(E.options.whiskerLength)?w:E.whiskerLength:x[d].whiskerLength,da="number"===typeof da?0>=da?0:da>=w?w:da:"string"===typeof da?parseInt(da)*
|
|
431
|
+
w/100>w?w:parseInt(da)*w/100:w,ka=1===Math.round(W)%2?0.5:0,va=x[d].stemColor?x[d].stemColor:x[d].color?E.stemColor?E.stemColor:x[d].color:E.stemColor?E.stemColor:e,pa="number"===typeof x[d].stemThickness?x[d].stemThickness:"number"===typeof E.options.stemThickness?E.stemThickness:A,J=1===Math.round(pa)%2?0.5:0,G=x[d].stemDashType?x[d].stemDashType:E.stemDashType,H=x[d].lineColor?x[d].lineColor:x[d].color?E.lineColor?E.lineColor:x[d].color:E.lineColor?E.lineColor:e,L="number"===typeof x[d].lineThickness?
|
|
432
|
+
x[d].lineThickness:"number"===typeof E.options.lineThickness?E.lineThickness:A,Q=x[d].lineDashType?x[d].lineDashType:E.lineDashType,S=1===Math.round(L)%2?0.5:0,O=E.upperBoxColor,P=E.lowerBoxColor,N=f(E.options.fillOpacity)?1:E.fillOpacity,U=E.dataPointIds[d];this._eventManager.objectMap[U]={id:U,objectType:"dataPoint",dataSeriesIndex:u,dataPointIndex:d,x1:D,y1:y,x2:F,y2:n,x3:k,y3:p,x4:k,y4:q,y5:r,borderThickness:A,color:e,stemThickness:pa,stemColor:va,whiskerThickness:W,whiskerLength:da,whiskerColor:Z,
|
|
433
|
+
lineThickness:L,lineColor:H};c.save();0<pa&&(c.beginPath(),c.strokeStyle=va,c.lineWidth=pa,c.setLineDash&&c.setLineDash(X(G,pa)),c.moveTo(k-J,n),c.lineTo(k-J,y),c.stroke(),c.moveTo(k-J,q),c.lineTo(k-J,p),c.stroke());c.restore();b.lineWidth=Math.max(A,4);c.beginPath();ca(c,D,Math.min(r,n),F,Math.max(n,r),P,0,e,z?v:!1,z?!1:v,!1,!1,N);c.beginPath();ca(c,D,Math.min(p,r),F,Math.max(r,p),O,0,e,z?!1:v,z?v:!1,!1,!1,N);c.beginPath();c.lineWidth=A;c.strokeStyle=e;c.rect(D-C,Math.min(n,p)-C,F-D+2*C,Math.max(n,
|
|
434
|
+
p)-Math.min(n,p)+2*C);c.stroke();c.save();0<L&&(c.beginPath(),c.globalAlpha=1,c.setLineDash&&c.setLineDash(X(Q,L)),c.strokeStyle=H,c.lineWidth=L,c.moveTo(D,r-S),c.lineTo(F,r-S),c.stroke());c.restore();c.save();0<W&&(c.beginPath(),c.setLineDash&&c.setLineDash(X(fa,W)),c.strokeStyle=Z,c.lineWidth=W,c.moveTo(k-da/2<<0,q-ka),c.lineTo(k+da/2<<0,q-ka),c.stroke(),c.moveTo(k-da/2<<0,y+ka),c.lineTo(k+da/2<<0,y+ka),c.stroke());c.restore();s&&(e=R(U),b.strokeStyle=e,b.lineWidth=pa,0<pa&&(b.moveTo(k-C-J,n),b.lineTo(k-
|
|
435
|
+
C-J,Math.max(y,q)),b.stroke(),b.moveTo(k-C-J,Math.min(y,q)),b.lineTo(k-C-J,p),b.stroke()),ca(b,D,Math.max(n,p),F,Math.min(n,p),e,0,null,!1,!1,!1,!1),0<W&&(b.beginPath(),b.lineWidth=W,b.moveTo(k+da/2,q-ka),b.lineTo(k-da/2,q-ka),b.stroke(),b.moveTo(k+da/2,y+ka),b.lineTo(k-da/2,y+ka),b.stroke()));(x[d].indexLabel||E.indexLabel||x[d].indexLabelFormatter||E.indexLabelFormatter)&&this._indexLabels.push({chartType:E.type,dataPoint:x[d],dataSeries:E,point:{x:D+(F-D)/2,y:a.axisY.reversed?y:q},direction:1,
|
|
436
|
+
bounds:{x1:D,y1:Math.min(y,q),x2:F,y2:Math.max(y,q)},color:e})}}s&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(l.x1,l.y1,l.width,l.height),b.restore());c.restore();return{source:g,
|
|
437
|
+
dest:this.plotArea.ctx,animationCallback:t.fadeInAnimation,easingFunction:t.easing.easeInQuad,animationBase:0}}};m.prototype.renderRangeColumn=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=s?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,l=0,d,k,y,l=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;d=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:
|
|
438
|
+
0.03*this.width;var n=a.axisX.dataInfo.minDiff;isFinite(n)||(n=0.3*Math.abs(a.axisX.range));n=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(n)/Math.log(a.axisX.range):Math.abs(n)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&l>d&&(l=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,d));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&d<l)&&(d=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,
|
|
439
|
+
l));n<l&&(n=l);n>d&&(n=d);c.save();s&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();s&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(var p=0;p<a.dataSeriesIndexes.length;p++){var q=a.dataSeriesIndexes[p],r=this.data[q],h=r.dataPoints;if(0<h.length)for(var w=5<n&&r.bevelEnabled?!0:!1,l=0;l<h.length;l++)if(h[l].getTime?y=h[l].x.getTime():y=h[l].x,!(y<a.axisX.dataInfo.viewPortMin||
|
|
440
440
|
y>a.axisX.dataInfo.viewPortMax)&&!f(h[l].y)&&h[l].y.length&&"number"===typeof h[l].y[0]&&"number"===typeof h[l].y[1]){b=a.axisX.convertValueToPixel(y);d=a.axisY.convertValueToPixel(h[l].y[0]);k=a.axisY.convertValueToPixel(h[l].y[1]);var z=a.axisX.reversed?b+a.plotType.totalDataSeries*n/2-(a.previousDataSeriesCount+p)*n<<0:b-a.plotType.totalDataSeries*n/2+(a.previousDataSeriesCount+p)*n<<0,m=a.axisX.reversed?z-n<<0:z+n<<0,b=h[l].color?h[l].color:r._colorSet[l%r._colorSet.length];if(d>k){var u=d;d=
|
|
441
441
|
k;k=u}u=r.dataPointIds[l];this._eventManager.objectMap[u]={id:u,objectType:"dataPoint",dataSeriesIndex:q,dataPointIndex:l,x1:z,y1:d,x2:m,y2:k};ca(c,a.axisX.reversed?m:z,d,a.axisX.reversed?z:m,k,b,0,b,w,w,!1,!1,r.fillOpacity);b=R(u);s&&ca(this._eventManager.ghostCtx,a.axisX.reversed?m:z,d,a.axisX.reversed?z:m,k,b,0,null,!1,!1,!1,!1);if(h[l].indexLabel||r.indexLabel||h[l].indexLabelFormatter||r.indexLabelFormatter)this._indexLabels.push({chartType:"rangeColumn",dataPoint:h[l],dataSeries:r,indexKeyword:0,
|
|
442
|
-
point:{x:z+(m-z)/2,y:h[l].y[1]>=h[l].y[0]?k:d},direction:h[l].y[1]>=h[l].y[0]?-1:1,bounds:{x1:z,y1:Math.min(d,k),x2:m,y2:Math.max(d,k)},color:b}),this._indexLabels.push({chartType:"rangeColumn",dataPoint:h[l],dataSeries:r,indexKeyword:1,point:{x:z+(m-z)/2,y:h[l].y[1]>=h[l].y[0]?d:k},direction:h[l].y[1]>=h[l].y[0]?1:-1,bounds:{x1:z,y1:Math.min(d,k),x2:m,y2:Math.max(d,k)},color:b})}}s&&(
|
|
443
|
-
c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(
|
|
444
|
-
a.targetCanvasCtx||this.plotArea.ctx,c=s?this._preRenderCtx:
|
|
445
|
-
d.height),this._eventManager.ghostCtx.clip());for(var m=0,u=0;u<this.data.length;u++)!this.data[u].type.match(/(bar|column)/ig)||!this.data[u].visible||this.data[u].type.match(/(stacked)/ig)&&m||m++;for(var E=0;E<a.dataSeriesIndexes.length;E++){var x=a.dataSeriesIndexes[E],A=this.data[x],D=A.dataPoints,F=f(A._linkedSeries)?!1:A._linkedSeries.type.match(/(bar|column)/ig)&&A._linkedSeries.visible?!0:!1,v=0;if(F)for(
|
|
446
|
-
this.data[u].type.match(/(stacked)/ig)&&v||(this.data[u].type.match(/(range)/ig)&&(l=!0),v++);
|
|
447
|
-
this.height,0.9*(this.plotArea.height/(F?m:1)))<<0:0.03*this.width);u=this.options.dataPointWidth?this.dataPointWidth:0.9*((b?d.height:d.width)*(a.axisX.logarithmic?Math.log(z)/Math.log(a.axisX.range):Math.abs(z)/Math.abs(a.axisX.range))/(F?m:1))<<0;this.dataPointMaxWidth&&
|
|
448
|
-
k);if(0<D.length)for(var C=A._colorSet,k=0;k<D.length;k++){var
|
|
449
|
-
f(A.options.whiskerLength)?50:0:0};Z.length="number"===typeof Z.length?0>=Z.length?0:Z.length>=u?u:Z.length:"string"===typeof Z.length?parseInt(Z.length)*u/100>u?u:parseInt(Z.length)*u/100>u:u;Z.thickness="number"===typeof Z.thickness?0>Z.thickness?0:Math.round(Z.thickness):2;var W={color:D[k].stemColor?D[k].stemColor:D[k].color?A.stemColor?A.stemColor:D[k].color:A.stemColor?A.stemColor:
|
|
442
|
+
point:{x:z+(m-z)/2,y:h[l].y[1]>=h[l].y[0]?k:d},direction:h[l].y[1]>=h[l].y[0]?-1:1,bounds:{x1:z,y1:Math.min(d,k),x2:m,y2:Math.max(d,k)},color:b}),this._indexLabels.push({chartType:"rangeColumn",dataPoint:h[l],dataSeries:r,indexKeyword:1,point:{x:z+(m-z)/2,y:h[l].y[1]>=h[l].y[0]?d:k},direction:h[l].y[1]>=h[l].y[0]?1:-1,bounds:{x1:z,y1:Math.min(d,k),x2:m,y2:Math.max(d,k)},color:b})}}s&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&
|
|
443
|
+
c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:t.fadeInAnimation,easingFunction:t.easing.easeInQuad,animationBase:0}}};m.prototype.renderError=function(a){var g=
|
|
444
|
+
a.targetCanvasCtx||this.plotArea.ctx,c=s?this._preRenderCtx:g,b=a.axisY._position?"left"===a.axisY._position||"right"===a.axisY._position?!1:!0:!1;if(!(0>=a.dataSeriesIndexes.length)){var e=null,l=!1,d=this.plotArea,k=0,y,n,p,q,r,h,w,z=a.axisX.dataInfo.minDiff;isFinite(z)||(z=0.3*Math.abs(a.axisX.range));c.save();s&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(d.x1,d.y1,d.width,d.height);c.clip();s&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(d.x1,d.y1,d.width,
|
|
445
|
+
d.height),this._eventManager.ghostCtx.clip());for(var m=0,u=0;u<this.data.length;u++)!this.data[u].type.match(/(bar|column)/ig)||!this.data[u].visible||this.data[u].type.match(/(stacked)/ig)&&m||m++;for(var E=0;E<a.dataSeriesIndexes.length;E++){var x=a.dataSeriesIndexes[E],A=this.data[x],D=A.dataPoints,F=f(A._linkedSeries)?!1:A._linkedSeries.type.match(/(bar|column)/ig)&&A._linkedSeries.visible?!0:!1,v=0;if(F)for(e=A._linkedSeries.id,u=0;u<e;u++)!this.data[u].type.match(/(bar|column)/ig)||!this.data[u].visible||
|
|
446
|
+
this.data[u].type.match(/(stacked)/ig)&&v||(this.data[u].type.match(/(range)/ig)&&(l=!0),v++);e=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;k=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:b?Math.min(0.15*this.height,0.9*(this.plotArea.height/(F?m:1)))<<0:0.3*this.width;l&&(k=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:b?Math.min(0.15*
|
|
447
|
+
this.height,0.9*(this.plotArea.height/(F?m:1)))<<0:0.03*this.width);u=this.options.dataPointWidth?this.dataPointWidth:0.9*((b?d.height:d.width)*(a.axisX.logarithmic?Math.log(z)/Math.log(a.axisX.range):Math.abs(z)/Math.abs(a.axisX.range))/(F?m:1))<<0;this.dataPointMaxWidth&&e>k&&(e=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,k));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&k<e)&&(k=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,e));u<e&&(u=e);u>k&&(u=
|
|
448
|
+
k);if(0<D.length)for(var C=A._colorSet,k=0;k<D.length;k++){var e=A.lineColor=A.options.color?A.options.color:C[0],Z={color:D[k].whiskerColor?D[k].whiskerColor:D[k].color?A.whiskerColor?A.whiskerColor:D[k].color:A.whiskerColor?A.whiskerColor:e,thickness:f(D[k].whiskerThickness)?A.whiskerThickness:D[k].whiskerThickness,dashType:D[k].whiskerDashType?D[k].whiskerDashType:A.whiskerDashType,length:f(D[k].whiskerLength)?f(A.options.whiskerLength)?u:A.options.whiskerLength:D[k].whiskerLength,trimLength:f(D[k].whiskerLength)?
|
|
449
|
+
f(A.options.whiskerLength)?50:0:0};Z.length="number"===typeof Z.length?0>=Z.length?0:Z.length>=u?u:Z.length:"string"===typeof Z.length?parseInt(Z.length)*u/100>u?u:parseInt(Z.length)*u/100>u:u;Z.thickness="number"===typeof Z.thickness?0>Z.thickness?0:Math.round(Z.thickness):2;var W={color:D[k].stemColor?D[k].stemColor:D[k].color?A.stemColor?A.stemColor:D[k].color:A.stemColor?A.stemColor:e,thickness:D[k].stemThickness?D[k].stemThickness:A.stemThickness,dashType:D[k].stemDashType?D[k].stemDashType:
|
|
450
450
|
A.stemDashType};W.thickness="number"===typeof W.thickness?0>W.thickness?0:Math.round(W.thickness):2;D[k].getTime?w=D[k].x.getTime():w=D[k].x;if(!(w<a.axisX.dataInfo.viewPortMin||w>a.axisX.dataInfo.viewPortMax)&&!f(D[k].y)&&D[k].y.length&&"number"===typeof D[k].y[0]&&"number"===typeof D[k].y[1]){var fa=a.axisX.convertValueToPixel(w);b?n=fa:y=fa;fa=a.axisY.convertValueToPixel(D[k].y[0]);b?p=fa:r=fa;fa=a.axisY.convertValueToPixel(D[k].y[1]);b?q=fa:h=fa;b?(r=a.axisX.reversed?n+(F?m:1)*u/2-(F?v-1:0)*u<<
|
|
451
451
|
0:n-(F?m:1)*u/2+(F?v-1:0)*u<<0,h=a.axisX.reversed?r-u<<0:r+u<<0):(p=a.axisX.reversed?y+(F?m:1)*u/2-(F?v-1:0)*u<<0:y-(F?m:1)*u/2+(F?v-1:0)*u<<0,q=a.axisX.reversed?p-u<<0:p+u<<0);!b&&r>h&&(fa=r,r=h,h=fa);b&&p>q&&(fa=p,p=q,q=fa);fa=A.dataPointIds[k];this._eventManager.objectMap[fa]={id:fa,objectType:"dataPoint",dataSeriesIndex:x,dataPointIndex:k,x1:Math.min(p,q),y1:Math.min(r,h),x2:Math.max(q,p),y2:Math.max(h,r),isXYSwapped:b,stemProperties:W,whiskerProperties:Z};Q(c,Math.min(p,q),Math.min(r,h),Math.max(q,
|
|
452
|
-
p),Math.max(h,r),
|
|
453
|
-
dataPoint:D[k],dataSeries:A,indexKeyword:1,point:{x:b?D[k].y[1]>=D[k].y[0]?q:p:p+(q-p)/2,y:b?r+(h-r)/2:D[k].y[1]>=D[k].y[0]?r:h},direction:D[k].y[1]>=D[k].y[0]?1:-1,bounds:{x1:b?Math.min(p,q):p,y1:b?r:Math.min(r,h),x2:b?Math.max(p,q):q,y2:b?h:Math.max(r,h)},color:
|
|
454
|
-
0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(d.x1,d.y1,d.width,d.height),this._eventManager.ghostCtx.restore());c.restore();return{source:
|
|
455
|
-
null,
|
|
456
|
-
Math.abs(p)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&l>d&&(l=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,d));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&d<l)&&(d=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,l));p<l&&(p=l);p>d&&(p=d);c.save();s&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(
|
|
457
|
-
|
|
452
|
+
p),Math.max(h,r),e,Z,W,b);s&&Q(this._eventManager.ghostCtx,p,r,q,h,e,Z,W,b);if(D[k].indexLabel||A.indexLabel||D[k].indexLabelFormatter||A.indexLabelFormatter)this._indexLabels.push({chartType:"error",dataPoint:D[k],dataSeries:A,indexKeyword:0,point:{x:b?D[k].y[1]>=D[k].y[0]?p:q:p+(q-p)/2,y:b?r+(h-r)/2:D[k].y[1]>=D[k].y[0]?h:r},direction:D[k].y[1]>=D[k].y[0]?-1:1,bounds:{x1:b?Math.min(p,q):p,y1:b?r:Math.min(r,h),x2:b?Math.max(p,q):q,y2:b?h:Math.max(r,h)},color:e,axisSwapped:b}),this._indexLabels.push({chartType:"error",
|
|
453
|
+
dataPoint:D[k],dataSeries:A,indexKeyword:1,point:{x:b?D[k].y[1]>=D[k].y[0]?q:p:p+(q-p)/2,y:b?r+(h-r)/2:D[k].y[1]>=D[k].y[0]?r:h},direction:D[k].y[1]>=D[k].y[0]?1:-1,bounds:{x1:b?Math.min(p,q):p,y1:b?r:Math.min(r,h),x2:b?Math.max(p,q):q,y2:b?h:Math.max(r,h)},color:e,axisSwapped:b})}}}s&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,
|
|
454
|
+
0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(d.x1,d.y1,d.width,d.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:t.fadeInAnimation,easingFunction:t.easing.easeInQuad,animationBase:0}}};m.prototype.renderRangeBar=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=s?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=
|
|
455
|
+
null,e=this.plotArea,l=0,d,k,y,n,l=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;d=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.height,0.9*(this.plotArea.height/a.plotType.totalDataSeries))<<0;var p=a.axisX.dataInfo.minDiff;isFinite(p)||(p=0.3*Math.abs(a.axisX.range));p=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(p)/Math.log(a.axisX.range):
|
|
456
|
+
Math.abs(p)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&l>d&&(l=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,d));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&d<l)&&(d=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,l));p<l&&(p=l);p>d&&(p=d);c.save();s&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(e.x1,e.y1,e.width,e.height);c.clip();s&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,
|
|
457
|
+
e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(var q=0;q<a.dataSeriesIndexes.length;q++){var r=a.dataSeriesIndexes[q],h=this.data[r],w=h.dataPoints;if(0<w.length){var z=5<p&&h.bevelEnabled?!0:!1;c.strokeStyle="#4572A7 ";for(l=0;l<w.length;l++)if(w[l].getTime?n=w[l].x.getTime():n=w[l].x,!(n<a.axisX.dataInfo.viewPortMin||n>a.axisX.dataInfo.viewPortMax)&&!f(w[l].y)&&w[l].y.length&&"number"===typeof w[l].y[0]&&"number"===typeof w[l].y[1]){d=a.axisY.convertValueToPixel(w[l].y[0]);k=a.axisY.convertValueToPixel(w[l].y[1]);
|
|
458
458
|
y=a.axisX.convertValueToPixel(n);y=a.axisX.reversed?y+a.plotType.totalDataSeries*p/2-(a.previousDataSeriesCount+q)*p<<0:y-a.plotType.totalDataSeries*p/2+(a.previousDataSeriesCount+q)*p<<0;var m=a.axisX.reversed?y-p<<0:y+p<<0;d>k&&(b=d,d=k,k=b);b=w[l].color?w[l].color:h._colorSet[l%h._colorSet.length];ca(c,d,a.axisX.reversed?m:y,k,a.axisX.reversed?y:m,b,0,null,z,!1,!1,!1,h.fillOpacity);b=h.dataPointIds[l];this._eventManager.objectMap[b]={id:b,objectType:"dataPoint",dataSeriesIndex:r,dataPointIndex:l,
|
|
459
459
|
x1:d,y1:y,x2:k,y2:m};b=R(b);s&&ca(this._eventManager.ghostCtx,d,a.axisX.reversed?m:y,k,a.axisX.reversed?y:m,b,0,null,!1,!1,!1,!1);if(w[l].indexLabel||h.indexLabel||w[l].indexLabelFormatter||h.indexLabelFormatter)this._indexLabels.push({chartType:"rangeBar",dataPoint:w[l],dataSeries:h,indexKeyword:0,point:{x:w[l].y[1]>=w[l].y[0]?d:k,y:y+(m-y)/2},direction:w[l].y[1]>=w[l].y[0]?-1:1,bounds:{x1:Math.min(d,k),y1:y,x2:Math.max(d,k),y2:m},color:b}),this._indexLabels.push({chartType:"rangeBar",dataPoint:w[l],
|
|
460
|
-
dataSeries:h,indexKeyword:1,point:{x:w[l].y[1]>=w[l].y[0]?k:d,y:y+(m-y)/2},direction:w[l].y[1]>=w[l].y[0]?1:-1,bounds:{x1:Math.min(d,k),y1:y,x2:Math.max(d,k),y2:m},color:b})}}}s&&(
|
|
461
|
-
0,0,this.width,this.height),c.clearRect(
|
|
462
|
-
b.moveTo(a.x,a.y2);for(c=0;c<k.length;c++)a=k[c],b.lineTo(a.x,a.y2);b.moveTo(k[0].x,k[0].y1);for(c=0;c<k.length;c++)a=k[c],b.lineTo(a.x,a.y1);b.stroke()}b.beginPath();b.moveTo(y,m);
|
|
463
|
-
|
|
460
|
+
dataSeries:h,indexKeyword:1,point:{x:w[l].y[1]>=w[l].y[0]?k:d,y:y+(m-y)/2},direction:w[l].y[1]>=w[l].y[0]?1:-1,bounds:{x1:Math.min(d,k),y1:y,x2:Math.max(d,k),y2:m},color:b})}}}s&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,
|
|
461
|
+
0,0,this.width,this.height),c.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:t.fadeInAnimation,easingFunction:t.easing.easeInQuad,animationBase:0}}};m.prototype.renderRangeArea=function(a){function g(){if(E){for(var a=null,c=k.length-1;0<=c;c--)a=k[c],b.lineTo(a.x,a.y2),e.lineTo(a.x,a.y2);b.closePath();b.globalAlpha=p.fillOpacity;b.fill();b.globalAlpha=1;e.fill();if(0<p.lineThickness){b.beginPath();
|
|
462
|
+
b.moveTo(a.x,a.y2);for(c=0;c<k.length;c++)a=k[c],b.lineTo(a.x,a.y2);b.moveTo(k[0].x,k[0].y1);for(c=0;c<k.length;c++)a=k[c],b.lineTo(a.x,a.y1);b.stroke()}b.beginPath();b.moveTo(y,m);e.beginPath();e.moveTo(y,m);E={x:y,y:m};k=[];k.push({x:y,y1:m,y2:A})}}var c=a.targetCanvasCtx||this.plotArea.ctx,b=s?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx,l=[],f=this.plotArea;b.save();s&&e.save();b.beginPath();b.rect(f.x1,f.y1,f.width,f.height);b.clip();s&&(e.beginPath(),
|
|
463
|
+
e.rect(f.x1,f.y1,f.width,f.height),e.clip());for(var d=0;d<a.dataSeriesIndexes.length;d++){var k=[],n=a.dataSeriesIndexes[d],p=this.data[n],q=p.dataPoints,l=p.id;this._eventManager.objectMap[l]={objectType:"dataSeries",dataSeriesIndex:n};l=R(l);e.fillStyle=l;var l=[],r=!0,h=0,y,m,A,u,E=null;if(0<q.length){var x=p._colorSet[h%p._colorSet.length],v=p.lineColor=p.options.lineColor||x,D=v;b.fillStyle=x;b.strokeStyle=v;b.lineWidth=p.lineThickness;var F="solid";if(b.setLineDash){var C=X(p.nullDataLineDashType,
|
|
464
464
|
p.lineThickness),F=p.lineDashType,G=X(F,p.lineThickness);b.setLineDash(G)}for(var Z=!0;h<q.length;h++)if(u=q[h].x.getTime?q[h].x.getTime():q[h].x,!(u<a.axisX.dataInfo.viewPortMin||u>a.axisX.dataInfo.viewPortMax&&(!p.connectNullData||!Z)))if(null!==q[h].y&&q[h].y.length&&"number"===typeof q[h].y[0]&&"number"===typeof q[h].y[1]){y=a.axisX.convertValueToPixel(u);m=a.axisY.convertValueToPixel(q[h].y[0]);A=a.axisY.convertValueToPixel(q[h].y[1]);r||Z?(p.connectNullData&&!r?(b.setLineDash&&(p.options.nullDataLineDashType||
|
|
465
|
-
F===p.lineDashType&&p.lineDashType!==p.nullDataLineDashType)&&(k[k.length-1].newLineDashArray=G,F=p.nullDataLineDashType,b.setLineDash(C)),b.lineTo(y,m),s&&
|
|
466
|
-
y2:A};h<q.length-1&&(D!==(q[h].lineColor||v)||F!==(q[h].lineDashType||p.lineDashType))&&(
|
|
467
|
-
s&&l.push({x:y,y:A,ctx:
|
|
468
|
-
-1:1,color:x}),this._indexLabels.push({chartType:"rangeArea",dataPoint:q[h],dataSeries:p,indexKeyword:1,point:{x:y,y:A},direction:q[h].y[0]>q[h].y[1]===a.axisY.reversed?1:-1,color:x})}else Z||r||
|
|
469
|
-
this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(f.x1,f.y1,f.width,f.height),this._eventManager.ghostCtx.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:t.xClipAnimation,easingFunction:t.easing.linear,animationBase:0}}};m.prototype.renderRangeSplineArea=function(a){function
|
|
470
|
-
0;h<
|
|
471
|
-
1].x,
|
|
472
|
-
3;h+=3,l++){if(m[l].newStrokeStyle||m[l].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(
|
|
473
|
-
m[l].newLineDashArray&&b.setLineDash(m[l].newLineDashArray);b.bezierCurveTo(
|
|
474
|
-
a.dataSeriesIndexes[d],n=this.data[k],p=n.dataPoints,l=n.id;this._eventManager.objectMap[l]={objectType:"dataSeries",dataSeriesIndex:k};l=R(l);
|
|
465
|
+
F===p.lineDashType&&p.lineDashType!==p.nullDataLineDashType)&&(k[k.length-1].newLineDashArray=G,F=p.nullDataLineDashType,b.setLineDash(C)),b.lineTo(y,m),s&&e.lineTo(y,m),k.push({x:y,y1:m,y2:A})):(b.beginPath(),b.moveTo(y,m),E={x:y,y:m},k=[],k.push({x:y,y1:m,y2:A}),s&&(e.beginPath(),e.moveTo(y,m))),Z=r=!1):(b.lineTo(y,m),k.push({x:y,y1:m,y2:A}),s&&e.lineTo(y,m),0==h%250&&g());u=p.dataPointIds[h];this._eventManager.objectMap[u]={id:u,objectType:"dataPoint",dataSeriesIndex:n,dataPointIndex:h,x1:y,y1:m,
|
|
466
|
+
y2:A};h<q.length-1&&(D!==(q[h].lineColor||v)||F!==(q[h].lineDashType||p.lineDashType))&&(g(),D=q[h].lineColor||v,k[k.length-1].newStrokeStyle=D,b.strokeStyle=D,b.setLineDash&&(q[h].lineDashType?(F=q[h].lineDashType,k[k.length-1].newLineDashArray=X(F,p.lineThickness),b.setLineDash(k[k.length-1].newLineDashArray)):(F=p.lineDashType,k[k.length-1].newLineDashArray=G,b.setLineDash(G))));if(0!==q[h].markerSize&&(0<q[h].markerSize||0<p.markerSize)){var W=p.getMarkerProperties(h,y,A,b);l.push(W);var fa=R(u);
|
|
467
|
+
s&&l.push({x:y,y:A,ctx:e,type:W.type,size:W.size,color:fa,borderColor:fa,borderThickness:W.borderThickness});W=p.getMarkerProperties(h,y,m,b);l.push(W);fa=R(u);s&&l.push({x:y,y:m,ctx:e,type:W.type,size:W.size,color:fa,borderColor:fa,borderThickness:W.borderThickness})}if(q[h].indexLabel||p.indexLabel||q[h].indexLabelFormatter||p.indexLabelFormatter)this._indexLabels.push({chartType:"rangeArea",dataPoint:q[h],dataSeries:p,indexKeyword:0,point:{x:y,y:m},direction:q[h].y[0]>q[h].y[1]===a.axisY.reversed?
|
|
468
|
+
-1:1,color:x}),this._indexLabels.push({chartType:"rangeArea",dataPoint:q[h],dataSeries:p,indexKeyword:1,point:{x:y,y:A},direction:q[h].y[0]>q[h].y[1]===a.axisY.reversed?1:-1,color:x})}else Z||r||g(),Z=!0;g();z.drawMarkers(l)}}s&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&
|
|
469
|
+
this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(f.x1,f.y1,f.width,f.height),this._eventManager.ghostCtx.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:t.xClipAnimation,easingFunction:t.easing.linear,animationBase:0}}};m.prototype.renderRangeSplineArea=function(a){function g(a,c){var g=G(m,2);if(0<g.length){if(0<n.lineThickness){b.strokeStyle=c;b.setLineDash&&b.setLineDash(a);b.beginPath();b.moveTo(g[0].x,g[0].y);for(var h=
|
|
470
|
+
0;h<g.length-3;h+=3){if(g[h].newStrokeStyle||g[h].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(g[h].x,g[h].y),g[h].newStrokeStyle&&(b.strokeStyle=g[h].newStrokeStyle),g[h].newLineDashArray&&b.setLineDash(g[h].newLineDashArray);b.bezierCurveTo(g[h+1].x,g[h+1].y,g[h+2].x,g[h+2].y,g[h+3].x,g[h+3].y)}}b.beginPath();b.moveTo(g[0].x,g[0].y);s&&(e.beginPath(),e.moveTo(g[0].x,g[0].y));for(h=0;h<g.length-3;h+=3)b.bezierCurveTo(g[h+1].x,g[h+1].y,g[h+2].x,g[h+2].y,g[h+3].x,g[h+3].y),s&&e.bezierCurveTo(g[h+
|
|
471
|
+
1].x,g[h+1].y,g[h+2].x,g[h+2].y,g[h+3].x,g[h+3].y);g=G(A,2);b.lineTo(A[A.length-1].x,A[A.length-1].y);for(h=g.length-1;2<h;h-=3)b.bezierCurveTo(g[h-1].x,g[h-1].y,g[h-2].x,g[h-2].y,g[h-3].x,g[h-3].y),s&&e.bezierCurveTo(g[h-1].x,g[h-1].y,g[h-2].x,g[h-2].y,g[h-3].x,g[h-3].y);b.closePath();b.globalAlpha=n.fillOpacity;b.fill();s&&(e.closePath(),e.fill());b.globalAlpha=1;if(0<n.lineThickness){b.strokeStyle=c;b.setLineDash&&b.setLineDash(a);b.beginPath();b.moveTo(g[0].x,g[0].y);for(var l=h=0;h<g.length-
|
|
472
|
+
3;h+=3,l++){if(m[l].newStrokeStyle||m[l].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(g[h].x,g[h].y),m[l].newStrokeStyle&&(b.strokeStyle=m[l].newStrokeStyle),m[l].newLineDashArray&&b.setLineDash(m[l].newLineDashArray);b.bezierCurveTo(g[h+1].x,g[h+1].y,g[h+2].x,g[h+2].y,g[h+3].x,g[h+3].y)}g=G(m,2);b.moveTo(g[0].x,g[0].y);for(l=h=0;h<g.length-3;h+=3,l++){if(m[l].newStrokeStyle||m[l].newLineDashArray)b.stroke(),b.beginPath(),b.moveTo(g[h].x,g[h].y),m[l].newStrokeStyle&&(b.strokeStyle=m[l].newStrokeStyle),
|
|
473
|
+
m[l].newLineDashArray&&b.setLineDash(m[l].newLineDashArray);b.bezierCurveTo(g[h+1].x,g[h+1].y,g[h+2].x,g[h+2].y,g[h+3].x,g[h+3].y)}b.stroke()}b.beginPath()}}var c=a.targetCanvasCtx||this.plotArea.ctx,b=s?this._preRenderCtx:c;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx,l=[],f=this.plotArea;b.save();s&&e.save();b.beginPath();b.rect(f.x1,f.y1,f.width,f.height);b.clip();s&&(e.beginPath(),e.rect(f.x1,f.y1,f.width,f.height),e.clip());for(var d=0;d<a.dataSeriesIndexes.length;d++){var k=
|
|
474
|
+
a.dataSeriesIndexes[d],n=this.data[k],p=n.dataPoints,l=n.id;this._eventManager.objectMap[l]={objectType:"dataSeries",dataSeriesIndex:k};l=R(l);e.fillStyle=l;var l=[],q=0,r,h,y,m=[],A=[];if(0<p.length){var u=n._colorSet[q%n._colorSet.length],E=n.lineColor=n.options.lineColor||u,x=E;b.fillStyle=u;b.lineWidth=n.lineThickness;var v="solid",D;if(b.setLineDash){var F=X(n.nullDataLineDashType,n.lineThickness),v=n.lineDashType;D=X(v,n.lineThickness)}for(h=!1;q<p.length;q++)if(r=p[q].x.getTime?p[q].x.getTime():
|
|
475
475
|
p[q].x,!(r<a.axisX.dataInfo.viewPortMin||r>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!h)))if(null!==p[q].y&&p[q].y.length&&"number"===typeof p[q].y[0]&&"number"===typeof p[q].y[1]){r=a.axisX.convertValueToPixel(r);h=a.axisY.convertValueToPixel(p[q].y[0]);y=a.axisY.convertValueToPixel(p[q].y[1]);var C=n.dataPointIds[q];this._eventManager.objectMap[C]={id:C,objectType:"dataPoint",dataSeriesIndex:k,dataPointIndex:q,x1:r,y1:h,y2:y};m[m.length]={x:r,y:h};A[A.length]={x:r,y:y};q<p.length-1&&(x!==
|
|
476
|
-
(p[q].lineColor||E)||v!==(p[q].lineDashType||n.lineDashType))&&(x=p[q].lineColor||E,m[m.length-1].newStrokeStyle=x,b.setLineDash&&(p[q].lineDashType?(v=p[q].lineDashType,m[m.length-1].newLineDashArray=X(v,n.lineThickness)):(v=n.lineDashType,m[m.length-1].newLineDashArray=D)));if(0!==p[q].markerSize&&(0<p[q].markerSize||0<n.markerSize)){var L=n.getMarkerProperties(q,r,h,b);l.push(L);var Z=R(C);s&&l.push({x:r,y:h,ctx:
|
|
477
|
-
L=n.getMarkerProperties(q,r,y,b);l.push(L);Z=R(C);s&&l.push({x:r,y:y,ctx:
|
|
478
|
-
y:y},direction:p[q].y[0]<=p[q].y[1]?1:-1,color:u});h=!1}else 0<q&&!h&&(n.connectNullData?b.setLineDash&&(0<m.length&&(n.options.nullDataLineDashType||!p[q-1].lineDashType))&&(m[m.length-1].newLineDashArray=F,v=n.nullDataLineDashType):(
|
|
479
|
-
0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(f.x1,f.y1,f.width,f.height),this._eventManager.ghostCtx.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:t.xClipAnimation,easingFunction:t.easing.linear,animationBase:0}}};m.prototype.renderWaterfall=function(a){var
|
|
480
|
-
|
|
476
|
+
(p[q].lineColor||E)||v!==(p[q].lineDashType||n.lineDashType))&&(x=p[q].lineColor||E,m[m.length-1].newStrokeStyle=x,b.setLineDash&&(p[q].lineDashType?(v=p[q].lineDashType,m[m.length-1].newLineDashArray=X(v,n.lineThickness)):(v=n.lineDashType,m[m.length-1].newLineDashArray=D)));if(0!==p[q].markerSize&&(0<p[q].markerSize||0<n.markerSize)){var L=n.getMarkerProperties(q,r,h,b);l.push(L);var Z=R(C);s&&l.push({x:r,y:h,ctx:e,type:L.type,size:L.size,color:Z,borderColor:Z,borderThickness:L.borderThickness});
|
|
477
|
+
L=n.getMarkerProperties(q,r,y,b);l.push(L);Z=R(C);s&&l.push({x:r,y:y,ctx:e,type:L.type,size:L.size,color:Z,borderColor:Z,borderThickness:L.borderThickness})}if(p[q].indexLabel||n.indexLabel||p[q].indexLabelFormatter||n.indexLabelFormatter)this._indexLabels.push({chartType:"rangeSplineArea",dataPoint:p[q],dataSeries:n,indexKeyword:0,point:{x:r,y:h},direction:p[q].y[0]<=p[q].y[1]?-1:1,color:u}),this._indexLabels.push({chartType:"rangeSplineArea",dataPoint:p[q],dataSeries:n,indexKeyword:1,point:{x:r,
|
|
478
|
+
y:y},direction:p[q].y[0]<=p[q].y[1]?1:-1,color:u});h=!1}else 0<q&&!h&&(n.connectNullData?b.setLineDash&&(0<m.length&&(n.options.nullDataLineDashType||!p[q-1].lineDashType))&&(m[m.length-1].newLineDashArray=F,v=n.nullDataLineDashType):(g(D,E),m=[],A=[])),h=!0;g(D,E);z.drawMarkers(l)}}s&&(c.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&b.drawImage(a.axisY.maskCanvas,
|
|
479
|
+
0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(f.x1,f.y1,f.width,f.height),this._eventManager.ghostCtx.restore());b.restore();return{source:c,dest:this.plotArea.ctx,animationCallback:t.xClipAnimation,easingFunction:t.easing.linear,animationBase:0}}};m.prototype.renderWaterfall=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,c=s?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var b=this._eventManager.ghostCtx,
|
|
480
|
+
e=null,l=this.plotArea,f=0,d,k,n,p,q=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),f=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;k=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.width,0.9*(this.plotArea.width/a.plotType.totalDataSeries))<<0;var r=a.axisX.dataInfo.minDiff;isFinite(r)||(r=0.3*Math.abs(a.axisX.range));r=this.options.dataPointWidth?
|
|
481
481
|
this.dataPointWidth:0.6*(l.width*(a.axisX.logarithmic?Math.log(r)/Math.log(a.axisX.range):Math.abs(r)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&f>k&&(f=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,k));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&k<f)&&(k=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,f));r<f&&(r=f);r>k&&(r=k);c.save();s&&this._eventManager.ghostCtx.save();c.beginPath();c.rect(l.x1,l.y1,l.width,l.height);
|
|
482
|
-
c.clip();s&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(l.x1,l.y1,l.width,l.height),this._eventManager.ghostCtx.clip());for(var h=0;h<a.dataSeriesIndexes.length;h++){var y=a.dataSeriesIndexes[h],m=this.data[y],z=m.dataPoints,
|
|
482
|
+
c.clip();s&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(l.x1,l.y1,l.width,l.height),this._eventManager.ghostCtx.clip());for(var h=0;h<a.dataSeriesIndexes.length;h++){var y=a.dataSeriesIndexes[h],m=this.data[y],z=m.dataPoints,e=m._colorSet[0];m.risingColor=m.options.risingColor?m.options.risingColor:e;m.fallingColor=m.options.fallingColor?m.options.fallingColor:"#e40a0a";var u="number"===typeof m.options.lineThickness?Math.round(m.lineThickness):1,E=1===Math.round(u)%
|
|
483
483
|
2?-0.5:0;if(0<z.length)for(var x=5<r&&m.bevelEnabled?!0:!1,A=!1,D=null,v=null,f=0;f<z.length;f++)if(z[f].getTime?p=z[f].x.getTime():p=z[f].x,"number"!==typeof z[f].y){if(0<f&&!A&&m.connectNullData)var C=m.options.nullDataLineDashType||!z[f-1].lineDashType?m.nullDataLineDashType:z[f-1].lineDashType;A=!0}else{d=a.axisX.convertValueToPixel(p);k=0===m.dataPointEOs[f].cumulativeSum?q:a.axisY.convertValueToPixel(m.dataPointEOs[f].cumulativeSum);n=0===m.dataPointEOs[f].cumulativeSumYStartValue?q:a.axisY.convertValueToPixel(m.dataPointEOs[f].cumulativeSumYStartValue);
|
|
484
|
-
d=a.axisX.reversed?d+a.plotType.totalDataSeries*r/2-(a.previousDataSeriesCount+h)*r<<0:d-a.plotType.totalDataSeries*r/2+(a.previousDataSeriesCount+h)*r<<0;var G=a.axisX.reversed?d-r<<0:d+r<<0;k>n&&(
|
|
485
|
-
d:G,a.axisY.reversed?k:n,Z,0,Z,x,x,!1,!1,m.fillOpacity);
|
|
484
|
+
d=a.axisX.reversed?d+a.plotType.totalDataSeries*r/2-(a.previousDataSeriesCount+h)*r<<0:d-a.plotType.totalDataSeries*r/2+(a.previousDataSeriesCount+h)*r<<0;var G=a.axisX.reversed?d-r<<0:d+r<<0;k>n&&(e=k,k=n,n=e);a.axisY.reversed&&(e=k,k=n,n=e);e=m.dataPointIds[f];this._eventManager.objectMap[e]={id:e,objectType:"dataPoint",dataSeriesIndex:y,dataPointIndex:f,x1:d,y1:k,x2:G,y2:n};var Z=z[f].color?z[f].color:0<z[f].y?m.risingColor:m.fallingColor;ca(c,a.axisX.reversed?G:d,a.axisY.reversed?n:k,a.axisX.reversed?
|
|
485
|
+
d:G,a.axisY.reversed?k:n,Z,0,Z,x,x,!1,!1,m.fillOpacity);e=R(e);s&&ca(this._eventManager.ghostCtx,a.axisX.reversed?G:d,k,a.axisX.reversed?d:G,n,e,0,null,!1,!1,!1,!1);var W,Z=d;W="undefined"!==typeof z[f].isIntermediateSum&&!0===z[f].isIntermediateSum||"undefined"!==typeof z[f].isCumulativeSum&&!0===z[f].isCumulativeSum?0<z[f].y?k:n:0<z[f].y?n:k;0<f&&D&&(!A||m.connectNullData)&&(A&&c.setLineDash&&c.setLineDash(X(C,u)),c.beginPath(),c.moveTo(D,v-E),c.lineTo(Z,W-E),0<u&&c.stroke(),s&&(b.beginPath(),b.moveTo(D,
|
|
486
486
|
v-E),b.lineTo(Z,W-E),0<u&&b.stroke()));A=!1;D=G;v=0<z[f].y?k:n;Z=z[f].lineDashType?z[f].lineDashType:m.options.lineDashType?m.options.lineDashType:"shortDash";c.strokeStyle=z[f].lineColor?z[f].lineColor:m.options.lineColor?m.options.lineColor:"#9e9e9e";c.lineWidth=u;c.setLineDash&&(Z=X(Z,u),c.setLineDash(Z));(z[f].indexLabel||m.indexLabel||z[f].indexLabelFormatter||m.indexLabelFormatter)&&this._indexLabels.push({chartType:"waterfall",dataPoint:z[f],dataSeries:m,point:{x:d+(G-d)/2,y:0<=z[f].y?k:n},
|
|
487
|
-
direction:0>z[f].y===a.axisY.reversed?1:-1,bounds:{x1:d,y1:Math.min(k,n),x2:G,y2:Math.max(k,n)},color:
|
|
488
|
-
l.height),this._eventManager.ghostCtx.restore());c.restore();return{source:
|
|
489
|
-
2,a.closePath(),a.fill()):"doughnut"===
|
|
490
|
-
l);if(n.indexLabelFormatter||l.indexLabelFormatter)B={chart:t.options,dataSeries:n,dataPoint:l,total:k.total,percent:k.percent};k=l.indexLabelFormatter?l.indexLabelFormatter(B):l.indexLabel?t.replaceKeywordsWithValue(l.indexLabel,l,n,
|
|
491
|
-
q.indexLabelLineColor=l.indexLabelLineColor?l.indexLabelLineColor:n.options.indexLabelLineColor?n.options.indexLabelLineColor:l.color?l.color:n._colorSet[
|
|
487
|
+
direction:0>z[f].y===a.axisY.reversed?1:-1,bounds:{x1:d,y1:Math.min(k,n),x2:G,y2:Math.max(k,n)},color:e})}}s&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&c.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.clearRect(l.x1,l.y1,l.width,
|
|
488
|
+
l.height),this._eventManager.ghostCtx.restore());c.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:t.fadeInAnimation,easingFunction:t.easing.easeInQuad,animationBase:0}}};var d=function(a,g,c,b,e,l,f,d,k){if(!(0>c)){"undefined"===typeof d&&(d=1);if(!s){var n=Number((f%(2*Math.PI)).toFixed(8));Number((l%(2*Math.PI)).toFixed(8))===n&&(f-=1E-4)}a.save();a.globalAlpha=d;"pie"===e?(a.beginPath(),a.moveTo(g.x,g.y),a.arc(g.x,g.y,c,l,f,!1),a.fillStyle=b,a.strokeStyle="white",a.lineWidth=
|
|
489
|
+
2,a.closePath(),a.fill()):"doughnut"===e&&(a.beginPath(),a.arc(g.x,g.y,c,l,f,!1),0<=k&&a.arc(g.x,g.y,k*c,f,l,!0),a.closePath(),a.fillStyle=b,a.strokeStyle="white",a.lineWidth=2,a.fill());a.globalAlpha=1;a.restore()}};m.prototype.renderPie=function(a){function g(){if(n&&p){for(var a=0,b=0,c=0,g=0,e=0;e<p.length;e++){var l=p[e],d=n.dataPointIds[e];h[e].id=d;h[e].objectType="dataPoint";h[e].dataPointIndex=e;h[e].dataSeriesIndex=0;var q=h[e],k={percent:null,total:null},B=null,k=t.getPercentAndTotal(n,
|
|
490
|
+
l);if(n.indexLabelFormatter||l.indexLabelFormatter)B={chart:t.options,dataSeries:n,dataPoint:l,total:k.total,percent:k.percent};k=l.indexLabelFormatter?l.indexLabelFormatter(B):l.indexLabel?t.replaceKeywordsWithValue(l.indexLabel,l,n,e):n.indexLabelFormatter?n.indexLabelFormatter(B):n.indexLabel?t.replaceKeywordsWithValue(n.indexLabel,l,n,e):l.label?l.label:"";t._eventManager.objectMap[d]=q;q.center={x:x.x,y:x.y};q.y=l.y;q.radius=v;q.percentInnerRadius=G;q.indexLabelText=k;q.indexLabelPlacement=n.indexLabelPlacement;
|
|
491
|
+
q.indexLabelLineColor=l.indexLabelLineColor?l.indexLabelLineColor:n.options.indexLabelLineColor?n.options.indexLabelLineColor:l.color?l.color:n._colorSet[e%n._colorSet.length];q.indexLabelLineThickness=f(l.indexLabelLineThickness)?n.indexLabelLineThickness:l.indexLabelLineThickness;q.indexLabelLineDashType=l.indexLabelLineDashType?l.indexLabelLineDashType:n.indexLabelLineDashType;q.indexLabelFontColor=l.indexLabelFontColor?l.indexLabelFontColor:n.indexLabelFontColor;q.indexLabelFontStyle=l.indexLabelFontStyle?
|
|
492
492
|
l.indexLabelFontStyle:n.indexLabelFontStyle;q.indexLabelFontWeight=l.indexLabelFontWeight?l.indexLabelFontWeight:n.indexLabelFontWeight;q.indexLabelFontSize=f(l.indexLabelFontSize)?n.indexLabelFontSize:l.indexLabelFontSize;q.indexLabelFontFamily=l.indexLabelFontFamily?l.indexLabelFontFamily:n.indexLabelFontFamily;q.indexLabelBackgroundColor=l.indexLabelBackgroundColor?l.indexLabelBackgroundColor:n.options.indexLabelBackgroundColor?n.options.indexLabelBackgroundColor:n.indexLabelBackgroundColor;q.indexLabelMaxWidth=
|
|
493
|
-
l.indexLabelMaxWidth?l.indexLabelMaxWidth:n.indexLabelMaxWidth?n.indexLabelMaxWidth:0.33*r.width;q.indexLabelWrap="undefined"!==typeof l.indexLabelWrap?l.indexLabelWrap:n.indexLabelWrap;q.indexLabelTextAlign=l.indexLabelTextAlign?l.indexLabelTextAlign:n.indexLabelTextAlign?n.indexLabelTextAlign:"left";q.startAngle=0===
|
|
494
|
-
2;l=(l+2*Math.PI)%(2*Math.PI);q.midAngle=l;if(q.midAngle>Math.PI/2-u&&q.midAngle<Math.PI/2+u){if(0===a||h[c].midAngle>q.midAngle)c=
|
|
495
|
-
textAlign:q.indexLabelTextAlign,backgroundColor:q.indexLabelBackgroundColor,maxWidth:q.indexLabelMaxWidth,maxHeight:q.indexLabelWrap?5*q.indexLabelFontSize:1.5*q.indexLabelFontSize,text:q.indexLabelText,padding:0,textBaseline:"middle"});q.indexLabelTextBlock.measureText()}d=l=0;k=!1;for(
|
|
496
|
-
(q.midAngle>3*Math.PI/2-u&&q.midAngle<3*Math.PI/2+u)&&(d<=b/2&&!k?(q.hemisphere="left",d++):(q.hemisphere="right",k=!0))}}function c(a){var
|
|
497
|
-
|
|
498
|
-
"middle";
|
|
499
|
-
|
|
500
|
-
|
|
501
|
-
a&&(0>b(h[c],h[a])||("right"===h[a].hemisphere?h[c].indexLabelTextBlock.y>=h[a].indexLabelTextBlock.y:h[c].indexLabelTextBlock.y<=h[a].indexLabelTextBlock.y)))break;else c=null;return c}function l(a,c,
|
|
493
|
+
l.indexLabelMaxWidth?l.indexLabelMaxWidth:n.indexLabelMaxWidth?n.indexLabelMaxWidth:0.33*r.width;q.indexLabelWrap="undefined"!==typeof l.indexLabelWrap?l.indexLabelWrap:n.indexLabelWrap;q.indexLabelTextAlign=l.indexLabelTextAlign?l.indexLabelTextAlign:n.indexLabelTextAlign?n.indexLabelTextAlign:"left";q.startAngle=0===e?n.startAngle?n.startAngle/180*Math.PI:0:h[e-1].endAngle;q.startAngle=(q.startAngle+2*Math.PI)%(2*Math.PI);q.endAngle=q.startAngle+2*Math.PI/A*Math.abs(l.y);l=(q.endAngle+q.startAngle)/
|
|
494
|
+
2;l=(l+2*Math.PI)%(2*Math.PI);q.midAngle=l;if(q.midAngle>Math.PI/2-u&&q.midAngle<Math.PI/2+u){if(0===a||h[c].midAngle>q.midAngle)c=e;a++}else if(q.midAngle>3*Math.PI/2-u&&q.midAngle<3*Math.PI/2+u){if(0===b||h[g].midAngle>q.midAngle)g=e;b++}q.hemisphere=l>Math.PI/2&&l<=3*Math.PI/2?"left":"right";q.indexLabelTextBlock=new ma(t.plotArea.ctx,{fontSize:q.indexLabelFontSize,fontFamily:q.indexLabelFontFamily,fontColor:q.indexLabelFontColor,fontStyle:q.indexLabelFontStyle,fontWeight:q.indexLabelFontWeight,
|
|
495
|
+
textAlign:q.indexLabelTextAlign,backgroundColor:q.indexLabelBackgroundColor,maxWidth:q.indexLabelMaxWidth,maxHeight:q.indexLabelWrap?5*q.indexLabelFontSize:1.5*q.indexLabelFontSize,text:q.indexLabelText,padding:0,textBaseline:"middle"});q.indexLabelTextBlock.measureText()}d=l=0;k=!1;for(e=0;e<p.length;e++)q=h[(c+e)%p.length],1<a&&(q.midAngle>Math.PI/2-u&&q.midAngle<Math.PI/2+u)&&(l<=a/2&&!k?(q.hemisphere="right",l++):(q.hemisphere="left",k=!0));k=!1;for(e=0;e<p.length;e++)q=h[(g+e)%p.length],1<b&&
|
|
496
|
+
(q.midAngle>3*Math.PI/2-u&&q.midAngle<3*Math.PI/2+u)&&(d<=b/2&&!k?(q.hemisphere="left",d++):(q.hemisphere="right",k=!0))}}function c(a,b){var c=t.plotArea.ctx;c.clearRect(r.x1,r.y1,r.width,r.height);c.fillStyle=t.backgroundColor;c.fillRect(r.x1,r.y1,r.width,r.height);for(c=0;c<p.length;c++){var g=h[c].startAngle,e=h[c].endAngle;if(e>g){var l=0.07*v*Math.cos(h[c].midAngle),f=0.07*v*Math.sin(h[c].midAngle),k=!1;if(p[c].exploded){if(1E-9<Math.abs(h[c].center.x-(x.x+l))||1E-9<Math.abs(h[c].center.y-(x.y+
|
|
497
|
+
f)))h[c].center.x=x.x+l*a,h[c].center.y=x.y+f*a,k=!0}else if(0<Math.abs(h[c].center.x-x.x)||0<Math.abs(h[c].center.y-x.y))h[c].center.x=x.x+l*(1-a),h[c].center.y=x.y+f*(1-a),k=!0;k&&b&&(l={},l.dataSeries=n,l.dataPoint=n.dataPoints[c],l.index=c,t.toolTip.highlightObjects([l]));d(t.plotArea.ctx,h[c].center,h[c].radius,p[c].color?p[c].color:n._colorSet[c%n._colorSet.length],n.type,g,e,n.fillOpacity,h[c].percentInnerRadius)}}c=t.plotArea.ctx;c.save();c.fillStyle="black";c.strokeStyle="grey";c.textBaseline=
|
|
498
|
+
"middle";c.lineJoin="round";for(g=g=0;g<p.length;g++)e=h[g],e.indexLabelText&&(e.indexLabelTextBlock.y-=e.indexLabelTextBlock.height/2-e.indexLabelTextBlock.fontSize/2,l=0,l="left"===e.hemisphere?"inside"!==n.indexLabelPlacement?-(e.indexLabelTextBlock.width+q):-e.indexLabelTextBlock.width/2:"inside"!==n.indexLabelPlacement?q:-e.indexLabelTextBlock.width/2,e.indexLabelTextBlock.x+=l,e.indexLabelTextBlock.render(!0),e.indexLabelTextBlock.x-=l,e.indexLabelTextBlock.y+=e.indexLabelTextBlock.height/2-
|
|
499
|
+
e.indexLabelTextBlock.fontSize/2,"inside"!==e.indexLabelPlacement&&0<e.indexLabelLineThickness&&(l=e.center.x+v*Math.cos(e.midAngle),f=e.center.y+v*Math.sin(e.midAngle),c.strokeStyle=e.indexLabelLineColor,c.lineWidth=e.indexLabelLineThickness,c.setLineDash&&c.setLineDash(X(e.indexLabelLineDashType,e.indexLabelLineThickness)),c.beginPath(),c.moveTo(l,f),c.lineTo(e.indexLabelTextBlock.x,e.indexLabelTextBlock.y),c.lineTo(e.indexLabelTextBlock.x+("left"===e.hemisphere?-q:q),e.indexLabelTextBlock.y),c.stroke()),
|
|
500
|
+
c.lineJoin="miter");c.save()}function b(a,b){var c=0,c=a.indexLabelTextBlock.y-a.indexLabelTextBlock.height/2,g=a.indexLabelTextBlock.y+a.indexLabelTextBlock.height/2,e=b.indexLabelTextBlock.y-b.indexLabelTextBlock.height/2,l=b.indexLabelTextBlock.y+b.indexLabelTextBlock.height/2;return c=b.indexLabelTextBlock.y>a.indexLabelTextBlock.y?e-g:c-l}function e(a){for(var c=null,g=1;g<p.length;g++)if(c=(a+g+h.length)%h.length,h[c].hemisphere!==h[a].hemisphere){c=null;break}else if(h[c].indexLabelText&&c!==
|
|
501
|
+
a&&(0>b(h[c],h[a])||("right"===h[a].hemisphere?h[c].indexLabelTextBlock.y>=h[a].indexLabelTextBlock.y:h[c].indexLabelTextBlock.y<=h[a].indexLabelTextBlock.y)))break;else c=null;return c}function l(a,c,g){g=(g||0)+1;if(1E3<g)return 0;c=c||0;var f=0,d=x.y-1*z,n=x.y+1*z;if(0<=a&&a<p.length){var q=h[a];if(0>c&&q.indexLabelTextBlock.y<d||0<c&&q.indexLabelTextBlock.y>n)return 0;var r=0,k=0,k=r=r=0;0>c?q.indexLabelTextBlock.y-q.indexLabelTextBlock.height/2>d&&q.indexLabelTextBlock.y-q.indexLabelTextBlock.height/
|
|
502
502
|
2+c<d&&(c=-(d-(q.indexLabelTextBlock.y-q.indexLabelTextBlock.height/2+c))):q.indexLabelTextBlock.y+q.indexLabelTextBlock.height/2<d&&q.indexLabelTextBlock.y+q.indexLabelTextBlock.height/2+c>n&&(c=q.indexLabelTextBlock.y+q.indexLabelTextBlock.height/2+c-n);c=q.indexLabelTextBlock.y+c;d=0;d="right"===q.hemisphere?x.x+Math.sqrt(Math.pow(z,2)-Math.pow(c-x.y,2)):x.x-Math.sqrt(Math.pow(z,2)-Math.pow(c-x.y,2));k=x.x+v*Math.cos(q.midAngle);r=x.y+v*Math.sin(q.midAngle);r=Math.sqrt(Math.pow(d-k,2)+Math.pow(c-
|
|
503
|
-
r,2));k=Math.acos(v/z);r=Math.acos((z*z+v*v-r*r)/(2*v*z));c=r<k?c-q.indexLabelTextBlock.y:0;d=null;for(n=1;n<p.length;n++)if(d=(a-n+h.length)%h.length,h[d].hemisphere!==h[a].hemisphere){d=null;break}else if(h[d].indexLabelText&&h[d].hemisphere===h[a].hemisphere&&d!==a&&(0>b(h[d],h[a])||("right"===h[a].hemisphere?h[d].indexLabelTextBlock.y<=h[a].indexLabelTextBlock.y:h[d].indexLabelTextBlock.y>=h[a].indexLabelTextBlock.y)))break;else d=null;k=d;r=
|
|
504
|
-
n&&(k=-c,c=q.indexLabelTextBlock.y-q.indexLabelTextBlock.height/2-(h[n].indexLabelTextBlock.y+h[n].indexLabelTextBlock.height/2),c-k<m&&(d=-k,n=l(n,d,
|
|
505
|
-
"right"===q.hemisphere?x.x+Math.sqrt(Math.pow(z,2)-Math.pow(
|
|
506
|
-
h.length,d=h[d],a=h[(a+1+h.length)%h.length],"right"===q.hemisphere&&"left"===d.hemisphere&&c<d.indexLabelTextBlock.x?c=d.indexLabelTextBlock.x+15:"left"===q.hemisphere&&("right"===a.hemisphere&&c>a.indexLabelTextBlock.x)&&(c=a.indexLabelTextBlock.x-15)),q.indexLabelTextBlock.y=
|
|
507
|
-
"middle";for(var c=a=0,
|
|
503
|
+
r,2));k=Math.acos(v/z);r=Math.acos((z*z+v*v-r*r)/(2*v*z));c=r<k?c-q.indexLabelTextBlock.y:0;d=null;for(n=1;n<p.length;n++)if(d=(a-n+h.length)%h.length,h[d].hemisphere!==h[a].hemisphere){d=null;break}else if(h[d].indexLabelText&&h[d].hemisphere===h[a].hemisphere&&d!==a&&(0>b(h[d],h[a])||("right"===h[a].hemisphere?h[d].indexLabelTextBlock.y<=h[a].indexLabelTextBlock.y:h[d].indexLabelTextBlock.y>=h[a].indexLabelTextBlock.y)))break;else d=null;k=d;r=e(a);n=d=0;0>c?(n="right"===q.hemisphere?k:r,f=c,null!==
|
|
504
|
+
n&&(k=-c,c=q.indexLabelTextBlock.y-q.indexLabelTextBlock.height/2-(h[n].indexLabelTextBlock.y+h[n].indexLabelTextBlock.height/2),c-k<m&&(d=-k,n=l(n,d,g+1),+n.toFixed(E)>+d.toFixed(E)&&(f=c>m?-(c-m):-(k-(n-d)))))):0<c&&(n="right"===q.hemisphere?r:k,f=c,null!==n&&(k=c,c=h[n].indexLabelTextBlock.y-h[n].indexLabelTextBlock.height/2-(q.indexLabelTextBlock.y+q.indexLabelTextBlock.height/2),c-k<m&&(d=k,n=l(n,d,g+1),+n.toFixed(E)<+d.toFixed(E)&&(f=c>m?c-m:k-(d-n)))));f&&(g=q.indexLabelTextBlock.y+f,c=0,c=
|
|
505
|
+
"right"===q.hemisphere?x.x+Math.sqrt(Math.pow(z,2)-Math.pow(g-x.y,2)):x.x-Math.sqrt(Math.pow(z,2)-Math.pow(g-x.y,2)),q.midAngle>Math.PI/2-u&&q.midAngle<Math.PI/2+u?(d=(a-1+h.length)%h.length,d=h[d],a=h[(a+1+h.length)%h.length],"left"===q.hemisphere&&"right"===d.hemisphere&&c>d.indexLabelTextBlock.x?c=d.indexLabelTextBlock.x-15:"right"===q.hemisphere&&("left"===a.hemisphere&&c<a.indexLabelTextBlock.x)&&(c=a.indexLabelTextBlock.x+15)):q.midAngle>3*Math.PI/2-u&&q.midAngle<3*Math.PI/2+u&&(d=(a-1+h.length)%
|
|
506
|
+
h.length,d=h[d],a=h[(a+1+h.length)%h.length],"right"===q.hemisphere&&"left"===d.hemisphere&&c<d.indexLabelTextBlock.x?c=d.indexLabelTextBlock.x+15:"left"===q.hemisphere&&("right"===a.hemisphere&&c>a.indexLabelTextBlock.x)&&(c=a.indexLabelTextBlock.x-15)),q.indexLabelTextBlock.y=g,q.indexLabelTextBlock.x=c,q.indexLabelAngle=Math.atan2(q.indexLabelTextBlock.y-x.y,q.indexLabelTextBlock.x-x.x))}return f}function k(){var a=t.plotArea.ctx;a.fillStyle="grey";a.strokeStyle="grey";a.font="16px Arial";a.textBaseline=
|
|
507
|
+
"middle";for(var c=a=0,g=0,f=!0,c=0;10>c&&(1>c||0<g);c++){if(n.radius||!n.radius&&"undefined"!==typeof n.innerRadius&&null!==n.innerRadius&&v-g<=C)f=!1;f&&(v-=g);g=0;if("inside"!==n.indexLabelPlacement){z=v*s;for(a=0;a<p.length;a++){var d=h[a];d.indexLabelTextBlock.x=x.x+z*Math.cos(d.midAngle);d.indexLabelTextBlock.y=x.y+z*Math.sin(d.midAngle);d.indexLabelAngle=d.midAngle;d.radius=v;d.percentInnerRadius=G}for(var B,y,a=0;a<p.length;a++){var d=h[a],u=e(a);if(null!==u){B=h[a];y=h[u];var A=0,A=b(B,y)-
|
|
508
508
|
m;if(0>A){for(var D=y=0,ua=0;ua<p.length;ua++)ua!==a&&h[ua].hemisphere===d.hemisphere&&(h[ua].indexLabelTextBlock.y<d.indexLabelTextBlock.y?y++:D++);y=A/(y+D||1)*D;var D=-1*(A-y),H=ua=0;"right"===d.hemisphere?(ua=l(a,y),D=-1*(A-ua),H=l(u,D),+H.toFixed(E)<+D.toFixed(E)&&+ua.toFixed(E)<=+y.toFixed(E)&&l(a,-(D-H))):(ua=l(u,y),D=-1*(A-ua),H=l(a,D),+H.toFixed(E)<+D.toFixed(E)&&+ua.toFixed(E)<=+y.toFixed(E)&&l(u,-(D-H)))}}}}else for(a=0;a<p.length;a++)d=h[a],z="pie"===n.type?0.7*v:0.85*v,u=x.x+z*Math.cos(d.midAngle),
|
|
509
509
|
y=x.y+z*Math.sin(d.midAngle),d.indexLabelTextBlock.x=u,d.indexLabelTextBlock.y=y;for(a=0;a<p.length;a++)if(d=h[a],u=d.indexLabelTextBlock.measureText(),0!==u.height&&0!==u.width)u=u=0,"right"===d.hemisphere?(u=r.x2-(d.indexLabelTextBlock.x+d.indexLabelTextBlock.width+q),u*=-1):u=r.x1-(d.indexLabelTextBlock.x-d.indexLabelTextBlock.width-q),0<u&&(!f&&d.indexLabelText&&(y="right"===d.hemisphere?r.x2-d.indexLabelTextBlock.x:d.indexLabelTextBlock.x-r.x1,0.3*d.indexLabelTextBlock.maxWidth>y?d.indexLabelText=
|
|
510
|
-
"":d.indexLabelTextBlock.maxWidth=0.85*y,0.3*d.indexLabelTextBlock.maxWidth<y&&(d.indexLabelTextBlock.x-="right"===d.hemisphere?2:-2)),Math.abs(d.indexLabelTextBlock.y-d.indexLabelTextBlock.height/2-x.y)<v||Math.abs(d.indexLabelTextBlock.y+d.indexLabelTextBlock.height/2-x.y)<v)&&(u/=Math.abs(Math.cos(d.indexLabelAngle)),9<u&&(u*=0.3),u>
|
|
511
|
-
d.indexLabelTextBlock.height/2-5),0<u&&(!f&&d.indexLabelText&&(y=0<d.indexLabelAngle&&d.indexLabelAngle<Math.PI?-1:1,0===l(a,u*y)&&l(a,2*y)),Math.abs(d.indexLabelTextBlock.x-x.x)<v&&(u/=Math.abs(Math.sin(d.indexLabelAngle)),9<u&&(u*=0.3),u>
|
|
512
|
-
else break};(function(){for(var a=-1,c=-1,
|
|
513
|
-
B.indexLabelTextBlock.width<n.indexLabelTextBlock.x-q||r>u+q||k>z+q||y<t-q?!1:!0}r?(0>a&&(a=f),d!==a&&(c=d,
|
|
510
|
+
"":d.indexLabelTextBlock.maxWidth=0.85*y,0.3*d.indexLabelTextBlock.maxWidth<y&&(d.indexLabelTextBlock.x-="right"===d.hemisphere?2:-2)),Math.abs(d.indexLabelTextBlock.y-d.indexLabelTextBlock.height/2-x.y)<v||Math.abs(d.indexLabelTextBlock.y+d.indexLabelTextBlock.height/2-x.y)<v)&&(u/=Math.abs(Math.cos(d.indexLabelAngle)),9<u&&(u*=0.3),u>g&&(g=u)),u=u=0,0<d.indexLabelAngle&&d.indexLabelAngle<Math.PI?(u=r.y2-(d.indexLabelTextBlock.y+d.indexLabelTextBlock.height/2+5),u*=-1):u=r.y1-(d.indexLabelTextBlock.y-
|
|
511
|
+
d.indexLabelTextBlock.height/2-5),0<u&&(!f&&d.indexLabelText&&(y=0<d.indexLabelAngle&&d.indexLabelAngle<Math.PI?-1:1,0===l(a,u*y)&&l(a,2*y)),Math.abs(d.indexLabelTextBlock.x-x.x)<v&&(u/=Math.abs(Math.sin(d.indexLabelAngle)),9<u&&(u*=0.3),u>g&&(g=u)));var na=function(a,b,c){for(var g=[],e=0;g.push(h[b]),b!==c;b=(b+1+p.length)%p.length);g.sort(function(a,b){return a.y-b.y});for(b=0;b<g.length;b++)if(c=g[b],e<0.7*a)e+=c.indexLabelTextBlock.height,c.indexLabelTextBlock.text="",c.indexLabelText="",c.indexLabelTextBlock.measureText();
|
|
512
|
+
else break};(function(){for(var a=-1,c=-1,g=0,l=!1,f=0;f<p.length;f++)if(l=!1,B=h[f],B.indexLabelText){var d=e(f);if(null!==d){var n=h[d];A=0;A=b(B,n);var r;if(r=0>A){r=B.indexLabelTextBlock.x;var k=B.indexLabelTextBlock.y-B.indexLabelTextBlock.height/2,y=B.indexLabelTextBlock.y+B.indexLabelTextBlock.height/2,t=n.indexLabelTextBlock.y-n.indexLabelTextBlock.height/2,u=n.indexLabelTextBlock.x+n.indexLabelTextBlock.width,z=n.indexLabelTextBlock.y+n.indexLabelTextBlock.height/2;r=B.indexLabelTextBlock.x+
|
|
513
|
+
B.indexLabelTextBlock.width<n.indexLabelTextBlock.x-q||r>u+q||k>z+q||y<t-q?!1:!0}r?(0>a&&(a=f),d!==a&&(c=d,g+=-A),0===f%Math.max(p.length/10,3)&&(l=!0)):l=!0;l&&(0<g&&0<=a&&0<=c)&&(na(g,a,c),c=a=-1,g=0)}}0<g&&na(g,a,c)})()}}function y(){t.plotArea.layoutManager.reset();t.title&&(t.title.dockInsidePlotArea||"center"===t.title.horizontalAlign&&"center"===t.title.verticalAlign)&&t.title.render();if(t.subtitles)for(var a=0;a<t.subtitles.length;a++){var b=t.subtitles[a];(b.dockInsidePlotArea||"center"===
|
|
514
514
|
b.horizontalAlign&&"center"===b.verticalAlign)&&b.render()}t.legend&&(t.legend.dockInsidePlotArea||"center"===t.legend.horizontalAlign&&"center"===t.legend.verticalAlign)&&(t.legend.setLayout(),t.legend.render())}var t=this;if(!(0>=a.dataSeriesIndexes.length)){var n=this.data[a.dataSeriesIndexes[0]],p=n.dataPoints,q=10,r=this.plotArea,h=n.dataPointEOs,m=2,z,s=1.3,u=20/180*Math.PI,E=6,x={x:(r.x2+r.x1)/2,y:(r.y2+r.y1)/2},A=0;a=!1;for(var D=0;D<p.length;D++)A+=Math.abs(p[D].y),!a&&("undefined"!==typeof p[D].indexLabel&&
|
|
515
515
|
null!==p[D].indexLabel&&0<p[D].indexLabel.toString().length)&&(a=!0),!a&&("undefined"!==typeof p[D].label&&null!==p[D].label&&0<p[D].label.toString().length)&&(a=!0);if(0!==A){a=a||"undefined"!==typeof n.indexLabel&&null!==n.indexLabel&&0<n.indexLabel.toString().length;var v="inside"!==n.indexLabelPlacement&&a?0.75*Math.min(r.width,r.height)/2:0.92*Math.min(r.width,r.height)/2;n.radius&&(v=Wa(n.radius,v));var C="undefined"!==typeof n.innerRadius&&null!==n.innerRadius?Wa(n.innerRadius,v):0.7*v;n.radius=
|
|
516
|
-
v;"doughnut"===n.type&&(n.innerRadius=C);var G=Math.min(C/v,(v-1)/v);this.pieDoughnutClickHandler=function(a){t.isAnimating||!f(a.dataSeries.explodeOnClick)&&!a.dataSeries.explodeOnClick||(a=a.dataPoint,a.exploded=a.exploded?!1:!0,1<this.dataPoints.length&&t._animator.animate(0,500,function(a){c(a);y();t.dispatchEvent("dataAnimationIterationEnd",{chart:t});t.dispatchEvent("dataAnimationEnd",{chart:t})}))};
|
|
517
|
-
0,function(a){var b=t.plotArea.ctx;b.clearRect(r.x1,r.y1,r.width,r.height);b.fillStyle=t.backgroundColor;b.fillRect(r.x1,r.y1,r.width,r.height);for(var b=h[0].startAngle+2*Math.PI*a,c=0;c<p.length;c++){var
|
|
518
|
-
{chart:t});1<=a&&t.dispatchEvent("dataAnimationEnd",{chart:t})},function(){t.disableToolTip=!1;t._animator.animate(0,t.animatedRender?500:0,function(a){c(a);y();t.dispatchEvent("dataAnimationIterationEnd",{chart:t})});t.dispatchEvent("dataAnimationEnd",{chart:t})})}}};var y=function(a,
|
|
519
|
-
Math.round(
|
|
520
|
-
G/a);return b}function c(){var a=$,b=ba,c=S,
|
|
521
|
-
(p=(Math.abs(ga)*b-Math.sqrt(q))/2,q=b-2*p/Math.abs(ga),n+=p,n>
|
|
522
|
-
u._colorSet.length]:u._colorSet[I%u._colorSet.length];c=b.indexLabelPlacement||u.indexLabelPlacement||"outside";y=b.indexLabelTextAlign||u.indexLabelTextAlign||"left";
|
|
516
|
+
v;"doughnut"===n.type&&(n.innerRadius=C);var G=Math.min(C/v,(v-1)/v);this.pieDoughnutClickHandler=function(a){t.isAnimating||!f(a.dataSeries.explodeOnClick)&&!a.dataSeries.explodeOnClick||(a=a.dataPoint,a.exploded=a.exploded?!1:!0,1<this.dataPoints.length&&t._animator.animate(0,500,function(a){c(a,!0);y();t.dispatchEvent("dataAnimationIterationEnd",{chart:t});t.dispatchEvent("dataAnimationEnd",{chart:t})}))};g();k();k();k();k();this.disableToolTip=!0;this._animator.animate(0,this.animatedRender?this.animationDuration:
|
|
517
|
+
0,function(a){var b=t.plotArea.ctx;b.clearRect(r.x1,r.y1,r.width,r.height);b.fillStyle=t.backgroundColor;b.fillRect(r.x1,r.y1,r.width,r.height);for(var b=h[0].startAngle+2*Math.PI*a,c=0;c<p.length;c++){var g=0===c?h[c].startAngle:e,e=g+(h[c].endAngle-h[c].startAngle),l=!1;e>b&&(e=b,l=!0);var f=p[c].color?p[c].color:n._colorSet[c%n._colorSet.length];e>g&&d(t.plotArea.ctx,h[c].center,h[c].radius,f,n.type,g,e,n.fillOpacity,h[c].percentInnerRadius);if(l)break}y();t.dispatchEvent("dataAnimationIterationEnd",
|
|
518
|
+
{chart:t});1<=a&&t.dispatchEvent("dataAnimationEnd",{chart:t})},function(){t.disableToolTip=!1;t._animator.animate(0,t.animatedRender?500:0,function(a){c(a,!1);y();t.dispatchEvent("dataAnimationIterationEnd",{chart:t})});t.dispatchEvent("dataAnimationEnd",{chart:t})})}}};var y=function(a,g,c,b){"undefined"===typeof c&&(c=1);0>=Math.round(g.y4-g.y1)||(a.save(),a.globalAlpha=c,a.beginPath(),a.moveTo(Math.round(g.x1),Math.round(g.y1)),a.lineTo(Math.round(g.x2),Math.round(g.y2)),a.lineTo(Math.round(g.x3),
|
|
519
|
+
Math.round(g.y3)),a.lineTo(Math.round(g.x4),Math.round(g.y4)),"undefined"!==g.x5&&(a.lineTo(Math.round(g.x5),Math.round(g.y5)),a.lineTo(Math.round(g.x6),Math.round(g.y6))),a.closePath(),a.fillStyle=b?b:g.color,a.fill(),a.globalAplha=1,a.restore())};m.prototype.renderFunnel=function(a){function g(){for(var a=0,b=[],c=0;c<E.length;c++){if("undefined"===typeof E[c].y)return-1;E[c].y="number"===typeof E[c].y?E[c].y:0;a+=Math.abs(E[c].y)}if(0===a)return-1;for(c=b[0]=0;c<E.length;c++)b.push(Math.abs(E[c].y)*
|
|
520
|
+
G/a);return b}function c(){var a=$,b=ba,c=S,g=V,e,l;e=O;l=P-M;g=Math.abs((l-e)*(b-a+(g-c))/2);c=V-S;e=l-e;l=c*(l-P);l=Math.abs(l);l=g+l;for(var g=[],h=0,f=0;f<E.length;f++){if("undefined"===typeof E[f].y)return-1;E[f].y="number"===typeof E[f].y?E[f].y:0;h+=Math.abs(E[f].y)}if(0===h)return-1;for(var d=g[0]=0,n=0,p,q,b=b-a,d=!1,f=0;f<E.length;f++)a=Math.abs(E[f].y)*l/h,d?p=0==Number(c.toFixed(3))?0:a/c:(q=ga*ga*b*b-4*Math.abs(ga)*a,0>q?(q=c,d=(b+q)*(e-n)/2,a-=d,p=e-n,n+=e-n,p+=0==q?0:a/q,n+=a/q,d=!0):
|
|
521
|
+
(p=(Math.abs(ga)*b-Math.sqrt(q))/2,q=b-2*p/Math.abs(ga),n+=p,n>e&&(n-=p,q=c,d=(b+q)*(e-n)/2,a-=d,p=e-n,n+=e-n,p+=a/q,n+=a/q,d=!0),b=q)),g.push(p);return g}function b(){if(u&&E){for(var a,b,c,g,e,l,d,n,p,q,r,k,B,y,t,z=[],m=[],w={percent:null,total:null},x=null,I=0;I<E.length;I++)t=U[I],t="undefined"!==typeof t.x5?(t.y2+t.y4)/2:(t.y2+t.y3)/2,t=h(t).x2+1,z[I]=Q-t-R;t=0.5*R;for(var I=0,A=E.length-1;I<E.length||0<=A;I++,A--){b=u.reversed?E[A]:E[I];a=b.color?b.color:u.reversed?u._colorSet[(E.length-1-I)%
|
|
522
|
+
u._colorSet.length]:u._colorSet[I%u._colorSet.length];c=b.indexLabelPlacement||u.indexLabelPlacement||"outside";y=b.indexLabelTextAlign||u.indexLabelTextAlign||"left";g=b.indexLabelBackgroundColor||u.indexLabelBackgroundColor||(s?"transparent":null);e=b.indexLabelFontColor||u.indexLabelFontColor||"#979797";l=f(b.indexLabelFontSize)?u.indexLabelFontSize:b.indexLabelFontSize;d=b.indexLabelFontStyle||u.indexLabelFontStyle||"normal";n=b.indexLabelFontFamily||u.indexLabelFontFamily||"arial";p=b.indexLabelFontWeight||
|
|
523
523
|
u.indexLabelFontWeight||"normal";a=b.indexLabelLineColor||u.options.indexLabelLineColor||a;q="number"===typeof b.indexLabelLineThickness?b.indexLabelLineThickness:"number"===typeof u.indexLabelLineThickness?u.indexLabelLineThickness:2;r=b.indexLabelLineDashType||u.indexLabelLineDashType||"solid";k="undefined"!==typeof b.indexLabelWrap?b.indexLabelWrap:"undefined"!==typeof u.indexLabelWrap?u.indexLabelWrap:!0;B=u.dataPointIds[I];v._eventManager.objectMap[B]={id:B,objectType:"dataPoint",dataPointIndex:I,
|
|
524
524
|
dataSeriesIndex:0,funnelSection:U[u.reversed?E.length-1-I:I]};"inside"===u.indexLabelPlacement&&(z[I]=I!==ha?u.reversed?U[I].x2-U[I].x1:U[I].x3-U[I].x4:U[I].x3-U[I].x6,20>z[I]&&(z[I]=I!==ha?u.reversed?U[I].x3-U[I].x4:U[I].x2-U[I].x1:U[I].x2-U[I].x1,z[I]/=2));B=b.indexLabelMaxWidth?b.indexLabelMaxWidth:u.options.indexLabelMaxWidth?u.indexLabelMaxWidth:z[I];if(B>z[I]||0>B)B=z[I];m[I]="inside"===u.indexLabelPlacement?k?Math.max(U[I].height,l):1.5*l:!1;w=v.getPercentAndTotal(u,b);if(u.indexLabelFormatter||
|
|
525
|
-
b.indexLabelFormatter)x={chart:v.options,dataSeries:u,dataPoint:b,total:w.total,percent:w.percent};b=b.indexLabelFormatter?b.indexLabelFormatter(x):b.indexLabel?v.replaceKeywordsWithValue(b.indexLabel,b,u,I):u.indexLabelFormatter?u.indexLabelFormatter(x):u.indexLabel?v.replaceKeywordsWithValue(u.indexLabel,b,u,I):b.label?b.label:"";0>=q&&(q=0);1E3>B&&1E3-B<t&&(B+=1E3-B);N.roundRect||Ea(N);c=new ma(N,{fontSize:l,fontFamily:n,fontColor:
|
|
526
|
-
maxWidth:B,maxHeight:!1===m[I]?k?4.28571429*l:1.5*l:m[I],text:b,padding:ia,textBaseline:"middle"});c.measureText();c.height=c.height===2*c.padding?0:c.height;c.width=c.width===2*c.padding?0:c.width;K.push({textBlock:c,id:u.reversed?A:I,isDirty:!1,lineColor:a,lineThickness:q,lineDashType:r,height:c.height<c.maxHeight?c.height:c.maxHeight,width:c.width<c.maxWidth?c.width:c.maxWidth})}}}function
|
|
527
|
-
f?f:u.indexLabelMaxWidth:f,d=K.length-1;0<=d;d--){
|
|
528
|
-
K[d].textBlock.x=Q-f,c=K[d].textBlock.height<K[d].textBlock.maxHeight?K[d].textBlock.height:K[d].textBlock.maxHeight,
|
|
529
|
-
K[d].height>aa+C&&(K[d].textBlock.y=aa+C-K[d].height))}function l(){var a,b,c,
|
|
530
|
-
T+C&&(K[
|
|
531
|
-
c){var
|
|
532
|
-
K[k].textBlock.y+K[k].height+ia>K[f].textBlock.y&&(K[k].textBlock.y=K[k].textBlock.y+K[k].height-
|
|
533
|
-
a-=
|
|
534
|
-
+
|
|
535
|
-
1?2:1)/n();for(var r=0;r<U.length;r++){if(1==ea.length&&0==ea[0]){if(0===r){d.push(oa[r]);
|
|
536
|
-
(q[
|
|
537
|
-
U[
|
|
538
|
-
a.setLineDash(X(K[l].lineDashType,K[l].lineThickness)),a.beginPath(),a.moveTo(b,c),a.lineTo(e
|
|
525
|
+
b.indexLabelFormatter)x={chart:v.options,dataSeries:u,dataPoint:b,total:w.total,percent:w.percent};b=b.indexLabelFormatter?b.indexLabelFormatter(x):b.indexLabel?v.replaceKeywordsWithValue(b.indexLabel,b,u,I):u.indexLabelFormatter?u.indexLabelFormatter(x):u.indexLabel?v.replaceKeywordsWithValue(u.indexLabel,b,u,I):b.label?b.label:"";0>=q&&(q=0);1E3>B&&1E3-B<t&&(B+=1E3-B);N.roundRect||Ea(N);c=new ma(N,{fontSize:l,fontFamily:n,fontColor:e,fontStyle:d,fontWeight:p,horizontalAlign:c,textAlign:y,backgroundColor:g,
|
|
526
|
+
maxWidth:B,maxHeight:!1===m[I]?k?4.28571429*l:1.5*l:m[I],text:b,padding:ia,textBaseline:"middle"});c.measureText();c.height=c.height===2*c.padding?0:c.height;c.width=c.width===2*c.padding?0:c.width;K.push({textBlock:c,id:u.reversed?A:I,isDirty:!1,lineColor:a,lineThickness:q,lineDashType:r,height:c.height<c.maxHeight?c.height:c.maxHeight,width:c.width<c.maxWidth?c.width:c.maxWidth})}}}function e(){var a,b,c,g,e,l=[];e=!1;c=0;for(var h,f=Q-ba-R/2,f=u.options.indexLabelMaxWidth?u.indexLabelMaxWidth>
|
|
527
|
+
f?f:u.indexLabelMaxWidth:f,d=K.length-1;0<=d;d--){h=E[K[d].id];c=K[d];g=c.textBlock;b=(a=r(d)<U.length?K[r(d)]:null)?a.textBlock:null;c=c.height;a&&g.y+c+ia>b.y&&(e=!0);c=h.indexLabelMaxWidth||f;if(c>f||0>c)c=f;l.push(c)}if(e)for(d=K.length-1;0<=d;d--)a=U[d],K[d].textBlock.maxWidth=l[l.length-(d+1)],K[d].textBlock.measureText(),K[d].textBlock.height=K[d].textBlock.height===2*K[d].textBlock.padding?0:K[d].textBlock.height,K[d].textBlock.width=K[d].textBlock.width===2*K[d].textBlock.padding?0:K[d].textBlock.width,
|
|
528
|
+
K[d].textBlock.x=Q-f,c=K[d].textBlock.height<K[d].textBlock.maxHeight?K[d].textBlock.height:K[d].textBlock.maxHeight,e=K[d].textBlock.width<K[d].textBlock.maxWidth?K[d].textBlock.width:K[d].textBlock.maxWidth,K[d].height=c,K[d].width=e,c="undefined"!==typeof a.x5?(a.y2+a.y4)/2:(a.y2+a.y3)/2,K[d].textBlock.y=c-K[d].height/2,u.reversed?(K[d].textBlock.y+K[d].height>T+C&&(K[d].textBlock.y=T+C-K[d].height),K[d].textBlock.y<aa-C&&(K[d].textBlock.y=aa-C)):(K[d].textBlock.y<T-C&&(K[d].textBlock.y=T-C),K[d].textBlock.y+
|
|
529
|
+
K[d].height>aa+C&&(K[d].textBlock.y=aa+C-K[d].height))}function l(){var a,b,c,g;if("inside"!==u.indexLabelPlacement)for(var e=0;e<U.length;e++)0==K[e].textBlock.text.length?K[e].isDirty=!0:(a=U[e],c="undefined"!==typeof a.x5?(a.y2+a.y4)/2:(a.y2+a.y3)/2,b=u.reversed?"undefined"!==typeof a.x5?c>ca?h(c).x2+1:(a.x2+a.x3)/2+1:(a.x2+a.x3)/2+1:"undefined"!==typeof a.x5?c<ca?h(c).x2+1:(a.x4+a.x3)/2+1:(a.x2+a.x3)/2+1,K[e].textBlock.x=b+R,K[e].textBlock.y=c-K[e].height/2,u.reversed?(K[e].textBlock.y+K[e].height>
|
|
530
|
+
T+C&&(K[e].textBlock.y=T+C-K[e].height),K[e].textBlock.y<aa-C&&(K[e].textBlock.y=aa-C)):(K[e].textBlock.y<T-C&&(K[e].textBlock.y=T-C),K[e].textBlock.y+K[e].height>aa+C&&(K[e].textBlock.y=aa+C-K[e].height)));else for(e=0;e<U.length;e++)0==K[e].textBlock.text.length?K[e].isDirty=!0:(a=U[e],b=a.height,c=K[e].height,g=K[e].width,b>=c?(b=e!=ha?(a.x4+a.x3)/2-g/2:(a.x5+a.x4)/2-g/2,c=e!=ha?(a.y1+a.y3)/2-c/2:(a.y1+a.y4)/2-c/2,K[e].textBlock.x=b,K[e].textBlock.y=c):K[e].isDirty=!0)}function d(){function a(b,
|
|
531
|
+
c){var g;if(0>b||b>=K.length)return 0;var e,l=K[b].textBlock;if(0>c){c*=-1;e=q(b);g=k(e,b);if(g>=c)return l.y-=c,c;if(0==b)return 0<g&&(l.y-=g),g;g+=a(e,-(c-g));0<g&&(l.y-=g);return g}e=r(b);g=k(b,e);if(g>=c)return l.y+=c,c;if(b==U.length-1)return 0<g&&(l.y+=g),g;g+=a(e,c-g);0<g&&(l.y+=g);return g}function b(){var a,g,e,l,h=0,d;l=(P-O+2*C)/p;d=p;for(var f,n=1;n<d;n++){e=n*l;for(var k=K.length-1;0<=k;k--)!K[k].isDirty&&(K[k].textBlock.y<e&&K[k].textBlock.y+K[k].height>e)&&(f=r(k),!(f>=K.length-1)&&
|
|
532
|
+
K[k].textBlock.y+K[k].height+ia>K[f].textBlock.y&&(K[k].textBlock.y=K[k].textBlock.y+K[k].height-e>e-K[k].textBlock.y?e+1:e-K[k].height-1))}for(f=U.length-1;0<f;f--)if(!K[f].isDirty){e=q(f);if(0>e&&(e=0,K[e].isDirty))break;if(K[f].textBlock.y<K[e].textBlock.y+K[e].height){g=g||f;l=f;for(d=0;K[l].textBlock.y<K[e].textBlock.y+K[e].height+ia;){a=a||K[l].textBlock.y+K[l].height;d+=K[l].height;d+=ia;l=e;if(0>=l){l=0;d+=K[l].height;break}e=q(l);if(0>e){l=0;d+=K[l].height;break}}if(l!=f){h=K[l].textBlock.y;
|
|
533
|
+
a-=h;a=d-a;h=c(a,g,l);break}}}return h}function c(a,b,g){var e=[],l=0,h=0;for(a=Math.abs(a);g<=b;g++)e.push(U[g]);e.sort(function(a,b){return a.height-b.height});for(g=0;g<e.length;g++)if(b=e[g],l<a)h++,l+=K[b.id].height+ia,K[b.id].textBlock.text="",K[b.id].indexLabelText="",K[b.id].isDirty=!0,K[b.id].textBlock.measureText();else break;return h}for(var g,e,l,h,f,n,p=1,B=0;B<2*p;B++){for(var y=K.length-1;0<=y&&!(0<=q(y)&&q(y),l=K[y],h=l.textBlock,n=(f=r(y)<U.length?K[r(y)]:null)?f.textBlock:null,g=
|
|
534
|
+
+l.height.toFixed(6),e=+h.y.toFixed(6),!l.isDirty&&(f&&e+g+ia>+n.y.toFixed(6))&&(g=h.y+g+ia-n.y,e=a(y,-g),e<g&&(0<e&&(g-=e),e=a(r(y),g),e!=g)));y--);b()}}function k(a,b){return(b<U.length?K[b].textBlock.y:u.reversed?T+C:aa+C)-(0>a?u.reversed?aa-C:T-C:K[a].textBlock.y+K[a].height+ia)}function z(a,b,c){var g,e,h,d=[],f=C,q=[];-1!==b&&(0<=ea.indexOf(b)?(e=ea.indexOf(b),ea.splice(e,1)):(ea.push(b),ea=ea.sort(function(a,b){return a-b})));if(0===ea.length)d=oa;else{e=C*(1!=ea.length||0!=ea[0]&&ea[0]!=U.length-
|
|
535
|
+
1?2:1)/n();for(var r=0;r<U.length;r++){if(1==ea.length&&0==ea[0]){if(0===r){d.push(oa[r]);g=f;continue}}else 0===r&&(g=-1*f);d.push(oa[r]+g);if(0<=ea.indexOf(r)||r<U.length&&0<=ea.indexOf(r+1))g+=e}}h=function(){for(var a=[],b=0;b<U.length;b++)a.push(d[b]-U[b].y1);return a}();var k={startTime:(new Date).getTime(),duration:c||500,easingFunction:function(a,b,c,g){return t.easing.easeOutQuart(a,b,c,g)},changeSection:function(a){for(var b,c,g=0;g<U.length;g++)b=h[g],c=U[g],b*=a,"undefined"===typeof q[g]&&
|
|
536
|
+
(q[g]=0),0>q&&(q*=-1),c.y1+=b-q[g],c.y2+=b-q[g],c.y3+=b-q[g],c.y4+=b-q[g],c.y5&&(c.y5+=b-q[g],c.y6+=b-q[g]),q[g]=b}};a._animator.animate(0,c,function(c){var g=a.plotArea.ctx||a.ctx;qa=!0;g.clearRect(x.x1,x.y1,x.x2-x.x1,x.y2-x.y1);g.fillStyle=a.backgroundColor;g.fillRect(x.x1,x.y1,x.width,x.height);k.changeSection(c,b);var e={};e.dataSeries=u;e.dataPoint=u.reversed?u.dataPoints[E.length-1-b]:u.dataPoints[b];e.index=u.reversed?E.length-1-b:b;a.toolTip.highlightObjects([e]);for(e=0;e<U.length;e++)y(g,
|
|
537
|
+
U[e],u.fillOpacity);A(g);L&&("inside"!==u.indexLabelPlacement?p(g):l(),m(g));1<=c&&(qa=!1)},null,t.easing.easeOutQuart)}function n(){for(var a=0,b=0;b<U.length-1;b++)(0<=ea.indexOf(b)||0<=ea.indexOf(b+1))&&a++;return a}function p(a){for(var b,c,g,e,l=0;l<U.length;l++)e=1===K[l].lineThickness%2?0.5:0,c=((U[l].y2+U[l].y4)/2<<0)+e,b=h(c).x2-1,g=K[l].textBlock.x,e=(K[l].textBlock.y+K[l].height/2<<0)+e,K[l].isDirty||0==K[l].lineThickness||(a.strokeStyle=K[l].lineColor,a.lineWidth=K[l].lineThickness,a.setLineDash&&
|
|
538
|
+
a.setLineDash(X(K[l].lineDashType,K[l].lineThickness)),a.beginPath(),a.moveTo(b,c),a.lineTo(g,e),a.stroke())}function q(a){for(a-=1;-1<=a&&-1!=a&&K[a].isDirty;a--);return a}function r(a){for(a+=1;a<=U.length&&a!=U.length&&K[a].isDirty;a++);return a}function h(a){for(var b,c=0;c<E.length;c++)if(U[c].y1<a&&U[c].y4>a){b=U[c];break}return b?(a=b.y6?a>b.y6?b.x3+(b.x4-b.x3)/(b.y4-b.y3)*(a-b.y3):b.x2+(b.x3-b.x2)/(b.y3-b.y2)*(a-b.y2):b.x2+(b.x3-b.x2)/(b.y3-b.y2)*(a-b.y2),{x1:a,x2:a}):-1}function m(a){for(var b=
|
|
539
539
|
0;b<U.length;b++)K[b].isDirty||(a&&(K[b].textBlock.ctx=a),K[b].textBlock.y+=K[b].textBlock._lineHeight/2,K[b].textBlock.render(!0),K[b].textBlock.y-=K[b].textBlock._lineHeight/2)}function A(a){v.plotArea.layoutManager.reset();a.roundRect||Ea(a);v.title&&(v.title.dockInsidePlotArea||"center"===v.title.horizontalAlign&&"center"===v.title.verticalAlign)&&(v.title.ctx=a,v.title.render());if(v.subtitles)for(var b=0;b<v.subtitles.length;b++){var c=v.subtitles[b];if(c.dockInsidePlotArea||"center"===c.horizontalAlign&&
|
|
540
540
|
"center"===c.verticalAlign)v.subtitles.ctx=a,c.render()}v.legend&&(v.legend.dockInsidePlotArea||"center"===v.legend.horizontalAlign&&"center"===v.legend.verticalAlign)&&(v.legend.ctx=a,v.legend.setLayout(),v.legend.render());Ca.fNg&&Ca.fNg(v)}var v=this;if(!(0>=a.dataSeriesIndexes.length)){for(var u=this.data[a.dataSeriesIndexes[0]],E=u.dataPoints,x=this.plotArea,C=0.025*x.width,D=0.01*x.width,F=0,G=x.height-2*C,H=Math.min(x.width-2*D,2.8*x.height),L=!1,W=0;W<E.length;W++)if(!L&&("undefined"!==typeof E[W].indexLabel&&
|
|
541
541
|
null!==E[W].indexLabel&&0<E[W].indexLabel.toString().length)&&(L=!0),!L&&("undefined"!==typeof E[W].label&&null!==E[W].label&&0<E[W].label.toString().length)&&(L=!0),!L&&"function"===typeof u.indexLabelFormatter||"function"===typeof E[W].indexLabelFormatter)L=!0;L=L||"undefined"!==typeof u.indexLabel&&null!==u.indexLabel&&0<u.indexLabel.toString().length;"inside"!==u.indexLabelPlacement&&L||(D=(x.width-0.75*H)/2);var W=x.x1+D,Q=x.x2-D,O=x.y1+C,P=x.y2-C,N=a.targetCanvasCtx||this.plotArea.ctx||this.ctx;
|
|
542
542
|
if(0!=u.length&&(u.dataPoints&&u.visible)&&0!==E.length){var M,J;a=75*H/100;var R=30*(Q-a)/100;"funnel"===u.type?(M=f(u.options.neckHeight)?0.35*G:u.neckHeight,J=f(u.options.neckWidth)?0.25*a:u.neckWidth,"string"===typeof M&&M.match(/%$/)?(M=parseInt(M),M=M*G/100):M=parseInt(M),"string"===typeof J&&J.match(/%$/)?(J=parseInt(J),J=J*a/100):J=parseInt(J),M>G?M=G:0>=M&&(M=0),J>a?J=a-0.5:0>=J&&(J=0)):"pyramid"===u.type&&(J=M=0,u.reversed=u.reversed?!1:!0);var D=W+a/2,$=W,ba=W+a,T=u.reversed?P:O,S=D-J/
|
|
543
|
-
2,V=D+J/2,ca=u.reversed?O+M:P-M,aa=u.reversed?O:P;a=[];var D=[],U=[],H=[],Y=O,ha,ga=(ca-T)/(S-$),ja=-ga,W="area"===(u.valueRepresents?u.valueRepresents:"height")?c():
|
|
543
|
+
2,V=D+J/2,ca=u.reversed?O+M:P-M,aa=u.reversed?O:P;a=[];var D=[],U=[],H=[],Y=O,ha,ga=(ca-T)/(S-$),ja=-ga,W="area"===(u.valueRepresents?u.valueRepresents:"height")?c():g();if(-1!==W){if(u.reversed)for(H.push(Y),J=W.length-1;0<J;J--)Y+=W[J],H.push(Y);else for(J=0;J<W.length;J++)Y+=W[J],H.push(Y);if(u.reversed)for(J=0;J<W.length;J++)H[J]<ca?(a.push(S),D.push(V),ha=J):(a.push((H[J]-T+ga*$)/ga),D.push((H[J]-T+ja*ba)/ja));else for(J=0;J<W.length;J++)H[J]<ca?(a.push((H[J]-T+ga*$)/ga),D.push((H[J]-T+ja*ba)/
|
|
544
544
|
ja),ha=J):(a.push(S),D.push(V));for(J=0;J<W.length-1;J++)Y=u.reversed?E[E.length-1-J].color?E[E.length-1-J].color:u._colorSet[(E.length-1-J)%u._colorSet.length]:E[J].color?E[J].color:u._colorSet[J%u._colorSet.length],J===ha?U.push({x1:a[J],y1:H[J],x2:D[J],y2:H[J],x3:V,y3:ca,x4:D[J+1],y4:H[J+1],x5:a[J+1],y5:H[J+1],x6:S,y6:ca,id:J,height:H[J+1]-H[J],color:Y}):U.push({x1:a[J],y1:H[J],x2:D[J],y2:H[J],x3:D[J+1],y3:H[J+1],x4:a[J+1],y4:H[J+1],id:J,height:H[J+1]-H[J],color:Y});var ia=2,K=[],qa=!1,ea=[],oa=
|
|
545
|
-
[],W=!1;a=a=0;Fa(ea);for(J=0;J<E.length;J++)E[J].exploded&&(W=!0,u.reversed?ea.push(E.length-1-J):ea.push(J));N.clearRect(x.x1,x.y1,x.width,x.height);N.fillStyle=v.backgroundColor;N.fillRect(x.x1,x.y1,x.width,x.height);if(L&&u.visible&&(b(),l(),"inside"!==u.indexLabelPlacement)){
|
|
545
|
+
[],W=!1;a=a=0;Fa(ea);for(J=0;J<E.length;J++)E[J].exploded&&(W=!0,u.reversed?ea.push(E.length-1-J):ea.push(J));N.clearRect(x.x1,x.y1,x.width,x.height);N.fillStyle=v.backgroundColor;N.fillRect(x.x1,x.y1,x.width,x.height);if(L&&u.visible&&(b(),l(),"inside"!==u.indexLabelPlacement)){e();d();for(J=0;J<E.length;J++)K[J].isDirty||(a=K[J].textBlock.x+K[J].width,a=(Q-a)/2,0==J&&(F=a),F>a&&(F=a));for(J=0;J<U.length;J++)U[J].x1+=F,U[J].x2+=F,U[J].x3+=F,U[J].x4+=F,U[J].x5&&(U[J].x5+=F,U[J].x6+=F),K[J].textBlock.x+=
|
|
546
546
|
F}for(J=0;J<U.length;J++)F=U[J],y(N,F,u.fillOpacity),oa.push(F.y1);A(N);L&&u.visible&&("inside"===u.indexLabelPlacement||v.animationEnabled||p(N),v.animationEnabled||m());if(!L)for(J=0;J<E.length;J++)F=u.dataPointIds[J],a={id:F,objectType:"dataPoint",dataPointIndex:J,dataSeriesIndex:0,funnelSection:U[u.reversed?E.length-1-J:J]},v._eventManager.objectMap[F]=a;!v.animationEnabled&&W?z(v,-1,0):v.animationEnabled&&!v.animatedRender&&z(v,-1,0);this.funnelPyramidClickHandler=function(a){var b=-1;if(!qa&&
|
|
547
547
|
!v.isAnimating&&(f(a.dataSeries.explodeOnClick)||a.dataSeries.explodeOnClick)&&(b=u.reversed?E.length-1-a.dataPointIndex:a.dataPointIndex,0<=b)){a=b;if("funnel"===u.type||"pyramid"===u.type)u.reversed?E[E.length-1-a].exploded=E[E.length-1-a].exploded?!1:!0:E[a].exploded=E[a].exploded?!1:!0;z(v,b,500)}};return{source:N,dest:this.plotArea.ctx,animationCallback:function(a,b){t.fadeInAnimation(a,b);1<=a&&(z(v,-1,500),A(v.plotArea.ctx||v.ctx))},easingFunction:t.easing.easeInQuad,animationBase:0}}}}};m.prototype.requestAnimFrame=
|
|
548
|
-
function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){window.setTimeout(a,1E3/60)}}();m.prototype.cancelRequestAnimFrame=window.cancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||clearTimeout;m.prototype.set=function(a,
|
|
549
|
-
typeof c?!0:c;"options"===a?(this.options=
|
|
550
|
-
border:"0px",margin:"0px 0px 0px 0px",padding:"0px 0px 0px 0px"});
|
|
551
|
-
b.print();setTimeout(function(){c._canvasJSContainer.removeChild(
|
|
552
|
-
|
|
548
|
+
function(){return window.requestAnimationFrame||window.webkitRequestAnimationFrame||window.mozRequestAnimationFrame||window.oRequestAnimationFrame||window.msRequestAnimationFrame||function(a){window.setTimeout(a,1E3/60)}}();m.prototype.cancelRequestAnimFrame=window.cancelAnimationFrame||window.webkitCancelRequestAnimationFrame||window.mozCancelRequestAnimationFrame||window.oCancelRequestAnimationFrame||window.msCancelRequestAnimationFrame||clearTimeout;m.prototype.set=function(a,g,c){c="undefined"===
|
|
549
|
+
typeof c?!0:c;"options"===a?(this.options=g,c&&this.render()):m.base.set.call(this,a,g,c)};m.prototype.exportChart=function(a){a="undefined"===typeof a?{}:a;var g=a.format?a.format:"png",c=a.fileName?a.fileName:this.exportFileName;if(a.toDataURL)return this.canvas.toDataURL("image/"+g);eb(this.canvas,g,c)};m.prototype.print=function(){var a=this.exportChart({toDataURL:!0}),g=document.createElement("iframe");g.setAttribute("class","canvasjs-chart-print-frame");P(g,{position:"absolute",width:"100%",
|
|
550
|
+
border:"0px",margin:"0px 0px 0px 0px",padding:"0px 0px 0px 0px"});g.style.height=this.height+"px";this._canvasJSContainer.appendChild(g);var c=this,b=g.contentWindow||g.contentDocument.document||g.contentDocument;b.document.open();b.document.write('<!DOCTYPE HTML>\n<html><body><img src="'+a+'"/><body/></html>');b.document.body&&b.document.body.style&&(b.document.body.style.margin="0px 0px 0px 0px",b.document.body.style.padding="0px 0px 0px 0px");b.document.close();setTimeout(function(){b.focus();
|
|
551
|
+
b.print();setTimeout(function(){c._canvasJSContainer.removeChild(g)},1E3)},500)};m.prototype.getPercentAndTotal=function(a,g){var c=null,b=null,e=c=null;if(0<=a.type.indexOf("stacked"))b=0,c=g.x.getTime?g.x.getTime():g.x,c in a.plotUnit.yTotals&&(b=a.plotUnit.yTotals[c],c=a.plotUnit.yAbsTotals[c],e=isNaN(g.y)?0:0===c?0:100*(g.y/c));else if("pie"===a.type||"doughnut"===a.type||"funnel"===a.type||"pyramid"===a.type){for(c=b=0;c<a.dataPoints.length;c++)isNaN(a.dataPoints[c].y)||(b+=a.dataPoints[c].y);
|
|
552
|
+
e=isNaN(g.y)?0:100*(g.y/b)}return{percent:e,total:b}};m.prototype.replaceKeywordsWithValue=function(a,g,c,b,e){var l=this;e="undefined"===typeof e?0:e;if((0<=c.type.indexOf("stacked")||"pie"===c.type||"doughnut"===c.type||"funnel"===c.type||"pyramid"===c.type)&&(0<=a.indexOf("#percent")||0<=a.indexOf("#total"))){var d="#percent",f="#total",k=this.getPercentAndTotal(c,g),f=isNaN(k.total)?f:k.total,d=isNaN(k.percent)?d:k.percent;do{k="";if(c.percentFormatString)k=c.percentFormatString;else{var k="#,##0.",
|
|
553
553
|
n=Math.max(Math.ceil(Math.log(1/Math.abs(d))/Math.LN10),2);if(isNaN(n)||!isFinite(n))n=2;for(var p=0;p<n;p++)k+="#";c.percentFormatString=k}a=a.replace("#percent",aa(d,k,l._cultureInfo));a=a.replace("#total",aa(f,c.yValueFormatString?c.yValueFormatString:"#,##0.########",l._cultureInfo))}while(0<=a.indexOf("#percent")||0<=a.indexOf("#total"))}return a.replace(/\{.*?\}|"[^"]*"|'[^']*'/g,function(a){if('"'===a[0]&&'"'===a[a.length-1]||"'"===a[0]&&"'"===a[a.length-1])return a.slice(1,a.length-1);a=Qa(a.slice(1,
|
|
554
|
-
a.length-1));a=a.replace("#index",
|
|
555
|
-
c.axisX.valueType||"dateTime"===c.xValueType||
|
|
556
|
-
c.yValueFormatString:c.yValueFormatString="#,##0.########",l._cultureInfo):"z"===a?aa(h,
|
|
557
|
-
0.3*this.fontSize;this.height=0;var y=[],n=[];if("top"===this.verticalAlign||"bottom"===this.verticalAlign)this.orientation="horizontal",c=this.verticalAlign,l=this.maxWidth=null!==this.maxWidth?this.maxWidth:
|
|
558
|
-
this.maxWidth:0.5*
|
|
554
|
+
a.length-1));a=a.replace("#index",e);var d=null;try{var h=a.match(/(.*?)\s*\[\s*(.*?)\s*\]/);h&&0<h.length&&(d=Qa(h[2]),a=Qa(h[1]))}catch(f){}h=null;if("color"===a)return"waterfall"===c.type?g.color?g.color:0<g.y?c.risingColor:c.fallingColor:"error"===c.type?c.color?c.color:c._colorSet[d%c._colorSet.length]:g.color?g.color:c.color?c.color:c._colorSet[b%c._colorSet.length];if(g.hasOwnProperty(a))h=g;else if(c.hasOwnProperty(a))h=c;else return"";h=h[a];null!==d&&(h=h[d]);return"x"===a?(c.axisX&&"dateTime"===
|
|
555
|
+
c.axisX.valueType||"dateTime"===c.xValueType||g.x&&g.x.getTime)&&!c.axisX.logarithmic?ea(h,g.xValueFormatString?g.xValueFormatString:c.xValueFormatString?c.xValueFormatString:c.xValueFormatString=l.axisX&&l.axisX.autoValueFormatString?l.axisX.autoValueFormatString:"DD MMM YY",l._cultureInfo):aa(h,g.xValueFormatString?g.xValueFormatString:c.xValueFormatString?c.xValueFormatString:c.xValueFormatString="#,##0.########",l._cultureInfo):"y"===a?aa(h,g.yValueFormatString?g.yValueFormatString:c.yValueFormatString?
|
|
556
|
+
c.yValueFormatString:c.yValueFormatString="#,##0.########",l._cultureInfo):"z"===a?aa(h,g.zValueFormatString?g.zValueFormatString:c.zValueFormatString?c.zValueFormatString:c.zValueFormatString="#,##0.########",l._cultureInfo):h})};ga(L,ba);L.prototype.setLayout=function(){var a=this.dockInsidePlotArea?this.chart.plotArea:this.chart,g=a.layoutManager.getFreeSpace(),c=null,b=0,e=0,l=0,d=0,k=this.markerMargin=this.chart.options.legend&&!f(this.chart.options.legend.markerMargin)?this.chart.options.legend.markerMargin:
|
|
557
|
+
0.3*this.fontSize;this.height=0;var y=[],n=[];if("top"===this.verticalAlign||"bottom"===this.verticalAlign)this.orientation="horizontal",c=this.verticalAlign,l=this.maxWidth=null!==this.maxWidth?this.maxWidth:g.width,d=this.maxHeight=null!==this.maxHeight?this.maxHeight:0.5*g.height;else if("center"===this.verticalAlign){this.orientation="vertical";if("left"===this.horizontalAlign||"center"===this.horizontalAlign||"right"===this.horizontalAlign)c=this.horizontalAlign;l=this.maxWidth=null!==this.maxWidth?
|
|
558
|
+
this.maxWidth:0.5*g.width;d=this.maxHeight=null!==this.maxHeight?this.maxHeight:g.height}this.errorMarkerColor=[];for(var p=0;p<this.dataSeries.length;p++){var q=this.dataSeries[p];if(q.dataPoints&&q.dataPoints.length)if("pie"!==q.type&&"doughnut"!==q.type&&"funnel"!==q.type&&"pyramid"!==q.type){var r=q.legendMarkerType=q.legendMarkerType?q.legendMarkerType:"line"!==q.type&&"stepLine"!==q.type&&"spline"!==q.type&&"scatter"!==q.type&&"bubble"!==q.type||!q.markerType?"error"===q.type&&q._linkedSeries?
|
|
559
559
|
q._linkedSeries.legendMarkerType?q._linkedSeries.legendMarkerType:O.getDefaultLegendMarker(q._linkedSeries.type):O.getDefaultLegendMarker(q.type):q.markerType,h=q.legendText?q.legendText:this.itemTextFormatter?this.itemTextFormatter({chart:this.chart,legend:this.options,dataSeries:q,dataPoint:null}):q.name,t=q.legendMarkerColor=q.legendMarkerColor?q.legendMarkerColor:q.markerColor?q.markerColor:"error"===q.type?f(q.whiskerColor)?q._colorSet[0]:q.whiskerColor:q._colorSet[0],z=q.markerSize||"line"!==
|
|
560
560
|
q.type&&"stepLine"!==q.type&&"spline"!==q.type?0.75*this.lineHeight:0,m=q.legendMarkerBorderColor?q.legendMarkerBorderColor:q.markerBorderColor,u=q.legendMarkerBorderThickness?q.legendMarkerBorderThickness:q.markerBorderThickness?Math.max(1,Math.round(0.2*z)):0;"error"===q.type&&this.errorMarkerColor.push(t);h=this.chart.replaceKeywordsWithValue(h,q.dataPoints[0],q,p);r={markerType:r,markerColor:t,text:h,textBlock:null,chartType:q.type,markerSize:z,lineColor:q._colorSet[0],dataSeriesIndex:q.index,
|
|
561
561
|
dataPointIndex:null,markerBorderColor:m,markerBorderThickness:u};y.push(r)}else for(var s=0;s<q.dataPoints.length;s++){var x=q.dataPoints[s],r=x.legendMarkerType?x.legendMarkerType:q.legendMarkerType?q.legendMarkerType:O.getDefaultLegendMarker(q.type),h=x.legendText?x.legendText:q.legendText?q.legendText:this.itemTextFormatter?this.itemTextFormatter({chart:this.chart,legend:this.options,dataSeries:q,dataPoint:x}):x.name?x.name:"DataPoint: "+(s+1),t=x.legendMarkerColor?x.legendMarkerColor:q.legendMarkerColor?
|
|
@@ -565,60 +565,60 @@ l;z=0===z?0.75*this.lineHeight:z;x=(this.itemMaxWidth?this.itemMaxWidth:x)-(z+k)
|
|
|
565
565
|
fontColor:this.fontColor,fontStyle:this.fontStyle,textBaseline:"middle"});r.textBlock.measureText();null!==this.itemWidth&&(r.textBlock.width=this.itemWidth-(z+k+("line"===r.chartType||"spline"===r.chartType||"stepLine"===r.chartType?2*0.1*this.lineHeight:0)));if(!q||q.width+Math.round(r.textBlock.width+z+k+(0===q.width?0:this.horizontalSpacing)+("line"===r.chartType||"spline"===r.chartType||"stepLine"===r.chartType?2*0.1*this.lineHeight:0))>l)q={items:[],width:0},n.push(q),this.height+=h,h=0;h=Math.max(h,
|
|
566
566
|
r.textBlock.height?r.textBlock.height:this.lineHeight);r.textBlock.x=q.width;r.textBlock.y=0;q.width+=Math.round(r.textBlock.width+z+k+(0===q.width?0:this.horizontalSpacing)+("line"===r.chartType||"spline"===r.chartType||"stepLine"===r.chartType?2*0.1*this.lineHeight:0));q.items.push(r);this.width=Math.max(q.width,this.width)}else r.textBlock=new ma(this.ctx,{x:0,y:0,maxWidth:x,maxHeight:!0===this.itemWrap?d:1.5*this.fontSize,angle:0,text:r.text,horizontalAlign:"left",fontSize:this.fontSize,fontFamily:this.fontFamily,
|
|
567
567
|
fontWeight:this.fontWeight,fontColor:this.fontColor,fontStyle:this.fontStyle,textBaseline:"middle"}),r.textBlock.measureText(),null!==this.itemWidth&&(r.textBlock.width=this.itemWidth-(z+k+("line"===r.chartType||"spline"===r.chartType||"stepLine"===r.chartType?2*0.1*this.lineHeight:0))),this.height<d-this.lineHeight?(q={items:[],width:0},n.push(q)):(q=n[s],s=(s+1)%n.length),q&&(this.height+=r.textBlock.height?r.textBlock.height:this.lineHeight,r.textBlock.x=q.width,r.textBlock.y=0,q.width+=Math.round(r.textBlock.width+
|
|
568
|
-
z+k+(0===q.width?0:this.horizontalSpacing)+("line"===r.chartType||"spline"===r.chartType||"stepLine"===r.chartType?2*0.1*this.lineHeight:0)),q.items.push(r),this.width=Math.max(q.width,this.width))}this.height=!1===this.itemWrap?n.length*this.lineHeight:this.height+h;this.height=Math.min(d,this.height);this.width=Math.min(l,this.width)}"top"===this.verticalAlign?(
|
|
569
|
-
(
|
|
570
|
-
dataPointIndex:r.dataPointIndex};this.markerSize=z;this.rows=n;0<y.length&&a.layoutManager.registerSpace(c,{width:this.width+2+2,height:this.height+5+5});this.bounds={x1:
|
|
571
|
-
this.backgroundColor,this.borderColor);for(var f=0,k=0;k<d.length;k++){for(var n=d[k],p=0,q=0;q<n.items.length;q++){var r=n.items[q],h=r.textBlock.x+a+(0===q?0.2*l:this.horizontalSpacing),y=
|
|
568
|
+
z+k+(0===q.width?0:this.horizontalSpacing)+("line"===r.chartType||"spline"===r.chartType||"stepLine"===r.chartType?2*0.1*this.lineHeight:0)),q.items.push(r),this.width=Math.max(q.width,this.width))}this.height=!1===this.itemWrap?n.length*this.lineHeight:this.height+h;this.height=Math.min(d,this.height);this.width=Math.min(l,this.width)}"top"===this.verticalAlign?(e="left"===this.horizontalAlign?g.x1:"right"===this.horizontalAlign?g.x2-this.width:g.x1+g.width/2-this.width/2,b=g.y1):"center"===this.verticalAlign?
|
|
569
|
+
(e="left"===this.horizontalAlign?g.x1:"right"===this.horizontalAlign?g.x2-this.width:g.x1+g.width/2-this.width/2,b=g.y1+g.height/2-this.height/2):"bottom"===this.verticalAlign&&(e="left"===this.horizontalAlign?g.x1:"right"===this.horizontalAlign?g.x2-this.width:g.x1+g.width/2-this.width/2,b=g.y2-this.height);this.items=y;for(p=0;p<this.items.length;p++)r=y[p],r.id=++this.chart._eventManager.lastObjectId,this.chart._eventManager.objectMap[r.id]={id:r.id,objectType:"legendItem",legendItemIndex:p,dataSeriesIndex:r.dataSeriesIndex,
|
|
570
|
+
dataPointIndex:r.dataPointIndex};this.markerSize=z;this.rows=n;0<y.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}};L.prototype.render=function(){var a=this.bounds.x1,g=this.bounds.y1,c=this.markerMargin,b=this.maxWidth,e=this.maxHeight,l=this.markerSize,d=this.rows;(0<this.borderThickness&&this.borderColor||this.backgroundColor)&&this.ctx.roundRect(a,g,this.width,this.height,this.cornerRadius,this.borderThickness,
|
|
571
|
+
this.backgroundColor,this.borderColor);for(var f=0,k=0;k<d.length;k++){for(var n=d[k],p=0,q=0;q<n.items.length;q++){var r=n.items[q],h=r.textBlock.x+a+(0===q?0.2*l:this.horizontalSpacing),y=g+f,t=h;this.chart.data[r.dataSeriesIndex].visible||(this.ctx.globalAlpha=0.5);this.ctx.save();this.ctx.beginPath();this.ctx.rect(a,g,b,Math.max(e-e%this.lineHeight,0));this.ctx.clip();if("line"===r.chartType||"stepLine"===r.chartType||"spline"===r.chartType)this.ctx.strokeStyle=r.lineColor,this.ctx.lineWidth=
|
|
572
572
|
Math.ceil(this.lineHeight/8),this.ctx.beginPath(),this.ctx.moveTo(h-0.1*this.lineHeight,y+this.lineHeight/2),this.ctx.lineTo(h+0.85*this.lineHeight,y+this.lineHeight/2),this.ctx.stroke(),t-=0.1*this.lineHeight;if("error"===r.chartType){this.ctx.strokeStyle=this.errorMarkerColor[0];this.ctx.lineWidth=l/8;this.ctx.beginPath();var m=h-0.08*this.lineHeight+0.1*this.lineHeight,u=y+0.15*this.lineHeight,s=0.7*this.lineHeight,x=s+0.02*this.lineHeight;this.ctx.moveTo(m,u);this.ctx.lineTo(m+s,u);this.ctx.stroke();
|
|
573
573
|
this.ctx.beginPath();this.ctx.moveTo(m+s/2,u);this.ctx.lineTo(m+s/2,u+x);this.ctx.stroke();this.ctx.beginPath();this.ctx.moveTo(m,u+x);this.ctx.lineTo(m+s,u+x);this.ctx.stroke();this.errorMarkerColor.shift()}z.drawMarker(h+l/2,y+this.lineHeight/2,this.ctx,r.markerType,"error"===r.chartType||"line"===r.chartType||"spline"===r.chartType?r.markerSize/2:r.markerSize,r.markerColor,r.markerBorderColor,r.markerBorderThickness);r.textBlock.x=h+c+l;if("line"===r.chartType||"stepLine"===r.chartType||"spline"===
|
|
574
574
|
r.chartType)r.textBlock.x+=0.1*this.lineHeight;r.textBlock.y=Math.round(y+this.lineHeight/2);r.textBlock.render(!0);this.ctx.restore();p=0<q?Math.max(p,r.textBlock.height?r.textBlock.height:this.lineHeight):r.textBlock.height?r.textBlock.height:this.lineHeight;this.chart.data[r.dataSeriesIndex].visible||(this.ctx.globalAlpha=1);h=R(r.id);this.ghostCtx.fillStyle=h;this.ghostCtx.beginPath();this.ghostCtx.fillRect(t,r.textBlock.y-this.lineHeight/2,r.textBlock.x+r.textBlock.width-t,r.textBlock.height?
|
|
575
575
|
r.textBlock.height:this.lineHeight);r.x1=this.chart._eventManager.objectMap[r.id].x1=t;r.y1=this.chart._eventManager.objectMap[r.id].y1=r.textBlock.y-this.lineHeight/2;r.x2=this.chart._eventManager.objectMap[r.id].x2=r.textBlock.x+r.textBlock.width;r.y2=this.chart._eventManager.objectMap[r.id].y2=r.textBlock.y+(r.textBlock.height?r.textBlock.height:this.lineHeight)-this.lineHeight/2}f+=p}};ga(O,ba);O.prototype.getDefaultAxisPlacement=function(){var a=this.type;if("column"===a||"line"===a||"stepLine"===
|
|
576
576
|
a||"spline"===a||"area"===a||"stepArea"===a||"splineArea"===a||"stackedColumn"===a||"stackedLine"===a||"bubble"===a||"scatter"===a||"stackedArea"===a||"stackedColumn100"===a||"stackedLine100"===a||"stackedArea100"===a||"candlestick"===a||"ohlc"===a||"rangeColumn"===a||"rangeArea"===a||"rangeSplineArea"===a||"boxAndWhisker"===a||"waterfall"===a)return"normal";if("bar"===a||"stackedBar"===a||"stackedBar100"===a||"rangeBar"===a)return"xySwapped";if("pie"===a||"doughnut"===a||"funnel"===a||"pyramid"===
|
|
577
577
|
a)return"none";"error"!==a&&window.console.log("Unknown Chart Type: "+a);return null};O.getDefaultLegendMarker=function(a){if("column"===a||"stackedColumn"===a||"stackedLine"===a||"bar"===a||"stackedBar"===a||"stackedBar100"===a||"bubble"===a||"scatter"===a||"stackedColumn100"===a||"stackedLine100"===a||"stepArea"===a||"candlestick"===a||"ohlc"===a||"rangeColumn"===a||"rangeBar"===a||"rangeArea"===a||"rangeSplineArea"===a||"boxAndWhisker"===a||"waterfall"===a)return"square";if("line"===a||"stepLine"===
|
|
578
|
-
a||"spline"===a||"pie"===a||"doughnut"===a)return"circle";if("area"===a||"splineArea"===a||"stackedArea"===a||"stackedArea100"===a||"funnel"===a||"pyramid"===a)return"triangle";if("error"===a)return"none";window.console.log("Unknown Chart Type: "+a);return null};O.prototype.getDataPointAtX=function(a,
|
|
579
|
-
(this.axisX.logarithmic?(p=Math.log(this.dataPoints[this.dataPoints.length-1].x/this.dataPoints[0].x),p=1<p?Math.min(Math.max((this.dataPoints.length-1)/p*Math.log(a/this.dataPoints[0].x)>>0,0),this.dataPoints.length):0):(p=this.dataPoints[this.dataPoints.length-1].x-this.dataPoints[0].x,p=0<p?Math.min(Math.max((this.dataPoints.length-1)/p*(a-this.dataPoints[0].x)>>0,0),this.dataPoints.length):0));for(;;){l=0<d?p+
|
|
580
|
-
b.x>a?b.x/a:a/b.x:Math.abs(b.x-a);q<c.distance&&(c.dataPoint=b,c.distance=q,c.index=l);b=q;b<=f?f=b:0<d?k++:n++;if(1E3<k&&1E3<n)break}else if(0>p-
|
|
581
|
-
|
|
582
|
-
this.dataPoints[0].x,q=0<r?Math.min(Math.max((this.dataPoints.length-1)/r*(q-this.dataPoints[0].x)>>0,0),this.dataPoints.length):0;for(;;){l=0<d?q+
|
|
583
|
-
|
|
584
|
-
0<d?n++:p++;t<=z/2&&(k=!0);break;case "rangeArea":case "rangeSplineArea":z=ra("markerSize",h,this)||4;m=c?20:z;t=Math.min(Math.sqrt(Math.pow(r.x1-a,2)+Math.pow(r.y1-
|
|
585
|
-
k=!0);break;case "pie":case "doughnut":z=r.center;m="doughnut"===this.type?r.percentInnerRadius*r.radius:0;t=Math.sqrt(Math.pow(z.x-a,2)+Math.pow(z.y-
|
|
586
|
-
dataPointIndex:l,dataSeries:this,distance:0}),k=!0));break;case "funnel":case "pyramid":t=r.funnelSection;
|
|
587
|
-
r.x1-r.borderThickness/2&&a<=r.x2+r.borderThickness/2&&
|
|
588
|
-
|
|
589
|
-
Math.abs(r.x2-a),Math.abs(r.y2-
|
|
590
|
-
this.markerBorderColor?this.markerBorderColor:null,k=f(
|
|
591
|
-
Math.log(
|
|
592
|
-
[],r=q.length?f(this.scaleBreaks.firstBreakIndex)?0:this.scaleBreaks.firstBreakIndex:0;if("axisX"!==this.type||"dateTime"!==this.valueType||this.logarithmic){
|
|
578
|
+
a||"spline"===a||"pie"===a||"doughnut"===a)return"circle";if("area"===a||"splineArea"===a||"stackedArea"===a||"stackedArea100"===a||"funnel"===a||"pyramid"===a)return"triangle";if("error"===a)return"none";window.console.log("Unknown Chart Type: "+a);return null};O.prototype.getDataPointAtX=function(a,g){if(!this.dataPoints||0===this.dataPoints.length)return null;var c={dataPoint:null,distance:Infinity,index:NaN},b=null,e=0,l=0,d=1,f=Infinity,k=0,n=0,p=0;"none"!==this.chart.plotInfo.axisPlacement&&
|
|
579
|
+
(this.axisX.logarithmic?(p=Math.log(this.dataPoints[this.dataPoints.length-1].x/this.dataPoints[0].x),p=1<p?Math.min(Math.max((this.dataPoints.length-1)/p*Math.log(a/this.dataPoints[0].x)>>0,0),this.dataPoints.length):0):(p=this.dataPoints[this.dataPoints.length-1].x-this.dataPoints[0].x,p=0<p?Math.min(Math.max((this.dataPoints.length-1)/p*(a-this.dataPoints[0].x)>>0,0),this.dataPoints.length):0));for(;;){l=0<d?p+e:p-e;if(0<=l&&l<this.dataPoints.length){var b=this.dataPoints[l],q=this.axisX.logarithmic?
|
|
580
|
+
b.x>a?b.x/a:a/b.x:Math.abs(b.x-a);q<c.distance&&(c.dataPoint=b,c.distance=q,c.index=l);b=q;b<=f?f=b:0<d?k++:n++;if(1E3<k&&1E3<n)break}else if(0>p-e&&p+e>=this.dataPoints.length)break;-1===d?(e++,d=1):d=-1}return g||(c.dataPoint.x.getTime?c.dataPoint.x.getTime():c.dataPoint.x)!==(a.getTime?a.getTime():a)?g&&null!==c.dataPoint?c:null:c};O.prototype.getDataPointAtXY=function(a,g,c){if(!this.dataPoints||0===this.dataPoints.length||a<this.chart.plotArea.x1||a>this.chart.plotArea.x2||g<this.chart.plotArea.y1||
|
|
581
|
+
g>this.chart.plotArea.y2)return null;c=c||!1;var b=[],e=0,l=0,d=1,k=!1,y=Infinity,n=0,p=0,q=0;if("none"!==this.chart.plotInfo.axisPlacement)if(q=(this.chart.axisX[0]?this.chart.axisX[0]:this.chart.axisX2[0]).getXValueAt({x:a,y:g}),this.axisX.logarithmic)var r=Math.log(this.dataPoints[this.dataPoints.length-1].x/this.dataPoints[0].x),q=1<r?Math.min(Math.max((this.dataPoints.length-1)/r*Math.log(q/this.dataPoints[0].x)>>0,0),this.dataPoints.length):0;else r=this.dataPoints[this.dataPoints.length-1].x-
|
|
582
|
+
this.dataPoints[0].x,q=0<r?Math.min(Math.max((this.dataPoints.length-1)/r*(q-this.dataPoints[0].x)>>0,0),this.dataPoints.length):0;for(;;){l=0<d?q+e:q-e;if(0<=l&&l<this.dataPoints.length){var r=this.chart._eventManager.objectMap[this.dataPointIds[l]],h=this.dataPoints[l],t=null;if(r){switch(this.type){case "column":case "stackedColumn":case "stackedColumn100":case "bar":case "stackedBar":case "stackedBar100":case "rangeColumn":case "rangeBar":case "waterfall":case "error":a>=r.x1&&(a<=r.x2&&g>=r.y1&&
|
|
583
|
+
g<=r.y2)&&(b.push({dataPoint:h,dataPointIndex:l,dataSeries:this,distance:Math.min(Math.abs(r.x1-a),Math.abs(r.x2-a),Math.abs(r.y1-g),Math.abs(r.y2-g))}),k=!0);break;case "line":case "stepLine":case "spline":case "area":case "stepArea":case "stackedArea":case "stackedArea100":case "splineArea":case "scatter":var z=ra("markerSize",h,this)||4,m=c?20:z,t=Math.sqrt(Math.pow(r.x1-a,2)+Math.pow(r.y1-g,2));t<=m&&b.push({dataPoint:h,dataPointIndex:l,dataSeries:this,distance:t});r=Math.abs(r.x1-a);r<=y?y=r:
|
|
584
|
+
0<d?n++:p++;t<=z/2&&(k=!0);break;case "rangeArea":case "rangeSplineArea":z=ra("markerSize",h,this)||4;m=c?20:z;t=Math.min(Math.sqrt(Math.pow(r.x1-a,2)+Math.pow(r.y1-g,2)),Math.sqrt(Math.pow(r.x1-a,2)+Math.pow(r.y2-g,2)));t<=m&&b.push({dataPoint:h,dataPointIndex:l,dataSeries:this,distance:t});r=Math.abs(r.x1-a);r<=y?y=r:0<d?n++:p++;t<=z/2&&(k=!0);break;case "bubble":z=r.size;t=Math.sqrt(Math.pow(r.x1-a,2)+Math.pow(r.y1-g,2));t<=z/2&&(b.push({dataPoint:h,dataPointIndex:l,dataSeries:this,distance:t}),
|
|
585
|
+
k=!0);break;case "pie":case "doughnut":z=r.center;m="doughnut"===this.type?r.percentInnerRadius*r.radius:0;t=Math.sqrt(Math.pow(z.x-a,2)+Math.pow(z.y-g,2));t<r.radius&&t>m&&(t=Math.atan2(g-z.y,a-z.x),0>t&&(t+=2*Math.PI),t=Number(((180*(t/Math.PI)%360+360)%360).toFixed(12)),z=Number(((180*(r.startAngle/Math.PI)%360+360)%360).toFixed(12)),m=Number(((180*(r.endAngle/Math.PI)%360+360)%360).toFixed(12)),0===m&&1<r.endAngle&&(m=360),z>=m&&(0!==h.y&&!f(h.y))&&(m+=360,t<z&&(t+=360)),t>z&&t<m&&(b.push({dataPoint:h,
|
|
586
|
+
dataPointIndex:l,dataSeries:this,distance:0}),k=!0));break;case "funnel":case "pyramid":t=r.funnelSection;g>t.y1&&g<t.y4&&(t.y6?g>t.y6?(l=t.x6+(t.x5-t.x6)/(t.y5-t.y6)*(g-t.y6),t=t.x3+(t.x4-t.x3)/(t.y4-t.y3)*(g-t.y3)):(l=t.x1+(t.x6-t.x1)/(t.y6-t.y1)*(g-t.y1),t=t.x2+(t.x3-t.x2)/(t.y3-t.y2)*(g-t.y2)):(l=t.x1+(t.x4-t.x1)/(t.y4-t.y1)*(g-t.y1),t=t.x2+(t.x3-t.x2)/(t.y3-t.y2)*(g-t.y2)),a>l&&a<t&&(b.push({dataPoint:h,dataPointIndex:r.dataPointIndex,dataSeries:this,distance:0}),k=!0));break;case "boxAndWhisker":if(a>=
|
|
587
|
+
r.x1-r.borderThickness/2&&a<=r.x2+r.borderThickness/2&&g>=r.y4-r.borderThickness/2&&g<=r.y1+r.borderThickness/2||Math.abs(r.x2-a+r.x1-a)<r.borderThickness&&g>=r.y1&&g<=r.y4)b.push({dataPoint:h,dataPointIndex:l,dataSeries:this,distance:Math.min(Math.abs(r.x1-a),Math.abs(r.x2-a),Math.abs(r.y2-g),Math.abs(r.y3-g))}),k=!0;break;case "candlestick":if(a>=r.x1-r.borderThickness/2&&a<=r.x2+r.borderThickness/2&&g>=r.y2-r.borderThickness/2&&g<=r.y3+r.borderThickness/2||Math.abs(r.x2-a+r.x1-a)<r.borderThickness&&
|
|
588
|
+
g>=r.y1&&g<=r.y4)b.push({dataPoint:h,dataPointIndex:l,dataSeries:this,distance:Math.min(Math.abs(r.x1-a),Math.abs(r.x2-a),Math.abs(r.y2-g),Math.abs(r.y3-g))}),k=!0;break;case "ohlc":if(Math.abs(r.x2-a+r.x1-a)<r.borderThickness&&g>=r.y2&&g<=r.y3||a>=r.x1&&a<=(r.x2+r.x1)/2&&g>=r.y1-r.borderThickness/2&&g<=r.y1+r.borderThickness/2||a>=(r.x1+r.x2)/2&&a<=r.x2&&g>=r.y4-r.borderThickness/2&&g<=r.y4+r.borderThickness/2)b.push({dataPoint:h,dataPointIndex:l,dataSeries:this,distance:Math.min(Math.abs(r.x1-a),
|
|
589
|
+
Math.abs(r.x2-a),Math.abs(r.y2-g),Math.abs(r.y3-g))}),k=!0}if(k||1E3<n&&1E3<p)break}}else if(0>q-e&&q+e>=this.dataPoints.length)break;-1===d?(e++,d=1):d=-1}a=null;for(g=0;g<b.length;g++)a?b[g].distance<=a.distance&&(a=b[g]):a=b[g];return a};O.prototype.getMarkerProperties=function(a,g,c,b){var e=this.dataPoints,l=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],d=e[a].markerBorderColor?e[a].markerBorderColor:
|
|
590
|
+
this.markerBorderColor?this.markerBorderColor:null,k=f(e[a].markerBorderThickness)?this.markerBorderThickness?this.markerBorderThickness:null:e[a].markerBorderThickness,t=e[a].markerType?e[a].markerType:this.markerType;a=f(e[a].markerSize)?this.markerSize:e[a].markerSize;return{x:g,y:c,ctx:b,type:t,size:a,color:l,borderColor:d,borderThickness:k}};ga(A,ba);A.prototype.createExtraLabelsForLog=function(a){a=(a||0)+1;if(!(5<a)){var g=this.logLabelValues[0]||this.intervalStartPosition;if(Math.log(this.range)/
|
|
591
|
+
Math.log(g/this.viewportMinimum)<this.noTicks-1){for(var c=A.getNiceNumber((g-this.viewportMinimum)/Math.min(Math.max(2,this.noTicks-this.logLabelValues.length),3),!0),b=Math.ceil(this.viewportMinimum/c)*c;b<g;b+=c)b<this.viewportMinimum||this.logLabelValues.push(b);this.logLabelValues.sort(Ya);this.createExtraLabelsForLog(a)}}};A.prototype.createLabels=function(){var a,g,c=0,b=0,e,l=0,d=0,b=0,b=this.interval,k=0,t,n=0.6*this.chart.height,p;a=!1;var q=this.scaleBreaks?this.scaleBreaks._appliedBreaks:
|
|
592
|
+
[],r=q.length?f(this.scaleBreaks.firstBreakIndex)?0:this.scaleBreaks.firstBreakIndex:0;if("axisX"!==this.type||"dateTime"!==this.valueType||this.logarithmic){e=this.viewportMaximum;if(this.labels){a=Math.ceil(b);for(var b=Math.ceil(this.intervalStartPosition),h=!1,c=b;c<this.viewportMaximum;c+=a)if(this.labels[c])h=!0;else{h=!1;break}h&&(this.interval=a,this.intervalStartPosition=b)}if(this.logarithmic&&!this.equidistantInterval)for(this.logLabelValues||(this.logLabelValues=[],this.createExtraLabelsForLog()),
|
|
593
593
|
b=0,h=r;b<this.logLabelValues.length;b++)if(c=this.logLabelValues[b],c<this.viewportMinimum)b++;else{for(;h<q.length&&c>q[h].endValue;h++);a=h<q.length&&c>=q[h].startValue&&c<=q[h].endValue;p=c;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:p,label:this.labels[p]?this.labels[p]:null}):"axisX"===this.type&&this.labels[p]?this.labels[p]:aa(p,this.valueFormatString,this.chart._cultureInfo),a=new ma(this.ctx,{x:0,y:0,maxWidth:l,maxHeight:d,angle:this.labelAngle,
|
|
594
|
-
text:this.prefix+a+this.suffix,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,cornerRadius:this.labelCornerRadius,textAlign:this.labelTextAlign,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle",borderThickness:0}),this._labels.push({position:p,textBlock:a,effectiveHeight:null}))}h=r;for(c=this.intervalStartPosition;c<=
|
|
594
|
+
text:this.prefix+a+this.suffix,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,cornerRadius:this.labelCornerRadius,textAlign:this.labelTextAlign,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle",borderThickness:0}),this._labels.push({position:p,textBlock:a,effectiveHeight:null}))}h=r;for(c=this.intervalStartPosition;c<=e;c=parseFloat(1E-12>this.interval?
|
|
595
595
|
this.logarithmic&&this.equidistantInterval?c*Math.pow(this.logarithmBase,this.interval):c+this.interval:(this.logarithmic&&this.equidistantInterval?c*Math.pow(this.logarithmBase,this.interval):c+this.interval).toFixed(12))){for(;h<q.length&&c>q[h].endValue;h++);a=h<q.length&&c>=q[h].startValue&&c<=q[h].endValue;p=c;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,value:p,label:this.labels[p]?this.labels[p]:null}):"axisX"===this.type&&this.labels[p]?this.labels[p]:
|
|
596
596
|
aa(p,this.valueFormatString,this.chart._cultureInfo),a=new ma(this.ctx,{x:0,y:0,maxWidth:l,maxHeight:d,angle:this.labelAngle,text:this.prefix+a+this.suffix,textAlign:this.labelTextAlign,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,borderThickness:this.labelBorderThickness,cornerRadius:this.labelCornerRadius,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle"}),
|
|
597
|
-
this._labels.push({position:p,textBlock:a,effectiveHeight:null}))}}else for(this.intervalStartPosition=this.getLabelStartPoint(new Date(this.viewportMinimum),this.intervalType,this.interval),
|
|
597
|
+
this._labels.push({position:p,textBlock:a,effectiveHeight:null}))}}else for(this.intervalStartPosition=this.getLabelStartPoint(new Date(this.viewportMinimum),this.intervalType,this.interval),e=db(new Date(this.viewportMaximum),this.interval,this.intervalType),h=r,c=this.intervalStartPosition;c<e;db(c,b,this.intervalType)){for(a=c.getTime();h<q.length&&a>q[h].endValue;h++);p=a;a=h<q.length&&a>=q[h].startValue&&a<=q[h].endValue;a||(a=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.options,
|
|
598
598
|
value:new Date(p),label:this.labels[p]?this.labels[p]:null}):"axisX"===this.type&&this.labels[p]?this.labels[p]:ea(p,this.valueFormatString,this.chart._cultureInfo),a=new ma(this.ctx,{x:0,y:0,maxWidth:l,backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,borderThickness:this.labelBorderThickness,cornerRadius:this.labelCornerRadius,maxHeight:d,angle:this.labelAngle,text:this.prefix+a+this.suffix,textAlign:this.labelTextAlign,fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,
|
|
599
599
|
fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle"}),this._labels.push({position:p,textBlock:a,effectiveHeight:null,breaksLabelType:void 0}))}if("bottom"===this._position||"top"===this._position)k=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))/
|
|
600
600
|
Math.log(this.range):this.lineCoordinates.width/(this.logarithmic&&this.equidistantInterval?Math.log(this.range)/Math.log(this.logarithmBase):Math.abs(this.range))*V[this.intervalType+"Duration"]*this.interval,l="undefined"===typeof this.options.labelMaxWidth?0.5*this.chart.width>>0:this.options.labelMaxWidth,this.chart.panEnabled||(d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.8*this.chart.height>>0:1.5*this.labelFontSize);else if("left"===this._position||"right"===this._position)k=
|
|
601
601
|
this.logarithmic&&!this.equidistantInterval&&2<=this._labels.length?this.lineCoordinates.height*Math.log(Math.min(this._labels[this._labels.length-1].position/this._labels[this._labels.length-2].position,this._labels[1].position/this._labels[0].position))/Math.log(this.range):this.lineCoordinates.height/(this.logarithmic&&this.equidistantInterval?Math.log(this.range)/Math.log(this.logarithmBase):Math.abs(this.range))*V[this.intervalType+"Duration"]*this.interval,this.chart.panEnabled||(l="undefined"===
|
|
602
|
-
typeof this.options.labelMaxWidth?0.3*this.chart.width>>0:this.options.labelMaxWidth),d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.3*this.chart.height>>0:1.5*this.labelFontSize;for(b=0;b<this._labels.length;b++){a=this._labels[b].textBlock;a.maxWidth=l;a.maxHeight=d;var y=a.measureText();t=y.height}
|
|
602
|
+
typeof this.options.labelMaxWidth?0.3*this.chart.width>>0:this.options.labelMaxWidth),d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.3*this.chart.height>>0:1.5*this.labelFontSize;for(b=0;b<this._labels.length;b++){a=this._labels[b].textBlock;a.maxWidth=l;a.maxHeight=d;var y=a.measureText();t=y.height}e=[];r=q=0;if(this.labelAutoFit||this.options.labelAutoFit)if(f(this.labelAngle)||(this.labelAngle=(this.labelAngle%360+360)%360,90<this.labelAngle&&270>this.labelAngle?this.labelAngle-=
|
|
603
603
|
180:270<=this.labelAngle&&360>=this.labelAngle&&(this.labelAngle-=360)),"bottom"===this._position||"top"===this._position)if(l=0.9*k>>0,r=0,!this.chart.panEnabled&&1<=this._labels.length){this.sessionVariables.labelFontSize=this.labelFontSize;this.sessionVariables.labelMaxWidth=l;this.sessionVariables.labelMaxHeight=d;this.sessionVariables.labelAngle=this.labelAngle;this.sessionVariables.labelWrap=this.labelWrap;for(c=0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=this._labels[c].textBlock;
|
|
604
|
-
for(var z,h=a.text.split(" "),b=0;b<h.length;b++)p=h[b],this.ctx.font=a.fontStyle+" "+a.fontWeight+" "+a.fontSize+"px "+a.fontFamily,p=this.ctx.measureText(p),p.width>r&&(z=c,r=p.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;y=a.measureText();for(h=c+1;h<this._labels.length;h++)if(!this._labels[h].breaksLabelType){
|
|
605
|
-
Math.max.apply(Math,
|
|
606
|
-
p=(n-(t+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(-25)))/Math.sin(Math.PI/180*Math.abs(-25)),!f(this.options.labelWrap))this.labelWrap?f(this.options.labelMaxWidth)?(this.sessionVariables.labelMaxWidth=Math.min(Math.max(l,r),p),this.sessionVariables.labelWrap=this.labelWrap,
|
|
607
|
-
l?-25:this.sessionVariables.labelAngle):f(this.options.labelMaxWidth)?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelMaxWidth=l,
|
|
608
|
-
d,this.sessionVariables.labelWrap=this.labelWrap);else{if(f(this.options.labelWrap))if(!f(this.options.labelMaxWidth))this.options.labelMaxWidth<l?(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=b):(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=d);else if(!f(
|
|
604
|
+
for(var z,h=a.text.split(" "),b=0;b<h.length;b++)p=h[b],this.ctx.font=a.fontStyle+" "+a.fontWeight+" "+a.fontSize+"px "+a.fontFamily,p=this.ctx.measureText(p),p.width>r&&(z=c,r=p.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;y=a.measureText();for(h=c+1;h<this._labels.length;h++)if(!this._labels[h].breaksLabelType){g=this._labels[h].textBlock;g=g.measureText();break}e.push(a.height);this.sessionVariables.labelMaxHeight=
|
|
605
|
+
Math.max.apply(Math,e);Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.sin(Math.PI/180*Math.abs(this.labelAngle));b=l*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(d-a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));if(f(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&0!==this.options.labelAngle)if(this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:Math.min((b-l*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),b),
|
|
606
|
+
p=(n-(t+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(-25)))/Math.sin(Math.PI/180*Math.abs(-25)),!f(this.options.labelWrap))this.labelWrap?f(this.options.labelMaxWidth)?(this.sessionVariables.labelMaxWidth=Math.min(Math.max(l,r),p),this.sessionVariables.labelWrap=this.labelWrap,g&&y.width+g.width>>0>2*l&&(this.sessionVariables.labelAngle=-25)):(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelAngle=this.sessionVariables.labelMaxWidth>
|
|
607
|
+
l?-25:this.sessionVariables.labelAngle):f(this.options.labelMaxWidth)?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelMaxWidth=l,g&&y.width+g.width>>0>2*l&&(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=p)):(this.sessionVariables.labelAngle=this.sessionVariables.labelMaxWidth>l?-25:this.sessionVariables.labelAngle,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=
|
|
608
|
+
d,this.sessionVariables.labelWrap=this.labelWrap);else{if(f(this.options.labelWrap))if(!f(this.options.labelMaxWidth))this.options.labelMaxWidth<l?(this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=b):(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth,this.sessionVariables.labelMaxHeight=d);else if(!f(g))if(b=y.width+g.width>>0,h=this.labelFontSize,r<l)b-2*l>q&&(q=b-2*l,b>=2*l&&b<2.2*l?(this.sessionVariables.labelMaxWidth=
|
|
609
609
|
l,f(this.options.labelFontSize)&&12<h&&(h=Math.floor(12/13*h),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?h:this.options.labelFontSize,this.sessionVariables.labelAngle=this.labelAngle):b>=2.2*l&&b<2.8*l?(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=p,this.sessionVariables.labelFontSize=h):b>=2.8*l&&b<3.2*l?(this.sessionVariables.labelMaxWidth=Math.max(l,r),this.sessionVariables.labelWrap=!0,f(this.options.labelFontSize)&&12<this.labelFontSize&&
|
|
610
610
|
(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?h:this.options.labelFontSize,this.sessionVariables.labelAngle=this.labelAngle):b>=3.2*l&&b<3.6*l?(this.sessionVariables.labelAngle=-25,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelMaxWidth=p,this.sessionVariables.labelFontSize=this.labelFontSize):b>3.6*l&&b<5*l?(f(this.options.labelFontSize)&&12<h&&(h=Math.floor(12/13*h),a.measureText()),this.sessionVariables.labelFontSize=
|
|
611
611
|
f(this.options.labelFontSize)?h:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=p):b>5*l&&(this.sessionVariables.labelWrap=!0,this.sessionVariables.labelMaxWidth=l,this.sessionVariables.labelFontSize=h,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelAngle=this.labelAngle));else if(z===c&&(0===z&&r+this._labels[z+1].textBlock.measureText().width-2*l>q||z===this._labels.length-1&&r+this._labels[z-
|
|
612
612
|
1].textBlock.measureText().width-2*l>q||0<z&&z<this._labels.length-1&&r+this._labels[z+1].textBlock.measureText().width-2*l>q&&r+this._labels[z-1].textBlock.measureText().width-2*l>q))q=0===z?r+this._labels[z+1].textBlock.measureText().width-2*l:r+this._labels[z-1].textBlock.measureText().width-2*l,this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?h:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelAngle=-25,this.sessionVariables.labelMaxWidth=
|
|
613
|
-
p;else if(0===q)for(this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?h:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.sessionVariables.labelMaxWidth=Math.min(Math.max(l,r),p),y=a.measureText(),b<this._labels.length-1&&(h=b+1,
|
|
613
|
+
p;else if(0===q)for(this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?h:this.options.labelFontSize,this.sessionVariables.labelWrap=!0,b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.sessionVariables.labelMaxWidth=Math.min(Math.max(l,r),p),y=a.measureText(),b<this._labels.length-1&&(h=b+1,g=this._labels[h].textBlock,g.maxWidth=this.sessionVariables.labelMaxWidth=Math.min(Math.max(l,r),p),g=g.measureText(),y.width+g.width>>0>2*l&&(this.sessionVariables.labelAngle=
|
|
614
614
|
-25))}else(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxHeight=0===this.labelAngle?d:Math.min((b-l*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)),b),p=0!=this.labelAngle?(n-(t+a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle)))/Math.sin(Math.PI/180*Math.abs(this.labelAngle)):l,this.sessionVariables.labelMaxHeight=this.labelWrap?(n-p*Math.sin(Math.PI/180*Math.abs(this.labelAngle)))/Math.cos(Math.PI/180*Math.abs(this.labelAngle)):
|
|
615
615
|
1.5*this.labelFontSize,f(this.options.labelWrap))?f(this.options.labelWrap)&&(this.labelWrap&&!f(this.options.labelMaxWidth)?(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:p,this.sessionVariables.labelMaxHeight=d):(this.sessionVariables.labelAngle=this.labelAngle,this.sessionVariables.labelMaxWidth=p,this.sessionVariables.labelMaxHeight=b<0.9*k?0.9*k:b,this.sessionVariables.labelWrap=this.labelWrap)):(this.options.labelWrap?
|
|
616
616
|
(this.sessionVariables.labelWrap=this.labelWrap,this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:p):(f(this.options.labelMaxWidth),this.sessionVariables.labelMaxWidth=this.options.labelMaxWidth?this.options.labelMaxWidth:p,this.sessionVariables.labelWrap=this.labelWrap),this.sessionVariables.labelMaxHeight=d)}for(b=0;b<this._labels.length;b++)a=this._labels[b].textBlock,a.maxWidth=this.labelMaxWidth=this.sessionVariables.labelMaxWidth,a.fontSize=this.sessionVariables.labelFontSize,
|
|
617
617
|
a.angle=this.labelAngle=this.sessionVariables.labelAngle,a.wrap=this.labelWrap=this.sessionVariables.labelWrap,a.maxHeight=this.sessionVariables.labelMaxHeight,a.measureText()}else for(c=0;c<this._labels.length;c++)a=this._labels[c].textBlock,a.maxWidth=this.labelMaxWidth=f(this.options.labelMaxWidth)?f(this.sessionVariables.labelMaxWidth)?this.sessionVariables.labelMaxWidth=l:this.sessionVariables.labelMaxWidth:this.options.labelMaxWidth,a.fontSize=this.labelFontSize=f(this.options.labelFontSize)?
|
|
618
618
|
f(this.sessionVariables.labelFontSize)?this.sessionVariables.labelFontSize=this.labelFontSize:this.sessionVariables.labelFontSize:this.options.labelFontSize,a.angle=this.labelAngle=f(this.options.labelAngle)?f(this.sessionVariables.labelAngle)?this.sessionVariables.labelAngle=this.labelAngle:this.sessionVariables.labelAngle:this.labelAngle,a.wrap=this.labelWrap=f(this.options.labelWrap)?f(this.sessionVariables.labelWrap)?this.sessionVariables.labelWrap=this.labelWrap:this.sessionVariables.labelWrap:
|
|
619
619
|
this.options.labelWrap,a.maxHeight=f(this.sessionVariables.labelMaxHeight)?this.sessionVariables.labelMaxHeight=d:this.sessionVariables.labelMaxHeight,a.measureText();else if("left"===this._position||"right"===this._position)if(l=f(this.options.labelMaxWidth)?0.3*this.chart.width>>0:this.options.labelMaxWidth,d="undefined"===typeof this.options.labelWrap||this.labelWrap?0.3*this.chart.height>>0:1.5*this.labelFontSize,!this.chart.panEnabled&&1<=this._labels.length){this.sessionVariables.labelFontSize=
|
|
620
|
-
this.labelFontSize;this.sessionVariables.labelMaxWidth=l;this.sessionVariables.labelMaxHeight=d;this.sessionVariables.labelAngle=f(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle;this.sessionVariables.labelWrap=this.labelWrap;for(c=0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=this._labels[c].textBlock;y=a.measureText();for(h=c+1;h<this._labels.length;h++)if(!this._labels[h].breaksLabelType){
|
|
621
|
-
this.sessionVariables.labelMaxHeight=Math.max.apply(Math,
|
|
620
|
+
this.labelFontSize;this.sessionVariables.labelMaxWidth=l;this.sessionVariables.labelMaxHeight=d;this.sessionVariables.labelAngle=f(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle;this.sessionVariables.labelWrap=this.labelWrap;for(c=0;c<this._labels.length;c++)if(!this._labels[c].breaksLabelType){a=this._labels[c].textBlock;y=a.measureText();for(h=c+1;h<this._labels.length;h++)if(!this._labels[h].breaksLabelType){g=this._labels[h].textBlock;g=g.measureText();break}e.push(a.height);
|
|
621
|
+
this.sessionVariables.labelMaxHeight=Math.max.apply(Math,e);b=l*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(d-a.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.cos(Math.PI/180*Math.abs(this.labelAngle));Math.sin(Math.PI/180*Math.abs(this.labelAngle));f(this.options.labelAngle)&&isNaN(this.options.labelAngle)&&0!==this.options.labelAngle?f(this.options.labelWrap)?f(this.options.labelWrap)&&(f(this.options.labelMaxWidth)?f(g)||(k=y.height+g.height>>0,k-2*d>r&&(r=k-2*d,k>=2*d&&
|
|
622
622
|
k<2.4*d?(f(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize):k>=2.4*d&&k<2.8*d?(this.sessionVariables.labelMaxHeight=b,this.sessionVariables.labelFontSize=this.labelFontSize,this.sessionVariables.labelWrap=!0):k>=2.8*d&&k<3.2*d?(this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelWrap=
|
|
623
623
|
!0,f(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelAngle=f(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):k>=3.2*d&&k<3.6*d?(this.sessionVariables.labelMaxHeight=b,this.sessionVariables.labelWrap=!0,this.sessionVariables.labelFontSize=this.labelFontSize):k>3.6*
|
|
624
624
|
d&&k<10*d?(f(this.options.labelFontSize)&&12<this.labelFontSize&&(this.labelFontSize=Math.floor(12/13*this.labelFontSize),a.measureText()),this.sessionVariables.labelFontSize=f(this.options.labelFontSize)?this.labelFontSize:this.options.labelFontSize,this.sessionVariables.labelMaxWidth=l,this.sessionVariables.labelMaxHeight=d,this.sessionVariables.labelAngle=f(this.sessionVariables.labelAngle)?0:this.sessionVariables.labelAngle):k>10*d&&k<50*d&&(f(this.options.labelFontSize)&&12<this.labelFontSize&&
|
|
@@ -632,196 +632,196 @@ f(this.sessionVariables.labelWrap)?this.sessionVariables.labelWrap=this.labelWra
|
|
|
632
632
|
m=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=m=l.labelWrap?0.8*this.chart.height>>0:1.5*this.labelFontSize;if("left"===this._position||"right"===this._position)f(l.options.labelWrap)&&!f(this.sessionVariables.stripLineLabelMaxHeight)?m=this.sessionVariables.stripLineLabelMaxHeight:this.sessionVariables.stripLineLabelMaxHeight=m=l.labelWrap?0.8*this.chart.width>>0:1.5*this.labelFontSize;f(l.labelBackgroundColor)&&(l.labelBackgroundColor="#EEEEEE")}else d=
|
|
633
633
|
"bottom"===this._position||"top"===this._position?0.9*this.chart.width>>0:0.9*this.chart.height>>0,m=f(l.options.labelWrap)||l.labelWrap?"bottom"===this._position||"top"===this._position?0.8*this.chart.width>>0:0.8*this.chart.height>>0:1.5*this.labelFontSize,f(l.labelBackgroundColor)&&(f(l.startValue)&&0!==l.startValue?l.labelBackgroundColor=s?"transparent":null:l.labelBackgroundColor="#EEEEEE");a=new ma(this.ctx,{x:0,y:0,backgroundColor:l.labelBackgroundColor,borderColor:l.labelBorderColor,borderThickness:l.labelBorderThickness,
|
|
634
634
|
cornerRadius:l.labelCornerRadius,maxWidth:l.options.labelMaxWidth?l.options.labelMaxWidth:d,maxHeight:m,angle:this.labelAngle,text:l.labelFormatter?l.labelFormatter({chart:this.chart,axis:this,stripLine:l}):l.label,textAlign:this.labelTextAlign,fontSize:"outside"===l.labelPlacement?l.options.labelFontSize?l.labelFontSize:this.labelFontSize:l.labelFontSize,fontFamily:"outside"===l.labelPlacement?l.options.labelFontFamily?l.labelFontFamily:this.labelFontFamily:l.labelFontFamily,fontWeight:"outside"===
|
|
635
|
-
l.labelPlacement?l.options.labelFontWeight?l.labelFontWeight:this.labelFontWeight:l.labelFontWeight,fontColor:l.labelFontColor||l.color,fontStyle:"outside"===l.labelPlacement?l.options.labelFontStyle?l.labelFontStyle:this.fontWeight:l.labelFontStyle,textBaseline:"middle"});this._stripLineLabels.push({position:l.value,textBlock:a,effectiveHeight:null,stripLine:l})}};A.prototype.createLabelsAndCalculateWidth=function(){var a=0,
|
|
636
|
-
0:5;if("left"===this._position||"right"===this._position){this.createLabels();if("inside"!=this.labelPlacement||"inside"===this.labelPlacement&&0<this._index)for(
|
|
637
|
-
this._stripLineLabels[
|
|
638
|
-
a<l&&(a=l),this.stripLineLabelEffectiveWidth=this._stripLineLabels[
|
|
639
|
-
0<this._index)for(c=0;c<this._labels.length;c++){
|
|
640
|
-
this._stripLineLabels[c].stripLine.value<=this.viewportMaximum)&&(
|
|
641
|
-
2:0)+a+("inside"===this.tickPlacement?0<this._index?this.tickLength:0:this.tickLength)+b};A.setLayout=function(a,
|
|
635
|
+
l.labelPlacement?l.options.labelFontWeight?l.labelFontWeight:this.labelFontWeight:l.labelFontWeight,fontColor:l.labelFontColor||l.color,fontStyle:"outside"===l.labelPlacement?l.options.labelFontStyle?l.labelFontStyle:this.fontWeight:l.labelFontStyle,textBaseline:"middle"});this._stripLineLabels.push({position:l.value,textBlock:a,effectiveHeight:null,stripLine:l})}};A.prototype.createLabelsAndCalculateWidth=function(){var a=0,g=0;this._labels=[];this._stripLineLabels=[];var c=this.chart.isNavigator?
|
|
636
|
+
0:5;if("left"===this._position||"right"===this._position){this.createLabels();if("inside"!=this.labelPlacement||"inside"===this.labelPlacement&&0<this._index)for(g=0;g<this._labels.length;g++){var b=this._labels[g].textBlock,e=b.measureText(),l=0,l=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<l&&(this.labelEffectiveWidth=a=l);this._labels[g].effectiveWidth=l}for(g=0;g<this._stripLineLabels.length;g++)"outside"===
|
|
637
|
+
this._stripLineLabels[g].stripLine.labelPlacement&&(this._stripLineLabels[g].stripLine.value>=this.viewportMinimum&&this._stripLineLabels[g].stripLine.value<=this.viewportMaximum)&&(b=this._stripLineLabels[g].textBlock,e=b.measureText(),l=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&&(l+=this.tickLength),"inside"===this.labelPlacement&&(a+=0<this._index?l:0),
|
|
638
|
+
a<l&&(a=l),this.stripLineLabelEffectiveWidth=this._stripLineLabels[g].effectiveWidth=l)}return(this.title?this._titleTextBlock.measureText().height+2:0)+a+("inside"===this.tickPlacement?0<this._index?this.tickLength:0:this.tickLength)+c};A.prototype.createLabelsAndCalculateHeight=function(){var a=0;this._labels=[];this._stripLineLabels=[];var g,c=0,b=this.chart.isNavigator?0:5;if("bottom"===this._position||"top"===this._position){this.createLabels();if("inside"!=this.labelPlacement||"inside"===this.labelPlacement&&
|
|
639
|
+
0<this._index)for(c=0;c<this._labels.length;c++){g=this._labels[c].textBlock;var e=g.measureText(),l=0,l=0===this.labelAngle?e.height:e.width*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(e.height-g.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle));a<l&&(this.labelEffectiveHeight=a=l);this._labels[c].effectiveHeight=l}for(c=0;c<this._stripLineLabels.length;c++)"outside"===this._stripLineLabels[c].stripLine.labelPlacement&&(this._stripLineLabels[c].stripLine.value>=this.viewportMinimum&&
|
|
640
|
+
this._stripLineLabels[c].stripLine.value<=this.viewportMaximum)&&(g=this._stripLineLabels[c].textBlock,e=g.measureText(),l=0===this.labelAngle?e.height:e.width*Math.sin(Math.PI/180*Math.abs(this.labelAngle))+(e.height-g.fontSize/2)*Math.cos(Math.PI/180*Math.abs(this.labelAngle)),"inside"===this.tickPlacement&&(l+=this.tickLength),"inside"===this.labelPlacement&&(a+=0<this._index?l:0),a<l&&(a=l),this.stripLineLabelEffectiveHeight=this._stripLineLabels[c].effectiveHeight=l)}return(this.title?this._titleTextBlock.measureText().height+
|
|
641
|
+
2:0)+a+("inside"===this.tickPlacement?0<this._index?this.tickLength:0:this.tickLength)+b};A.setLayout=function(a,g,c,b,e,l){var d,k,t,n,p=a[0]?a[0].chart:g[0].chart,q=p.isNavigator?0:10,r=p._axes;if(a&&0<a.length)for(var h=0;h<a.length;h++)a[h]&&a[h].calculateAxisParameters();if(g&&0<g.length)for(h=0;h<g.length;h++)g[h].calculateAxisParameters();if(c&&0<c.length)for(h=0;h<c.length;h++)c[h].calculateAxisParameters();if(b&&0<b.length)for(h=0;h<b.length;h++)b[h].calculateAxisParameters();for(h=0;h<r.length;h++)if(r[h]&&
|
|
642
642
|
r[h].scaleBreaks&&r[h].scaleBreaks._appliedBreaks.length)for(var y=r[h].scaleBreaks._appliedBreaks,z=0;z<y.length&&!(y[z].startValue>r[h].viewportMaximum);z++)y[z].endValue<r[h].viewportMinimum||(f(r[h].scaleBreaks.firstBreakIndex)&&(r[h].scaleBreaks.firstBreakIndex=z),y[z].startValue>=r[h].viewPortMinimum&&(r[h].scaleBreaks.lastBreakIndex=z));for(var m=z=0,u=0,s=0,x=0,v=0,A=0,C,G,H=k=0,L,Q,N,y=L=Q=N=!1,h=0;h<r.length;h++)r[h]&&r[h].title&&(r[h]._titleTextBlock=new ma(r[h].ctx,{text:r[h].title,horizontalAlign:"center",
|
|
643
643
|
fontSize:r[h].titleFontSize,fontFamily:r[h].titleFontFamily,fontWeight:r[h].titleFontWeight,fontColor:r[h].titleFontColor,fontStyle:r[h].titleFontStyle,borderColor:r[h].titleBorderColor,borderThickness:r[h].titleBorderThickness,backgroundColor:r[h].titleBackgroundColor,cornerRadius:r[h].titleCornerRadius,textBaseline:"middle"}));for(h=0;h<r.length;h++)if(r[h].title)switch(r[h]._position){case "left":r[h]._titleTextBlock.maxWidth=r[h].titleMaxWidth||l.height;r[h]._titleTextBlock.maxHeight=r[h].titleWrap?
|
|
644
|
-
0.8*l.width:1.5*r[h].titleFontSize;r[h]._titleTextBlock.angle=-90;break;case "right":r[h]._titleTextBlock.maxWidth=r[h].titleMaxWidth||l.height;r[h]._titleTextBlock.maxHeight=r[h].titleWrap?0.8*l.width:1.5*r[h].titleFontSize;r[h]._titleTextBlock.angle=90;break;default:r[h]._titleTextBlock.maxWidth=r[h].titleMaxWidth||l.width,r[h]._titleTextBlock.maxHeight=r[h].titleWrap?0.8*l.height:1.5*r[h].titleFontSize,r[h]._titleTextBlock.angle=0}if("normal"===
|
|
645
|
-
z;){var J=0,X=0,$=0,T=0,aa=
|
|
646
|
-
R.push(A);d=Math.round(l.x1+U+S);t=Math.round(l.x2-ca-ba>p.width-q?p.width-q:l.x2-ca-ba);if(a&&0<a.length)for(s=[],h=Y=0;h<a.length;h++)a[h]&&(a[h].lineCoordinates={}),a[h].lineCoordinates.width=Math.abs(t-d),a[h].title&&(a[h]._titleTextBlock.maxWidth=0<a[h].titleMaxWidth&&a[h].titleMaxWidth<a[h].lineCoordinates.width?a[h].titleMaxWidth:a[h].lineCoordinates.width),s.push(Math.ceil(a[h]?a[h].createLabelsAndCalculateHeight():0)),Y+=s[h],
|
|
647
|
-
a[0].createLabelsAndCalculateHeight():0));O.push(s);if(
|
|
644
|
+
0.8*l.width:1.5*r[h].titleFontSize;r[h]._titleTextBlock.angle=-90;break;case "right":r[h]._titleTextBlock.maxWidth=r[h].titleMaxWidth||l.height;r[h]._titleTextBlock.maxHeight=r[h].titleWrap?0.8*l.width:1.5*r[h].titleFontSize;r[h]._titleTextBlock.angle=90;break;default:r[h]._titleTextBlock.maxWidth=r[h].titleMaxWidth||l.width,r[h]._titleTextBlock.maxHeight=r[h].titleWrap?0.8*l.height:1.5*r[h].titleFontSize,r[h]._titleTextBlock.angle=0}if("normal"===e){for(var s=[],x=[],v=[],A=[],O=[],P=[],M=[],R=[];4>
|
|
645
|
+
z;){var J=0,X=0,$=0,T=0,aa=e=0,S=0,ba=0,Y=0,V=0,U=0,ca=0;if(c&&0<c.length)for(v=[],h=U=0;h<c.length;h++)v.push(Math.ceil(c[h]?c[h].createLabelsAndCalculateWidth():0)),U+=v[h],S+=c[h]&&!p.isNavigator?c[h].margin:0;else v.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateWidth():0));M.push(v);if(b&&0<b.length)for(A=[],h=ca=0;h<b.length;h++)A.push(Math.ceil(b[h]?b[h].createLabelsAndCalculateWidth():0)),ca+=A[h],ba+=b[h]?b[h].margin:0;else A.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateWidth():0));
|
|
646
|
+
R.push(A);d=Math.round(l.x1+U+S);t=Math.round(l.x2-ca-ba>p.width-q?p.width-q:l.x2-ca-ba);if(a&&0<a.length)for(s=[],h=Y=0;h<a.length;h++)a[h]&&(a[h].lineCoordinates={}),a[h].lineCoordinates.width=Math.abs(t-d),a[h].title&&(a[h]._titleTextBlock.maxWidth=0<a[h].titleMaxWidth&&a[h].titleMaxWidth<a[h].lineCoordinates.width?a[h].titleMaxWidth:a[h].lineCoordinates.width),s.push(Math.ceil(a[h]?a[h].createLabelsAndCalculateHeight():0)),Y+=s[h],e+=a[h]&&!p.isNavigator?a[h].margin:0;else s.push(Math.ceil(a[0]?
|
|
647
|
+
a[0].createLabelsAndCalculateHeight():0));O.push(s);if(g&&0<g.length)for(x=[],h=V=0;h<g.length;h++)g[h]&&(g[h].lineCoordinates={}),g[h].lineCoordinates.width=Math.abs(t-d),g[h].title&&(g[h]._titleTextBlock.maxWidth=0<g[h].titleMaxWidth&&g[h].titleMaxWidth<g[h].lineCoordinates.width?g[h].titleMaxWidth:g[h].lineCoordinates.width),x.push(Math.ceil(g[h]?g[h].createLabelsAndCalculateHeight():0)),V+=x[h],aa+=g[h]&&!p.isNavigator?g[h].margin:0;else x.push(Math.ceil(g[0]?g[0].createLabelsAndCalculateHeight():
|
|
648
648
|
0));P.push(x);if(a&&0<a.length)for(h=0;h<a.length;h++)a[h]&&(a[h].lineCoordinates.x1=d,t=Math.round(l.x2-ca-ba>p.width-q?p.width-q:l.x2-ca-ba),a[h]._labels&&1<a[h]._labels.length&&(k=n=0,n=a[h]._labels[1],k="dateTime"===a[h].valueType?a[h]._labels[a[h]._labels.length-2]:a[h]._labels[a[h]._labels.length-1],m=n.textBlock.width*Math.cos(Math.PI/180*Math.abs(n.textBlock.angle))+(n.textBlock.height-k.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(n.textBlock.angle)),u=k.textBlock.width*Math.cos(Math.PI/
|
|
649
649
|
180*Math.abs(k.textBlock.angle))+(k.textBlock.height-k.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(k.textBlock.angle))),!a[h]||(!a[h].labelAutoFit||f(C)||f(G)||p.isNavigator||p.stockChart)||(k=0,0<a[h].labelAngle?G+u>t&&(k+=0<a[h].labelAngle?G+u-t-ca:0):0>a[h].labelAngle?C-m<d&&C-m<a[h].viewportMinimum&&(H=d-(S+a[h].tickLength+v+C-m+a[h].labelFontSize/2)):0===a[h].labelAngle&&(G+u>t&&(k=G+u/2-t-ca),C-m<d&&C-m<a[h].viewportMinimum&&(H=d-S-a[h].tickLength-v-C+m/2)),a[h].viewportMaximum===a[h].maximum&&
|
|
650
|
-
a[h].viewportMinimum===a[h].minimum&&0<a[h].labelAngle&&0<k?t-=k:a[h].viewportMaximum===a[h].maximum&&a[h].viewportMinimum===a[h].minimum&&0>a[h].labelAngle&&0<H?d+=H:a[h].viewportMaximum===a[h].maximum&&a[h].viewportMinimum===a[h].minimum&&0===a[h].labelAngle&&(0<H&&(d+=H),0<k&&(t-=k))),p.panEnabled?Y=f(p.sessionVariables.axisX.height)?p.sessionVariables.axisX.height=Y:p.sessionVariables.axisX.height:p.sessionVariables.axisX.height=Y,k=Math.round(l.y2-Y-
|
|
651
|
-
t,a[h].lineCoordinates.width=t-d,a[h].lineCoordinates.y1=k,a[h].lineCoordinates.y2=k,"inside"===a[h].labelPlacement&&0<h&&(a[h].lineCoordinates.y1=a[h-1].lineCoordinates.y2+J+(a[h].labelEffectiveHeight||0),a[h].lineCoordinates.y2=a[h].lineCoordinates.y1+a[h].lineThickness/2),"inside"===a[h].tickPlacement&&0<h&&(a[h].lineCoordinates.y1+=a[h].tickLength,a[h].lineCoordinates.y2=a[h].lineCoordinates.y1+a[h].lineThickness/2),a[h].bounds={x1:d,y1:k,x2:t,y2:n-(Y+
|
|
652
|
-
a[h].bounds.y1),J+=s[h]+a[h].margin;if(
|
|
653
|
-
2)*Math.sin(Math.PI/180*Math.abs(n.textBlock.angle)),u=k.textBlock.width*Math.cos(Math.PI/180*Math.abs(k.textBlock.angle))+(k.textBlock.height-k.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(k.textBlock.angle))),p.panEnabled?V=f(p.sessionVariables.axisX2.height)?p.sessionVariables.axisX2.height=V:p.sessionVariables.axisX2.height:p.sessionVariables.axisX2.height=V,k=Math.round(l.y1),n=
|
|
654
|
-
|
|
655
|
-
V+aa<Math.max(S,q)?Math.max(S,q):l.y1+V+aa),t=Math.round(a[0]?a[0].lineCoordinates.x1:
|
|
656
|
-
0<h&&(c[h].lineCoordinates.x1-=c[h].tickLength,c[h].lineCoordinates.x2=c[h].lineCoordinates.x1+c[h].lineThickness/2),c[h].bounds={x1:d-(v[h]+$),y1:k,x2:t-$,y2:n,height:n-k},c[h].bounds.width=c[h].bounds.x2-c[h].bounds.x1,c[h].title&&(c[h]._titleTextBlock.maxWidth=0<c[h].titleMaxWidth&&c[h].titleMaxWidth<c[h].lineCoordinates.height?c[h].titleMaxWidth:c[h].lineCoordinates.height),$+=v[h]+c[h].margin);if(b&&0<b.length)for(h=0;h<b.length;h++)b[h]&&(d=Math.round(a[0]?a[0].lineCoordinates.x2:
|
|
657
|
-
t=Math.round(d),S=b[h]._labels&&0<b[h]._labels.length?b[h]._labels[b[h]._labels.length-1].textBlock.height/2:0,k=Math.round(l.y1+V+aa<Math.max(S,q)?Math.max(S,q):l.y1+V+aa),S=0<a.length?0:b[h]._labels&&0<b[h]._labels.length?b[h]._labels[0].textBlock.height/2:0,n=Math.round(l.y2-(Y+
|
|
650
|
+
a[h].viewportMinimum===a[h].minimum&&0<a[h].labelAngle&&0<k?t-=k:a[h].viewportMaximum===a[h].maximum&&a[h].viewportMinimum===a[h].minimum&&0>a[h].labelAngle&&0<H?d+=H:a[h].viewportMaximum===a[h].maximum&&a[h].viewportMinimum===a[h].minimum&&0===a[h].labelAngle&&(0<H&&(d+=H),0<k&&(t-=k))),p.panEnabled?Y=f(p.sessionVariables.axisX.height)?p.sessionVariables.axisX.height=Y:p.sessionVariables.axisX.height:p.sessionVariables.axisX.height=Y,k=Math.round(l.y2-Y-e+J),n=Math.round(l.y2),a[h].lineCoordinates.x2=
|
|
651
|
+
t,a[h].lineCoordinates.width=t-d,a[h].lineCoordinates.y1=k,a[h].lineCoordinates.y2=k,"inside"===a[h].labelPlacement&&0<h&&(a[h].lineCoordinates.y1=a[h-1].lineCoordinates.y2+J+(a[h].labelEffectiveHeight||0),a[h].lineCoordinates.y2=a[h].lineCoordinates.y1+a[h].lineThickness/2),"inside"===a[h].tickPlacement&&0<h&&(a[h].lineCoordinates.y1+=a[h].tickLength,a[h].lineCoordinates.y2=a[h].lineCoordinates.y1+a[h].lineThickness/2),a[h].bounds={x1:d,y1:k,x2:t,y2:n-(Y+e-s[h]-J),width:t-d},a[h].bounds.height=a[h].bounds.y2-
|
|
652
|
+
a[h].bounds.y1),J+=s[h]+a[h].margin;if(g&&0<g.length)for(h=0;h<g.length;h++)g[h].lineCoordinates.x1=Math.round(l.x1+U+S),g[h].lineCoordinates.x2=Math.round(l.x2-ca-ba>p.width-q?p.width-q:l.x2-ca-ba),g[h].lineCoordinates.width=Math.abs(t-d),g[h]._labels&&1<g[h]._labels.length&&(n=g[h]._labels[1],k="dateTime"===g[h].valueType?g[h]._labels[g[h]._labels.length-2]:g[h]._labels[g[h]._labels.length-1],m=n.textBlock.width*Math.cos(Math.PI/180*Math.abs(n.textBlock.angle))+(n.textBlock.height-k.textBlock.fontSize/
|
|
653
|
+
2)*Math.sin(Math.PI/180*Math.abs(n.textBlock.angle)),u=k.textBlock.width*Math.cos(Math.PI/180*Math.abs(k.textBlock.angle))+(k.textBlock.height-k.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(k.textBlock.angle))),p.panEnabled?V=f(p.sessionVariables.axisX2.height)?p.sessionVariables.axisX2.height=V:p.sessionVariables.axisX2.height:p.sessionVariables.axisX2.height=V,k=Math.round(l.y1),n=g[h].lineCoordinates.y1=k+V+aa-X,g[h].lineCoordinates.y2=k,"inside"===g[h].labelPlacement&&0<h&&(g[h].lineCoordinates.y1=
|
|
654
|
+
g[h-1].lineCoordinates.y1-X-(g[h].labelEffectiveHeight||0)),"inside"===g[h].tickPlacement&&0<h&&(g[h].lineCoordinates.y1-=g[h].tickLength),g[h].bounds={x1:d,y1:k+(V+aa-x[h]-X),x2:t,y2:n,width:t-d},g[h].bounds.height=g[h].bounds.y2-g[h].bounds.y1,X+=x[h]+g[h].margin;if(c&&0<c.length)for(h=0;h<c.length;h++)S=p.isNavigator?0:10,c[h]&&(d=Math.round(a[0]?a[0].lineCoordinates.x1:g[0].lineCoordinates.x1),S=c[h]._labels&&0<c[h]._labels.length?c[h]._labels[c[h]._labels.length-1].textBlock.height/2:q,k=Math.round(l.y1+
|
|
655
|
+
V+aa<Math.max(S,q)?Math.max(S,q):l.y1+V+aa),t=Math.round(a[0]?a[0].lineCoordinates.x1:g[0].lineCoordinates.x1),S=0<a.length?0:c[h]._labels&&0<c[h]._labels.length?c[h]._labels[0].textBlock.height/2:q,n=Math.round(l.y2-Y-e-S),c[h].lineCoordinates={x1:d-$,y1:k,x2:t-$,y2:n,height:Math.abs(n-k)},"inside"===c[h].labelPlacement&&0<h&&(c[h].lineCoordinates.x1=c[h-1].lineCoordinates.x1-$-(c[h].labelEffectiveWidth||0),c[h].lineCoordinates.x2=c[h].lineCoordinates.x1+c[h].lineThickness/2),"inside"===c[h].tickPlacement&&
|
|
656
|
+
0<h&&(c[h].lineCoordinates.x1-=c[h].tickLength,c[h].lineCoordinates.x2=c[h].lineCoordinates.x1+c[h].lineThickness/2),c[h].bounds={x1:d-(v[h]+$),y1:k,x2:t-$,y2:n,height:n-k},c[h].bounds.width=c[h].bounds.x2-c[h].bounds.x1,c[h].title&&(c[h]._titleTextBlock.maxWidth=0<c[h].titleMaxWidth&&c[h].titleMaxWidth<c[h].lineCoordinates.height?c[h].titleMaxWidth:c[h].lineCoordinates.height),$+=v[h]+c[h].margin);if(b&&0<b.length)for(h=0;h<b.length;h++)b[h]&&(d=Math.round(a[0]?a[0].lineCoordinates.x2:g[0].lineCoordinates.x2),
|
|
657
|
+
t=Math.round(d),S=b[h]._labels&&0<b[h]._labels.length?b[h]._labels[b[h]._labels.length-1].textBlock.height/2:0,k=Math.round(l.y1+V+aa<Math.max(S,q)?Math.max(S,q):l.y1+V+aa),S=0<a.length?0:b[h]._labels&&0<b[h]._labels.length?b[h]._labels[0].textBlock.height/2:0,n=Math.round(l.y2-(Y+e+S)),b[h].lineCoordinates={x1:d+T,y1:k,x2:d+T,y2:n,height:Math.abs(n-k)},"inside"===b[h].labelPlacement&&0<h&&(b[h].lineCoordinates.x1=b[h-1].lineCoordinates.x2+T+(b[h].labelEffectiveWidth||0),b[h].lineCoordinates.x2=b[h].lineCoordinates.x1+
|
|
658
658
|
b[h].lineThickness/2),"inside"===b[h].tickPlacement&&0<h&&(b[h].lineCoordinates.x1+=b[h].tickLength,b[h].lineCoordinates.x2=b[h].lineCoordinates.x1+b[h].lineThickness/2),b[h].bounds={x1:d+T,y1:k,x2:t+(A[h]+T),y2:n,height:n-k},b[h].bounds.width=b[h].bounds.x2-b[h].bounds.x1,b[h].title&&(b[h]._titleTextBlock.maxWidth=0<b[h].titleMaxWidth&&b[h].titleMaxWidth<b[h].lineCoordinates.height?b[h].titleMaxWidth:b[h].lineCoordinates.height),T+=A[h]+b[h].margin);if(a&&0<a.length)for(h=0;h<a.length;h++)a[h]&&
|
|
659
659
|
(a[h].calculateValueToPixelConversionParameters(),a[h].calculateBreaksSizeInValues(),a[h]._labels&&1<a[h]._labels.length&&(C=(a[h].logarithmic?Math.log(a[h]._labels[1].position/a[h].viewportMinimum)/a[h].conversionParameters.lnLogarithmBase:a[h]._labels[1].position-a[h].viewportMinimum)*Math.abs(a[h].conversionParameters.pixelPerUnit)+a[h].lineCoordinates.x1,d=a[h]._labels[a[h]._labels.length-("dateTime"===a[h].valueType?2:1)].position,d=a[h].getApparentDifference(a[h].viewportMinimum,d),G=a[h].logarithmic?
|
|
660
|
-
(1<d?Math.log(d)/a[h].conversionParameters.lnLogarithmBase*Math.abs(a[h].conversionParameters.pixelPerUnit):0)+a[h].lineCoordinates.x1:(0<d?d*Math.abs(a[h].conversionParameters.pixelPerUnit):0)+a[h].lineCoordinates.x1));if(
|
|
661
|
-
|
|
662
|
-
(r[h].calculateValueToPixelConversionParameters(),r[h].calculateBreaksSizeInValues());if(0<z){if(a&&0<a.length)for(h=0;h<a.length;h++)y=O[z-1][h]===O[z][h]?!0:!1;else y=!0;if(
|
|
663
|
-
a[h].calculateBreaksInPixels();if(
|
|
664
|
-
a[h].createLabelsAndCalculateWidth():0)),T+=H[h],
|
|
665
|
-
10?p.width-10:l.x2-Y-aa),c[h].labelAutoFit&&!f(s)&&(0<!a.length&&(d=0>c[h].labelAngle?Math.max(d,s):0===c[h].labelAngle?Math.max(d,s/2):d),0<!
|
|
666
|
-
{},d=Math.round(l.x1+T+
|
|
660
|
+
(1<d?Math.log(d)/a[h].conversionParameters.lnLogarithmBase*Math.abs(a[h].conversionParameters.pixelPerUnit):0)+a[h].lineCoordinates.x1:(0<d?d*Math.abs(a[h].conversionParameters.pixelPerUnit):0)+a[h].lineCoordinates.x1));if(g&&0<g.length)for(h=0;h<g.length;h++)g[h].calculateValueToPixelConversionParameters(),g[h].calculateBreaksSizeInValues(),g[h]._labels&&1<g[h]._labels.length&&(C=(g[h].logarithmic?Math.log(g[h]._labels[1].position/g[h].viewportMinimum)/g[h].conversionParameters.lnLogarithmBase:g[h]._labels[1].position-
|
|
661
|
+
g[h].viewportMinimum)*Math.abs(g[h].conversionParameters.pixelPerUnit)+g[h].lineCoordinates.x1,d=g[h]._labels[g[h]._labels.length-("dateTime"===g[h].valueType?2:1)].position,d=g[h].getApparentDifference(g[h].viewportMinimum,d),G=g[h].logarithmic?(1<d?Math.log(d)/g[h].conversionParameters.lnLogarithmBase*Math.abs(g[h].conversionParameters.pixelPerUnit):0)+g[h].lineCoordinates.x1:(0<d?d*Math.abs(g[h].conversionParameters.pixelPerUnit):0)+g[h].lineCoordinates.x1);for(h=0;h<r.length;h++)"axisY"===r[h].type&&
|
|
662
|
+
(r[h].calculateValueToPixelConversionParameters(),r[h].calculateBreaksSizeInValues());if(0<z){if(a&&0<a.length)for(h=0;h<a.length;h++)y=O[z-1][h]===O[z][h]?!0:!1;else y=!0;if(g&&0<g.length)for(h=0;h<g.length;h++)L=P[z-1][h]===P[z][h]?!0:!1;else L=!0;if(c&&0<c.length)for(h=0;h<c.length;h++)Q=M[z-1][h]===M[z][h]?!0:!1;else Q=!0;if(b&&0<b.length)for(h=0;h<b.length;h++)N=R[z-1][h]===R[z][h]?!0:!1;else N=!0}if(y&&L&&Q&&N)break;z++}if(a&&0<a.length)for(h=0;h<a.length;h++)a[h].calculateStripLinesThicknessInValues(),
|
|
663
|
+
a[h].calculateBreaksInPixels();if(g&&0<g.length)for(h=0;h<g.length;h++)g[h].calculateStripLinesThicknessInValues(),g[h].calculateBreaksInPixels();if(c&&0<c.length)for(h=0;h<c.length;h++)c[h].calculateStripLinesThicknessInValues(),c[h].calculateBreaksInPixels();if(b&&0<b.length)for(h=0;h<b.length;h++)b[h].calculateStripLinesThicknessInValues(),b[h].calculateBreaksInPixels()}else{q=[];C=[];H=[];m=[];G=[];u=[];O=[];for(P=[];4>z;){Y=T=$=ba=S=aa=e=R=M=J=V=0;if(a&&0<a.length)for(H=[],h=T=0;h<a.length;h++)H.push(Math.ceil(a[h]?
|
|
664
|
+
a[h].createLabelsAndCalculateWidth():0)),T+=H[h],e+=a[h]&&!p.isNavigator?a[h].margin:0;else H.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateWidth():0));O.push(H);if(g&&0<g.length)for(m=[],h=Y=0;h<g.length;h++)m.push(Math.ceil(g[h]?g[h].createLabelsAndCalculateWidth():0)),Y+=m[h],aa+=g[h]?g[h].margin:0;else m.push(Math.ceil(g[0]?g[0].createLabelsAndCalculateWidth():0));P.push(m);if(c&&0<c.length)for(h=0;h<c.length;h++)c[h].lineCoordinates={},d=Math.round(l.x1+T+e),t=Math.round(l.x2-Y-aa>p.width-
|
|
665
|
+
10?p.width-10:l.x2-Y-aa),c[h].labelAutoFit&&!f(s)&&(0<!a.length&&(d=0>c[h].labelAngle?Math.max(d,s):0===c[h].labelAngle?Math.max(d,s/2):d),0<!g.length&&(t=0<c[h].labelAngle?t-x/2:0===c[h].labelAngle?t-x/2:t)),c[h].lineCoordinates.x1=d,c[h].lineCoordinates.x2=t,c[h].lineCoordinates.width=Math.abs(t-d),c[h].title&&(c[h]._titleTextBlock.maxWidth=0<c[h].titleMaxWidth&&c[h].titleMaxWidth<c[h].lineCoordinates.width?c[h].titleMaxWidth:c[h].lineCoordinates.width);if(b&&0<b.length)for(h=0;h<b.length;h++)b[h].lineCoordinates=
|
|
666
|
+
{},d=Math.round(l.x1+T+e),t=Math.round(l.x2-Y-aa>b[h].chart.width-10?b[h].chart.width-10:l.x2-Y-aa),b[h]&&b[h].labelAutoFit&&!f(v)&&(0<!a.length&&(d=0<b[h].labelAngle?Math.max(d,v):0===b[h].labelAngle?Math.max(d,v/2):d),0<!g.length&&(t-=A/2)),b[h].lineCoordinates.x1=d,b[h].lineCoordinates.x2=t,b[h].lineCoordinates.width=Math.abs(t-d),b[h].title&&(b[h]._titleTextBlock.maxWidth=0<b[h].titleMaxWidth&&b[h].titleMaxWidth<b[h].lineCoordinates.width?b[h].titleMaxWidth:b[h].lineCoordinates.width);if(c&&0<
|
|
667
667
|
c.length)for(q=[],h=$=0;h<c.length;h++)q.push(Math.ceil(c[h]?c[h].createLabelsAndCalculateHeight():0)),$+=q[h]+c[h].margin,S+=c[h].margin;else q.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateHeight():0));G.push(q);if(b&&0<b.length)for(C=[],h=0;h<b.length;h++)C.push(Math.ceil(b[h]?b[h].createLabelsAndCalculateHeight():0)),ba+=b[h].margin;else C.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateHeight():0));u.push(C);if(c&&0<c.length)for(h=0;h<c.length;h++)0<c[h]._labels.length&&(n=c[h]._labels[0],
|
|
668
668
|
k=c[h]._labels[c[h]._labels.length-1],s=n.textBlock.width*Math.cos(Math.PI/180*Math.abs(n.textBlock.angle))+(n.textBlock.height-k.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(n.textBlock.angle)),x=k.textBlock.width*Math.cos(Math.PI/180*Math.abs(k.textBlock.angle))+(k.textBlock.height-k.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(k.textBlock.angle)));if(b&&0<b.length)for(h=0;h<b.length;h++)b[h]&&0<b[h]._labels.length&&(n=b[h]._labels[0],k=b[h]._labels[b[h]._labels.length-1],v=n.textBlock.width*
|
|
669
669
|
Math.cos(Math.PI/180*Math.abs(n.textBlock.angle))+(n.textBlock.height-k.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(n.textBlock.angle)),A=k.textBlock.width*Math.cos(Math.PI/180*Math.abs(k.textBlock.angle))+(k.textBlock.height-k.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(k.textBlock.angle)));if(p.panEnabled)for(h=0;h<c.length;h++)q[h]=f(p.sessionVariables.axisY[h].height)?p.sessionVariables.axisY[h].height=q[h]:p.sessionVariables.axisY[h].height;else for(h=0;h<c.length;h++)p.sessionVariables.axisY[h].height=
|
|
670
670
|
q[h];if(c&&0<c.length)for(h=c.length-1;0<=h;h--)k=Math.round(l.y2),n=Math.round(l.y2>c[h].chart.height?c[h].chart.height:l.y2),c[h].lineCoordinates.y1=k-(q[h]+c[h].margin+V),c[h].lineCoordinates.y2=k-(q[h]+c[h].margin+V),"inside"===c[h].labelPlacement&&0<h&&(c[h].lineCoordinates.y1=c[h].lineCoordinates.y1+q[h]-(c[h]._titleTextBlock?c[h]._titleTextBlock.height:0)-c[h].tickLength-(c[h].stripLineLabelEffectiveHeight||0)-5,c[h].lineCoordinates.y2=c[h].lineCoordinates.y1+c[h].lineThickness/2),"inside"===
|
|
671
671
|
c[h].tickPlacement&&0<h&&(c[h].lineCoordinates.y1+=c[h].tickLength,c[h].lineCoordinates.y2=c[h].lineCoordinates.y1+c[h].lineThickness/2),c[h].bounds={x1:d,y1:k-(q[h]+V+c[h].margin),x2:t,y2:n-(V+c[h].margin),width:t-d,height:q[h]},c[h].title&&(c[h]._titleTextBlock.maxWidth=0<c[h].titleMaxWidth&&c[h].titleMaxWidth<c[h].lineCoordinates.width?c[h].titleMaxWidth:c[h].lineCoordinates.width),V+=q[h]+c[h].margin;if(b&&0<b.length)for(h=b.length-1;0<=h;h--)b[h]&&(k=Math.round(l.y1),n=Math.round(l.y1+(C[h]+
|
|
672
672
|
b[h].margin+J)),b[h].lineCoordinates.y1=n,b[h].lineCoordinates.y2=n,"inside"===b[h].labelPlacement&&0<h&&(b[h].lineCoordinates.y1=n-C[h]+(b[h]._titleTextBlock?b[h]._titleTextBlock.height:0)+b[h].tickLength+(b[h].stripLineLabelEffectiveHeight||0),b[h].lineCoordinates.y2=b[h].lineCoordinates.y1-b[h].lineThickness/2),"inside"===b[h].tickPlacement&&0<h&&(b[h].lineCoordinates.y1-=b[h].tickLength,b[h].lineCoordinates.y2=b[h].lineCoordinates.y1-b[h].lineThickness/2),b[h].bounds={x1:d,y1:k+(b[h].margin+J),
|
|
673
|
-
x2:t,y2:n,width:t-d},b[h].bounds.height=b[h].bounds.y2-b[h].bounds.y1,b[h].title&&(b[h]._titleTextBlock.maxWidth=0<b[h].titleMaxWidth&&b[h].titleMaxWidth<b[h].lineCoordinates.width?b[h].titleMaxWidth:b[h].lineCoordinates.width),J+=C[h]+b[h].margin);if(a&&0<a.length)for(h=0;h<a.length;h++){S=a[h]._labels&&0<a[h]._labels.length?a[h]._labels[0].textBlock.fontSize/2:0;d=Math.round(l.x1+
|
|
674
|
-
10)?Math.max(S,10):l.y1;t=Math.round(l.x1+T+
|
|
673
|
+
x2:t,y2:n,width:t-d},b[h].bounds.height=b[h].bounds.y2-b[h].bounds.y1,b[h].title&&(b[h]._titleTextBlock.maxWidth=0<b[h].titleMaxWidth&&b[h].titleMaxWidth<b[h].lineCoordinates.width?b[h].titleMaxWidth:b[h].lineCoordinates.width),J+=C[h]+b[h].margin);if(a&&0<a.length)for(h=0;h<a.length;h++){S=a[h]._labels&&0<a[h]._labels.length?a[h]._labels[0].textBlock.fontSize/2:0;d=Math.round(l.x1+e);k=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:l.y1<Math.max(S,10)?Math.max(S,10):l.y1):l.y1<Math.max(S,
|
|
674
|
+
10)?Math.max(S,10):l.y1;t=Math.round(l.x1+T+e);n=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:l.y2-$>p.height-Math.max(S,10)?p.height-Math.max(S,10):l.y2-$):l.y2>p.height-Math.max(S,10)?p.height-Math.max(S,10):l.y2;if(c&&0<c.length)for(S=0;S<c.length;S++)c[S]&&c[S].labelAutoFit&&(t=c[S].lineCoordinates.x1,d=0>c[S].labelAngle||0===c[S].labelAngle?t-T:d);if(b&&0<b.length)for(S=0;S<b.length;S++)b[S]&&b[S].labelAutoFit&&(t=b[S].lineCoordinates.x1,d=t-T);a[h].lineCoordinates={x1:t-M,y1:k,x2:t-
|
|
675
675
|
M,y2:n,height:Math.abs(n-k)};"inside"===a[h].labelPlacement&&0<h&&(a[h].lineCoordinates.x1=a[h].lineCoordinates.x1-(H[h]-(a[h]._titleTextBlock?a[h]._titleTextBlock.height:0))+a[h].tickLength+(a[h].stripLineLabelEffectiveWidth||0),a[h].lineCoordinates.x2=a[h].lineCoordinates.x1+a[h].lineThickness/2);"inside"===a[h].tickPlacement&&0<h&&(a[h].lineCoordinates.x1-=a[h].tickLength,a[h].lineCoordinates.x2=a[h].lineCoordinates.x1+a[h].lineThickness/2);a[h].bounds={x1:t-(H[h]+M),y1:k,x2:t-M,y2:n,height:n-
|
|
676
|
-
k};a[h].bounds.width=a[h].bounds.x2-a[h].bounds.x1;a[h].title&&(a[h]._titleTextBlock.maxWidth=0<a[h].titleMaxWidth&&a[h].titleMaxWidth<a[h].lineCoordinates.height?a[h].titleMaxWidth:a[h].lineCoordinates.height);a[h].calculateValueToPixelConversionParameters();a[h].calculateBreaksSizeInValues();M+=H[h]+a[h].margin}if(
|
|
676
|
+
k};a[h].bounds.width=a[h].bounds.x2-a[h].bounds.x1;a[h].title&&(a[h]._titleTextBlock.maxWidth=0<a[h].titleMaxWidth&&a[h].titleMaxWidth<a[h].lineCoordinates.height?a[h].titleMaxWidth:a[h].lineCoordinates.height);a[h].calculateValueToPixelConversionParameters();a[h].calculateBreaksSizeInValues();M+=H[h]+a[h].margin}if(g&&0<g.length)for(h=0;h<g.length;h++){S=g[h]._labels&&0<g[h]._labels.length?g[h]._labels[0].textBlock.fontSize/2:0;d=Math.round(l.x1-e);k=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:
|
|
677
677
|
l.y1<Math.max(S,10)?Math.max(S,10):l.y1):l.y1<Math.max(S,10)?Math.max(S,10):l.y1;t=Math.round(l.x2-Y-aa);n=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:l.y2-$>p.height-Math.max(S,10)?p.height-Math.max(S,10):l.y2-$):l.y2>p.height-Math.max(S,10)?p.height-Math.max(S,10):l.y2;if(c&&0<c.length)for(S=0;S<c.length;S++)c[S]&&c[S].labelAutoFit&&(t=0>c[S].labelAngle?Math.max(t,s):0===c[S].labelAngle?Math.max(t,s/2):t,d=0>c[S].labelAngle||0===c[S].labelAngle?t-Y:d);if(b&&0<b.length)for(S=0;S<b.length;S++)b[S]&&
|
|
678
|
-
b[S].labelAutoFit&&(t=b[S].lineCoordinates.x2,d=t-Y);
|
|
679
|
-
|
|
680
|
-
r[h].calculateBreaksSizeInValues());if(0<z){if(a&&0<a.length)for(h=0;h<a.length;h++)y=O[z-1][h]===O[z][h]?!0:!1;else y=!0;if(
|
|
681
|
-
0<b.length)for(h=0;h<b.length;h++)b[h].calculateStripLinesThicknessInValues(),b[h].calculateBreaksInPixels();if(a&&0<a.length)for(h=0;h<a.length;h++)a[h].calculateStripLinesThicknessInValues(),a[h].calculateBreaksInPixels();if(
|
|
682
|
-
a[0].chart.width-10,a[a.length-1].bounds.y2);
|
|
683
|
-
|
|
684
|
-
if(c&&0<c.length)for(
|
|
685
|
-
0;
|
|
686
|
-
if(c&&0<c.length)for(
|
|
687
|
-
c);this.stripLines[a].value=this.convertPixelToValue(Math.abs(this.convertValueToPixel(
|
|
688
|
-
this.conversionParameters.maximum/this.conversionParameters.minimum:this.conversionParameters.maximum-this.conversionParameters.minimum),b=this.scaleBreaks&&!f(this.scaleBreaks.options.spacing),
|
|
689
|
-
this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];a.length&&(this.scaleBreaks.firstBreakIndex=this.scaleBreaks.lastBreakIndex=null);for(var
|
|
690
|
-
(a[
|
|
691
|
-
1;0<=n;n--){q=this._labels[n];if(q.position<this.viewportMinimum)break;q.position>this.viewportMaximum||!(n===this._labels.length-1||f<Math.log(k/q.position)*t/
|
|
692
|
-
Math.abs(Math.sin(Math.PI/180*this.labelAngle)),c+=f);c>this.lineCoordinates.width*
|
|
693
|
-
t)||(c.push(q),k=q.position,p=q.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+q.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(n=0;n<this._labels.length;n++)q=this._labels[n],q.position<this.viewportMinimum||(p=q.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+q.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),b+=p);b>this.lineCoordinates.height*
|
|
678
|
+
b[S].labelAutoFit&&(t=b[S].lineCoordinates.x2,d=t-Y);g[h].lineCoordinates={x1:t+R,y1:k,x2:t+R,y2:n,height:Math.abs(n-k)};"inside"===g[h].labelPlacement&&0<h&&(g[h].lineCoordinates.x1=g[h].lineCoordinates.x1+(m[h]-(g[h]._titleTextBlock?g[h]._titleTextBlock.height:0)-2)-g[h].tickLength-(g[h].stripLineLabelEffectiveWidth||0),g[h].lineCoordinates.x2=g[h].lineCoordinates.x1+g[h].lineThickness/2);"inside"===g[h].tickPlacement&&0<h&&(g[h].lineCoordinates.x1+=g[h].tickLength,g[h].lineCoordinates.x2=g[h].lineCoordinates.x1+
|
|
679
|
+
g[h].lineThickness/2);g[h].bounds={x1:g[h].lineCoordinates.x1,y1:k,x2:t+m[h]+R,y2:n,width:t-d,height:n-k};g[h].bounds.width=g[h].bounds.x2-g[h].bounds.x1;g[h].title&&(g[h]._titleTextBlock.maxWidth=0<g[h].titleMaxWidth&&g[h].titleMaxWidth<g[h].lineCoordinates.height?g[h].titleMaxWidth:g[h].lineCoordinates.height);g[h].calculateValueToPixelConversionParameters();g[h].calculateBreaksSizeInValues();R+=m[h]+g[h].margin}for(h=0;h<r.length;h++)"axisY"===r[h].type&&(r[h].calculateValueToPixelConversionParameters(),
|
|
680
|
+
r[h].calculateBreaksSizeInValues());if(0<z){if(a&&0<a.length)for(h=0;h<a.length;h++)y=O[z-1][h]===O[z][h]?!0:!1;else y=!0;if(g&&0<g.length)for(h=0;h<g.length;h++)L=P[z-1][h]===P[z][h]?!0:!1;else L=!0;if(c&&0<c.length)for(h=0;h<c.length;h++)Q=G[z-1][h]===G[z][h]?!0:!1;else Q=!0;if(b&&0<b.length)for(h=0;h<b.length;h++)N=u[z-1][h]===u[z][h]?!0:!1;else N=!0}if(y&&L&&Q&&N)break;z++}if(c&&0<c.length)for(h=0;h<c.length;h++)c[h].calculateStripLinesThicknessInValues(),c[h].calculateBreaksInPixels();if(b&&
|
|
681
|
+
0<b.length)for(h=0;h<b.length;h++)b[h].calculateStripLinesThicknessInValues(),b[h].calculateBreaksInPixels();if(a&&0<a.length)for(h=0;h<a.length;h++)a[h].calculateStripLinesThicknessInValues(),a[h].calculateBreaksInPixels();if(g&&0<g.length)for(h=0;h<g.length;h++)g[h].calculateStripLinesThicknessInValues(),g[h].calculateBreaksInPixels()}};A.render=function(a,g,c,b,e){var l=a[0]?a[0].chart:g[0].chart;e=l.ctx;l.alignVerticalAxes&&l.alignVerticalAxes();e.save();e.beginPath();a&&a.length&&e.rect(5,a[0].bounds.y1,
|
|
682
|
+
a[0].chart.width-10,a[a.length-1].bounds.y2);g&&g.length&&e.rect(5,g[g.length-1].bounds.y1,g[0].chart.width-10,g[0].bounds.y2);e.clip();if(a&&0<a.length)for(var d=0;d<a.length;d++)a[d].renderLabelsTicksAndTitle();if(g&&0<g.length)for(d=0;d<g.length;d++)g[d].renderLabelsTicksAndTitle();e.restore();if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderLabelsTicksAndTitle();if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderLabelsTicksAndTitle();l.preparePlotArea();l=l.plotArea;e.save();e.beginPath();e.rect(l.x1,
|
|
683
|
+
l.y1,Math.abs(l.x2-l.x1),Math.abs(l.y2-l.y1));e.clip();if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderStripLinesOfThicknessType("value");if(g&&0<g.length)for(d=0;d<g.length;d++)g[d].renderStripLinesOfThicknessType("value");if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderStripLinesOfThicknessType("value");if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderStripLinesOfThicknessType("value");if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderInterlacedColors();if(g&&0<g.length)for(d=0;d<g.length;d++)g[d].renderInterlacedColors();
|
|
684
|
+
if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderInterlacedColors();if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderInterlacedColors();e.restore();if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderGrid(),s&&(a[d].createMask(),a[d].renderBreaksBackground());if(g&&0<g.length)for(d=0;d<g.length;d++)g[d].renderGrid(),s&&(g[d].createMask(),g[d].renderBreaksBackground());if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderGrid(),s&&(c[d].createMask(),c[d].renderBreaksBackground());if(b&&0<b.length)for(d=
|
|
685
|
+
0;d<b.length;d++)b[d].renderGrid(),s&&(b[d].createMask(),b[d].renderBreaksBackground());if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderAxisLine();if(g&&0<g.length)for(d=0;d<g.length;d++)g[d].renderAxisLine();if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderAxisLine();if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderAxisLine();if(a&&0<a.length)for(d=0;d<a.length;d++)a[d].renderStripLinesOfThicknessType("pixel");if(g&&0<g.length)for(d=0;d<g.length;d++)g[d].renderStripLinesOfThicknessType("pixel");
|
|
686
|
+
if(c&&0<c.length)for(d=0;d<c.length;d++)c[d].renderStripLinesOfThicknessType("pixel");if(b&&0<b.length)for(d=0;d<b.length;d++)b[d].renderStripLinesOfThicknessType("pixel")};A.prototype.calculateStripLinesThicknessInValues=function(){for(var a=0;a<this.stripLines.length;a++)if(null!==this.stripLines[a].startValue&&null!==this.stripLines[a].endValue){var g=Math.min(this.stripLines[a].startValue,this.stripLines[a].endValue),c=Math.max(this.stripLines[a].startValue,this.stripLines[a].endValue),b=this.getApparentDifference(g,
|
|
687
|
+
c);this.stripLines[a].value=this.convertPixelToValue(Math.abs(this.convertValueToPixel(g)+this.convertValueToPixel(c))/2);this.stripLines[a].thickness=b;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,g=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],c=this.conversionParameters.pixelPerUnit||a/(this.logarithmic?
|
|
688
|
+
this.conversionParameters.maximum/this.conversionParameters.minimum:this.conversionParameters.maximum-this.conversionParameters.minimum),b=this.scaleBreaks&&!f(this.scaleBreaks.options.spacing),e,d=0;d<g.length;d++)e=b||!f(g[d].options.spacing),g[d].spacing=Wa(g[d].spacing,a,8,e?0.1*a:8,e?0:3)<<0,g[d].size=0>g[d].spacing?0:Math.abs(g[d].spacing/c),this.logarithmic&&(g[d].size=Math.pow(this.logarithmBase,g[d].size))};A.prototype.calculateBreaksInPixels=function(){if(!(this.scaleBreaks&&0>=this.scaleBreaks._appliedBreaks.length)){var a=
|
|
689
|
+
this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];a.length&&(this.scaleBreaks.firstBreakIndex=this.scaleBreaks.lastBreakIndex=null);for(var g=0;g<a.length&&!(a[g].startValue>this.conversionParameters.maximum);g++)a[g].endValue<this.conversionParameters.minimum||(f(this.scaleBreaks.firstBreakIndex)&&(this.scaleBreaks.firstBreakIndex=g),a[g].startValue>=this.conversionParameters.minimum&&(a[g].startPixel=this.convertValueToPixel(a[g].startValue),this.scaleBreaks.lastBreakIndex=g),a[g].endValue<=this.conversionParameters.maximum&&
|
|
690
|
+
(a[g].endPixel=this.convertValueToPixel(a[g].endValue)))}};A.prototype.renderLabelsTicksAndTitle=function(){var a=this,g=!1,c=0,b=0,e=1,d=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,f,k=this.viewportMaximum,t=this.lineCoordinates.width/Math.log(this.range),n=this._labels.length-
|
|
691
|
+
1;0<=n;n--){q=this._labels[n];if(q.position<this.viewportMinimum)break;q.position>this.viewportMaximum||!(n===this._labels.length-1||f<Math.log(k/q.position)*t/e)||(c.push(q),k=q.position,f=q.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+q.textBlock.height*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(n=0;n<this._labels.length;n++)q=this._labels[n],q.position<this.viewportMinimum||(f=q.textBlock.width*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+q.textBlock.height*
|
|
692
|
+
Math.abs(Math.sin(Math.PI/180*this.labelAngle)),c+=f);c>this.lineCoordinates.width*e&&this.labelAutoFit&&(g=!0)}if("left"===this._position||"right"===this._position)if(this.logarithmic&&!this.equidistantInterval&&this.labelAutoFit){for(var c=[],p,k=this.viewportMaximum,t=this.lineCoordinates.height/Math.log(this.range),n=this._labels.length-1;0<=n;n--){q=this._labels[n];if(q.position<this.viewportMinimum)break;q.position>this.viewportMaximum||!(n===this._labels.length-1||p<Math.log(k/q.position)*
|
|
693
|
+
t)||(c.push(q),k=q.position,p=q.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+q.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)))}this._labels=c}else{for(n=0;n<this._labels.length;n++)q=this._labels[n],q.position<this.viewportMinimum||(p=q.textBlock.height*Math.abs(Math.cos(Math.PI/180*this.labelAngle))+q.textBlock.width*Math.abs(Math.sin(Math.PI/180*this.labelAngle)),b+=p);b>this.lineCoordinates.height*e&&this.labelAutoFit&&(g=!0)}}this.logarithmic&&(!this.equidistantInterval&&
|
|
694
694
|
this.labelAutoFit)&&this._labels.sort(function(a,b){return a.position-b.position});var n=0,q,r;if("bottom"===this._position){for(n=0;n<this._labels.length;n++)q=this._labels[n],q.position<this.viewportMinimum||q.position>this.viewportMaximum||(r=this.getPixelCoordinatesOnAxis(q.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(r.x<<0)+0.5:r.x<<0,this.ctx.beginPath(),this.ctx.moveTo(b,r.y<<
|
|
695
|
-
0),this.ctx.lineTo(b,r.y+this.tickLength<<0),this.ctx.stroke()),
|
|
695
|
+
0),this.ctx.lineTo(b,r.y+this.tickLength<<0),this.ctx.stroke()),g&&0!==d++%2&&this.labelAutoFit||(0===q.textBlock.angle?(r.x-=q.textBlock.width/2,r.y="inside"===this.labelPlacement?r.y-(("inside"===this.tickPlacement?this.tickLength:0)+q.textBlock.height-q.textBlock.fontSize/2):r.y+("inside"===this.tickPlacement?0:this.tickLength)+q.textBlock.fontSize/2+5):(r.x="inside"===this.labelPlacement?0>this.labelAngle?r.x:r.x-q.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):r.x-(0>this.labelAngle?q.textBlock.width*
|
|
696
696
|
Math.cos(Math.PI/180*this.labelAngle):0),r.y="inside"===this.labelPlacement?0>this.labelAngle?r.y-("inside"===this.tickPlacement?this.tickLength:0)-5:r.y-("inside"===this.tickPlacement?this.tickLength:0)-Math.abs(q.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+5):r.y+("inside"===this.tickPlacement?0:this.tickLength)+Math.abs(0>this.labelAngle?q.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)-5:5)),q.textBlock.x=r.x,q.textBlock.y=r.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",
|
|
697
697
|
function(){for(n=0;n<a._labels.length;n++)if(q=a._labels[n],!(q.position<a.viewportMinimum||q.position>a.viewportMaximum)&&(r=a.getPixelCoordinatesOnAxis(q.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(r.x<<0)+0.5:r.x<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(b,r.y<<0);a.ctx.lineTo(b,r.y-a.tickLength<<0);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.lineCoordinates.x1+
|
|
698
698
|
this.lineCoordinates.width/2-this._titleTextBlock.width/2,this._titleTextBlock.y=this.bounds.y2-this._titleTextBlock.height+this._titleTextBlock.fontSize/2-1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("top"===this._position){for(n=0;n<this._labels.length;n++)q=this._labels[n],q.position<this.viewportMinimum||q.position>this.viewportMaximum||(r=this.getPixelCoordinatesOnAxis(q.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=
|
|
699
|
-
this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(r.x<<0)+0.5:r.x<<0,this.ctx.beginPath(),this.ctx.moveTo(b,r.y<<0),this.ctx.lineTo(b,r.y-this.tickLength<<0),this.ctx.stroke()),
|
|
699
|
+
this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(r.x<<0)+0.5:r.x<<0,this.ctx.beginPath(),this.ctx.moveTo(b,r.y<<0),this.ctx.lineTo(b,r.y-this.tickLength<<0),this.ctx.stroke()),g&&0!==d++%2&&this.labelAutoFit||(0===q.textBlock.angle?(r.x-=q.textBlock.width/2,r.y="inside"===this.labelPlacement?r.y+this.labelFontSize/2+("inside"===this.tickPlacement?this.tickLength:0)+5:r.y-(("inside"===this.tickPlacement?0:this.tickLength)+q.textBlock.height-q.textBlock.fontSize/2)):
|
|
700
700
|
(r.x="inside"===this.labelPlacement?0<this.labelAngle?r.x:r.x-q.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):r.x+(q.textBlock.height-this.labelFontSize)*Math.sin(Math.PI/180*this.labelAngle)-(0<this.labelAngle?q.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0),r.y="inside"===this.labelPlacement?0<this.labelAngle?r.y+("inside"===this.tickPlacement?this.tickLength:0)+5:r.y-q.textBlock.width*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?this.tickLength:0)+5:r.y-
|
|
701
701
|
(("inside"===this.tickPlacement?0:this.tickLength)+((q.textBlock.height-q.textBlock.fontSize/2)*Math.cos(Math.PI/180*this.labelAngle)+(0<this.labelAngle?q.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):0)))),q.textBlock.x=r.x,q.textBlock.y=r.y));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",function(){for(n=0;n<a._labels.length;n++)if(q=a._labels[n],!(q.position<a.viewportMinimum||q.position>a.viewportMaximum)&&(r=a.getPixelCoordinatesOnAxis(q.position),
|
|
702
702
|
a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(r.x<<0)+0.5:r.x<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(b,r.y<<0);a.ctx.lineTo(b,r.y+a.tickLength<<0);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.lineCoordinates.x1+this.lineCoordinates.width/2-this._titleTextBlock.width/2,this._titleTextBlock.y=this.bounds.y1+this._titleTextBlock.fontSize/2+1,this.titleMaxWidth=
|
|
703
703
|
this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("left"===this._position){for(n=0;n<this._labels.length;n++)q=this._labels[n],q.position<this.viewportMinimum||q.position>this.viewportMaximum||(r=this.getPixelCoordinatesOnAxis(q.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(r.y<<0)+0.5:r.y<<0,this.ctx.beginPath(),this.ctx.moveTo(r.x<<0,b),this.ctx.lineTo(r.x-this.tickLength<<
|
|
704
|
-
0,b),this.ctx.stroke()),
|
|
704
|
+
0,b),this.ctx.stroke()),g&&0!==d++%2&&this.labelAutoFit||(0===this.labelAngle?(q.textBlock.y=r.y,q.textBlock.x="inside"===this.labelPlacement?r.x+("inside"===this.tickPlacement?this.tickLength:0)+5:r.x-q.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5):(q.textBlock.y="inside"===this.labelPlacement?r.y:r.y-q.textBlock.width*Math.sin(Math.PI/180*this.labelAngle),q.textBlock.x="inside"===this.labelPlacement?r.x+("inside"===this.tickPlacement?
|
|
705
705
|
this.tickLength:0)+5:0<this.labelAngle?r.x-q.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?0:this.tickLength)-5:r.x-q.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+(q.textBlock.height-q.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(n=0;n<a._labels.length;n++)if(q=a._labels[n],!(q.position<
|
|
706
706
|
a.viewportMinimum||q.position>a.viewportMaximum)&&(r=a.getPixelCoordinatesOnAxis(q.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(r.y<<0)+0.5:r.y<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(r.x<<0,b);a.ctx.lineTo(r.x+a.tickLength<<0,b);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.bounds.x1+this._titleTextBlock.fontSize/2+1,this._titleTextBlock.y=this.lineCoordinates.height/
|
|
707
707
|
2+this._titleTextBlock.width/2+this.lineCoordinates.y1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}else if("right"===this._position){for(n=0;n<this._labels.length;n++)q=this._labels[n],q.position<this.viewportMinimum||q.position>this.viewportMaximum||(r=this.getPixelCoordinatesOnAxis(q.position),this.tickThickness&&"inside"!=this.tickPlacement&&(this.ctx.lineWidth=this.tickThickness,this.ctx.strokeStyle=this.tickColor,b=1===this.ctx.lineWidth%2?(r.y<<0)+0.5:r.y<<
|
|
708
|
-
0,this.ctx.beginPath(),this.ctx.moveTo(r.x<<0,b),this.ctx.lineTo(r.x+this.tickLength<<0,b),this.ctx.stroke()),
|
|
708
|
+
0,this.ctx.beginPath(),this.ctx.moveTo(r.x<<0,b),this.ctx.lineTo(r.x+this.tickLength<<0,b),this.ctx.stroke()),g&&0!==d++%2&&this.labelAutoFit||(0===this.labelAngle?(q.textBlock.y=r.y,q.textBlock.x="inside"===this.labelPlacement?r.x-q.textBlock.width-("inside"===this.tickPlacement?this.tickLength:0)-5:r.x+("inside"===this.tickPlacement?0:this.tickLength)+5):(q.textBlock.y="inside"===this.labelPlacement?r.y-q.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):0>this.labelAngle?r.y:r.y-(q.textBlock.height-
|
|
709
709
|
q.textBlock.fontSize/2-5)*Math.cos(Math.PI/180*this.labelAngle),q.textBlock.x="inside"===this.labelPlacement?r.x-q.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-("inside"===this.tickPlacement?this.tickLength:0)-5:0<this.labelAngle?r.x+(q.textBlock.height-q.textBlock.fontSize/2-5)*Math.sin(Math.PI/180*this.labelAngle)+("inside"===this.tickPlacement?0:this.tickLength):r.x+("inside"===this.tickPlacement?0:this.tickLength)+5)));"inside"===this.tickPlacement&&this.chart.addEventListener("dataAnimationIterationEnd",
|
|
710
710
|
function(){for(n=0;n<a._labels.length;n++)if(q=a._labels[n],!(q.position<a.viewportMinimum||q.position>a.viewportMaximum)&&(r=a.getPixelCoordinatesOnAxis(q.position),a.tickThickness)){a.ctx.lineWidth=a.tickThickness;a.ctx.strokeStyle=a.tickColor;var b=1===a.ctx.lineWidth%2?(r.y<<0)+0.5:r.y<<0;a.ctx.save();a.ctx.beginPath();a.ctx.moveTo(r.x<<0,b);a.ctx.lineTo(r.x-a.tickLength<<0,b);a.ctx.stroke();a.ctx.restore()}},this);this.title&&(this._titleTextBlock.measureText(),this._titleTextBlock.x=this.bounds.x2-
|
|
711
|
-
this._titleTextBlock.fontSize/2-1,this._titleTextBlock.y=this.lineCoordinates.height/2-this._titleTextBlock.width/2+this.lineCoordinates.y1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}d=0;if("inside"===this.labelPlacement)this.chart.addEventListener("dataAnimationIterationEnd",function(){for(n=0;n<a._labels.length;n++)q=a._labels[n],q.position<a.viewportMinimum||(q.position>a.viewportMaximum||
|
|
712
|
-
a.ctx.restore())},this);else for(n=0;n<this._labels.length;n++)q=this._labels[n],q.position<this.viewportMinimum||(q.position>this.viewportMaximum||
|
|
713
|
-
c=
|
|
714
|
-
this.getPixelCoordinatesOnAxis(this._labels[
|
|
715
|
-
"value"===a&&(p.startValue<=this.viewportMinimum&&p.endValue<=this.viewportMinimum||p.startValue>=this.viewportMaximum&&p.endValue>=this.viewportMaximum||f(p.startValue)||f(p.endValue)||isNaN(this.range))||t.push(p))}for(
|
|
711
|
+
this._titleTextBlock.fontSize/2-1,this._titleTextBlock.y=this.lineCoordinates.height/2-this._titleTextBlock.width/2+this.lineCoordinates.y1,this.titleMaxWidth=this._titleTextBlock.maxWidth,this._titleTextBlock.render(!0))}d=0;if("inside"===this.labelPlacement)this.chart.addEventListener("dataAnimationIterationEnd",function(){for(n=0;n<a._labels.length;n++)q=a._labels[n],q.position<a.viewportMinimum||(q.position>a.viewportMaximum||g&&0!==d++%2&&a.labelAutoFit)||(a.ctx.save(),a.ctx.beginPath(),q.textBlock.render(!0),
|
|
712
|
+
a.ctx.restore())},this);else for(n=0;n<this._labels.length;n++)q=this._labels[n],q.position<this.viewportMinimum||(q.position>this.viewportMaximum||g&&0!==d++%2&&this.labelAutoFit)||q.textBlock.render(!0)};A.prototype.renderInterlacedColors=function(){var a=this.chart.plotArea.ctx,g,c,b=this.chart.plotArea,e=0;g=!0;if(("bottom"===this._position||"top"===this._position)&&this.interlacedColor)for(a.fillStyle=this.interlacedColor,e=0;e<this._labels.length;e++)g?(g=this.getPixelCoordinatesOnAxis(this._labels[e].position),
|
|
713
|
+
c=e+1>this._labels.length-1?this.getPixelCoordinatesOnAxis(this.viewportMaximum):this.getPixelCoordinatesOnAxis(this._labels[e+1].position),a.fillRect(Math.min(c.x,g.x),b.y1,Math.abs(c.x-g.x),Math.abs(b.y1-b.y2)),g=!1):g=!0;else if(("left"===this._position||"right"===this._position)&&this.interlacedColor)for(a.fillStyle=this.interlacedColor,e=0;e<this._labels.length;e++)g?(c=this.getPixelCoordinatesOnAxis(this._labels[e].position),g=e+1>this._labels.length-1?this.getPixelCoordinatesOnAxis(this.viewportMaximum):
|
|
714
|
+
this.getPixelCoordinatesOnAxis(this._labels[e+1].position),a.fillRect(b.x1,Math.min(c.y,g.y),Math.abs(b.x1-b.x2),Math.abs(g.y-c.y)),g=!1):g=!0;a.beginPath()};A.prototype.renderStripLinesOfThicknessType=function(a){if(this.stripLines&&0<this.stripLines.length&&a){var g=this,c,b,e=0,d=0,k=!1;b=!1;for(var t=[],y=[],n=!1,e=0;e<this.stripLines.length;e++){var p=this.stripLines[e];p._thicknessType===a&&("pixel"===a&&(p.value<this.viewportMinimum||p.value>this.viewportMaximum||f(p.value)||isNaN(this.range))||
|
|
715
|
+
"value"===a&&(p.startValue<=this.viewportMinimum&&p.endValue<=this.viewportMinimum||p.startValue>=this.viewportMaximum&&p.endValue>=this.viewportMaximum||f(p.startValue)||f(p.endValue)||isNaN(this.range))||t.push(p))}for(e=0;e<this._stripLineLabels.length;e++)if(p=this.stripLines[e],c=this._stripLineLabels[e],!(c.position<this.viewportMinimum||c.position>this.viewportMaximum||isNaN(this.range)))if(b=this.getPixelCoordinatesOnAxis(c.position),"outside"===c.stripLine.labelPlacement){p&&(this.ctx.strokeStyle=
|
|
716
716
|
p.color,this.ctx.lineWidth="pixel"===p._thicknessType?p.thickness:this.tickThickness);if("bottom"===this._position){var q=1===this.ctx.lineWidth%2?(b.x<<0)+0.5:b.x<<0;this.ctx.beginPath();this.ctx.moveTo(q,b.y<<0);this.ctx.lineTo(q,b.y+this.tickLength<<0);this.ctx.stroke();0===this.labelAngle?(b.x-=c.textBlock.width/2,b.y+=this.tickLength+c.textBlock.fontSize/2+5):(b.x-=0>this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):0,b.y+=this.tickLength+Math.abs(0>this.labelAngle?c.textBlock.width*
|
|
717
717
|
Math.sin(Math.PI/180*this.labelAngle)-5:5))}else"top"===this._position?(q=1===this.ctx.lineWidth%2?(b.x<<0)+0.5:b.x<<0,this.ctx.beginPath(),this.ctx.moveTo(q,b.y<<0),this.ctx.lineTo(q,b.y-this.tickLength<<0),this.ctx.stroke(),0===this.labelAngle?(b.x-=c.textBlock.width/2,b.y-=this.tickLength+c.textBlock.height-c.textBlock.fontSize/2):(b.x+=(c.textBlock.height-this.tickLength-this.labelFontSize/2)*Math.sin(Math.PI/180*this.labelAngle)-(0<this.labelAngle?c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle):
|
|
718
718
|
0),b.y-=this.tickLength+(c.textBlock.height*Math.cos(Math.PI/180*this.labelAngle)+(0<this.labelAngle?c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle):0)))):"left"===this._position?(q=1===this.ctx.lineWidth%2?(b.y<<0)+0.5:b.y<<0,this.ctx.beginPath(),this.ctx.moveTo(b.x<<0,q),this.ctx.lineTo(b.x-this.tickLength<<0,q),this.ctx.stroke(),0===this.labelAngle?b.x=b.x-c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-this.tickLength-5:(b.y-=c.textBlock.width*Math.sin(Math.PI/180*this.labelAngle),
|
|
719
719
|
b.x=0<this.labelAngle?b.x-c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)-this.tickLength-5:b.x-c.textBlock.width*Math.cos(Math.PI/180*this.labelAngle)+(c.textBlock.height-c.textBlock.fontSize/2-5)*Math.sin(Math.PI/180*this.labelAngle)-this.tickLength)):"right"===this._position&&(q=1===this.ctx.lineWidth%2?(b.y<<0)+0.5:b.y<<0,this.ctx.beginPath(),this.ctx.moveTo(b.x<<0,q),this.ctx.lineTo(b.x+this.tickLength<<0,q),this.ctx.stroke(),0===this.labelAngle?b.x=b.x+this.tickLength+5:(b.y=0>this.labelAngle?
|
|
720
|
-
b.y:b.y-(c.textBlock.height-c.textBlock.fontSize/2-5)*Math.cos(Math.PI/180*this.labelAngle),b.x=0<this.labelAngle?b.x+(c.textBlock.height-c.textBlock.fontSize/2-5)*Math.sin(Math.PI/180*this.labelAngle)+this.tickLength:b.x+this.tickLength+5));c.textBlock.x=b.x;c.textBlock.y=b.y;y.push(c)}else p._thicknessType===a&&(c.textBlock.angle=-90,"bottom"===this._position?(c.textBlock.maxWidth=this.options.stripLines[
|
|
720
|
+
b.y:b.y-(c.textBlock.height-c.textBlock.fontSize/2-5)*Math.cos(Math.PI/180*this.labelAngle),b.x=0<this.labelAngle?b.x+(c.textBlock.height-c.textBlock.fontSize/2-5)*Math.sin(Math.PI/180*this.labelAngle)+this.tickLength:b.x+this.tickLength+5));c.textBlock.x=b.x;c.textBlock.y=b.y;y.push(c)}else p._thicknessType===a&&(c.textBlock.angle=-90,"bottom"===this._position?(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.height-3,c.textBlock.measureText(),
|
|
721
721
|
b.x-c.textBlock.height-p.thickness/2>this.chart.plotArea.x1?f(p.startValue)?b.x-=c.textBlock.height-c.textBlock.fontSize/2+p.thickness/2:b.x-=c.textBlock.height/2-c.textBlock.fontSize/2:(c.textBlock.angle=90,f(p.startValue)?b.x+=c.textBlock.height-c.textBlock.fontSize/2+p.thickness/2:b.x+=c.textBlock.height/2-c.textBlock.fontSize/2),b.y=-90===c.textBlock.angle?"near"===c.stripLine.labelAlign?this.chart.plotArea.y2-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1+
|
|
722
|
-
c.textBlock.width)/2:this.chart.plotArea.y1+c.textBlock.width+3:"near"===c.stripLine.labelAlign?this.chart.plotArea.y2-c.textBlock.width-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1-c.textBlock.width)/2:this.chart.plotArea.y1+3):"top"===this._position?(c.textBlock.maxWidth=this.options.stripLines[
|
|
722
|
+
c.textBlock.width)/2:this.chart.plotArea.y1+c.textBlock.width+3:"near"===c.stripLine.labelAlign?this.chart.plotArea.y2-c.textBlock.width-3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1-c.textBlock.width)/2:this.chart.plotArea.y1+3):"top"===this._position?(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.height-3,c.textBlock.measureText(),b.x-c.textBlock.height-p.thickness/2>this.chart.plotArea.x1?
|
|
723
723
|
f(p.startValue)?b.x-=c.textBlock.height-c.textBlock.fontSize/2+p.thickness/2:b.x-=c.textBlock.height/2-c.textBlock.fontSize/2:(c.textBlock.angle=90,f(p.startValue)?b.x+=c.textBlock.height-c.textBlock.fontSize/2+p.thickness/2:b.x+=c.textBlock.height/2-c.textBlock.fontSize/2),b.y=-90===c.textBlock.angle?"near"===c.stripLine.labelAlign?this.chart.plotArea.y1+c.textBlock.width+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1+c.textBlock.width)/2:this.chart.plotArea.y2-
|
|
724
|
-
3:"near"===c.stripLine.labelAlign?this.chart.plotArea.y1+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1-c.textBlock.width)/2:this.chart.plotArea.y2-c.textBlock.width-3):"left"===this._position?(c.textBlock.maxWidth=this.options.stripLines[
|
|
725
|
-
c.textBlock.fontSize/2+p.thickness/2:b.y-=c.textBlock.height/2-c.textBlock.fontSize/2:f(p.startValue)?b.y+=c.textBlock.height-c.textBlock.fontSize/2+p.thickness/2:b.y+=c.textBlock.height/2-c.textBlock.fontSize+3,b.x="near"===c.stripLine.labelAlign?this.chart.plotArea.x1+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.x2+this.chart.plotArea.x1)/2-c.textBlock.width/2:this.chart.plotArea.x2-c.textBlock.width-3):"right"===this._position&&(c.textBlock.maxWidth=this.options.stripLines[
|
|
726
|
-
this.options.stripLines[
|
|
727
|
-
3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.x2+this.chart.plotArea.x1)/2-c.textBlock.width/2:this.chart.plotArea.x1+3),c.textBlock.x=b.x,c.textBlock.y=b.y,y.push(c));if(!n){b=!1;this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();for(
|
|
728
|
-
this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();for(d=0;d<t.length;d++)p=t[d],p.showOnTop&&p.render();this.ctx.restore()},p)):p.render();for(
|
|
729
|
-
|
|
724
|
+
3:"near"===c.stripLine.labelAlign?this.chart.plotArea.y1+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.y2+this.chart.plotArea.y1-c.textBlock.width)/2:this.chart.plotArea.y2-c.textBlock.width-3):"left"===this._position?(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.width-3,c.textBlock.angle=0,c.textBlock.measureText(),b.y-c.textBlock.height-p.thickness/2>this.chart.plotArea.y1?f(p.startValue)?b.y-=c.textBlock.height-
|
|
725
|
+
c.textBlock.fontSize/2+p.thickness/2:b.y-=c.textBlock.height/2-c.textBlock.fontSize/2:f(p.startValue)?b.y+=c.textBlock.height-c.textBlock.fontSize/2+p.thickness/2:b.y+=c.textBlock.height/2-c.textBlock.fontSize+3,b.x="near"===c.stripLine.labelAlign?this.chart.plotArea.x1+3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.x2+this.chart.plotArea.x1)/2-c.textBlock.width/2:this.chart.plotArea.x2-c.textBlock.width-3):"right"===this._position&&(c.textBlock.maxWidth=this.options.stripLines[e].labelMaxWidth?
|
|
726
|
+
this.options.stripLines[e].labelMaxWidth:this.chart.plotArea.width-3,c.textBlock.angle=0,c.textBlock.measureText(),b.y-c.textBlock.height-p.thickness/2>this.chart.plotArea.y1?f(p.startValue)?b.y-=c.textBlock.height-c.textBlock.fontSize/2+p.thickness/2:b.y-=c.textBlock.height/2-c.textBlock.fontSize/2:f(p.startValue)?b.y+=c.textBlock.height-c.textBlock.fontSize/2+p.thickness/2:b.y-=c.textBlock.height/2-c.textBlock.fontSize/2+3,b.x="near"===c.stripLine.labelAlign?this.chart.plotArea.x2-c.textBlock.width-
|
|
727
|
+
3:"center"===c.stripLine.labelAlign?(this.chart.plotArea.x2+this.chart.plotArea.x1)/2-c.textBlock.width/2:this.chart.plotArea.x1+3),c.textBlock.x=b.x,c.textBlock.y=b.y,y.push(c));if(!n){b=!1;this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();for(e=0;e<t.length;e++)p=t[e],p.showOnTop?k||(k=!0,this.chart.addEventListener("dataAnimationIterationEnd",function(){this.ctx.save();this.ctx.beginPath();
|
|
728
|
+
this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();for(d=0;d<t.length;d++)p=t[d],p.showOnTop&&p.render();this.ctx.restore()},p)):p.render();for(e=0;e<y.length;e++)c=y[e],c.stripLine.showOnTop?b||(b=!0,this.chart.addEventListener("dataAnimationIterationEnd",function(){for(d=0;d<y.length;d++)c=y[d],"inside"===c.stripLine.labelPlacement&&c.stripLine.showOnTop&&(g.ctx.save(),g.ctx.beginPath(),g.ctx.rect(g.chart.plotArea.x1,
|
|
729
|
+
g.chart.plotArea.y1,g.chart.plotArea.width,g.chart.plotArea.height),g.ctx.clip(),c.textBlock.render(!0),g.ctx.restore())},c.textBlock)):"inside"===c.stripLine.labelPlacement&&c.textBlock.render(!0);this.ctx.restore();n=!0}if(n)for(b=!1,e=0;e<y.length;e++)c=y[e],"outside"===c.stripLine.labelPlacement&&c.textBlock.render(!0)}};A.prototype.renderBreaksBackground=function(){this.chart._breaksCanvas&&(this.scaleBreaks&&0<this.scaleBreaks._appliedBreaks.length&&this.maskCanvas)&&(this.chart._breaksCanvasCtx.save(),
|
|
730
730
|
this.chart._breaksCanvasCtx.beginPath(),this.chart._breaksCanvasCtx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height),this.chart._breaksCanvasCtx.clip(),this.chart._breaksCanvasCtx.drawImage(this.maskCanvas,0,0,this.chart.width,this.chart.height),this.chart._breaksCanvasCtx.restore())};A.prototype.createMask=function(){if(this.scaleBreaks&&0<this.scaleBreaks._appliedBreaks.length){var a=this.scaleBreaks._appliedBreaks;s?(this.maskCanvas=sa(this.chart.width,
|
|
731
|
-
this.chart.height),this.maskCtx=this.maskCanvas.getContext("2d")):(this.maskCanvas=this.chart.plotArea.canvas,this.maskCtx=this.chart.plotArea.ctx);this.maskCtx.save();this.maskCtx.beginPath();this.maskCtx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.maskCtx.clip();for(var
|
|
732
|
-
A.prototype.renderCrosshair=function(a,
|
|
733
|
-
a.lineWidth=this.gridThickness;a.strokeStyle=this.gridColor;a.setLineDash&&a.setLineDash(X(this.gridDashType,this.gridThickness));if("bottom"===this._position||"top"===this._position)for(b=0;b<this._labels.length;b++)this._labels[b].position<this.viewportMinimum||(this._labels[b].position>this.viewportMaximum||this._labels[b].breaksLabelType)||(a.beginPath(),
|
|
734
|
-
else if("left"===this._position||"right"===this._position)for(var b=0;b<this._labels.length;b++)this._labels[b].position<this.viewportMinimum||(this._labels[b].position>this.viewportMaximum||this._labels[b].breaksLabelType)||(a.beginPath(),
|
|
735
|
-
(this.reversed?-2:2)),b=Math.ceil(this.tickThickness/(this.reversed?2:-2)),
|
|
736
|
-
this.lineCoordinates.y1<<0;
|
|
737
|
-
"right"===this._position)&&this.lineThickness){this.reversed?(
|
|
738
|
-
c;else for(t=this.scaleBreaks.firstBreakIndex;t<=this.scaleBreaks.lastBreakIndex;t++)
|
|
739
|
-
this.chart.height));
|
|
740
|
-
a:"left"===this._position||"right"===this._position?a.y:a.x;if(this.logarithmic){a=b=Math.pow(this.logarithmBase,(c-this.conversionParameters.reference)/this.conversionParameters.pixelPerUnit);if(c<=this.conversionParameters.reference===("left"===this._position||"right"===this._position)!==this.reversed)for(c=0;c<
|
|
741
|
-
|
|
742
|
-
|
|
743
|
-
|
|
744
|
-
|
|
745
|
-
|
|
746
|
-
this.conversionParameters.minimum){if(
|
|
747
|
-
|
|
748
|
-
this.conversionParameters.minimum))if(
|
|
749
|
-
|
|
750
|
-
b+=
|
|
751
|
-
0.5<<0:this.conversionParameters.reference+this.conversionParameters.pixelPerUnit*(a-this.conversionParameters.minimum)+0.5};A.prototype.getApparentDifference=function(a,
|
|
752
|
-
a)/Math.log(
|
|
753
|
-
e
|
|
754
|
-
Math.max(a,
|
|
755
|
-
if(this.logarithmic)for(var
|
|
756
|
-
a[
|
|
757
|
-
100*Math.log(this.viewportMaximum/a[
|
|
758
|
-
c=0<a[
|
|
759
|
-
this.viewportMaximum<a[
|
|
760
|
-
|
|
761
|
-
this.conversionParameters=
|
|
762
|
-
(b=600>this.maxWidth?8:6);var a=Math.max(b,Math.floor(this.maxWidth/a)),
|
|
731
|
+
this.chart.height),this.maskCtx=this.maskCanvas.getContext("2d")):(this.maskCanvas=this.chart.plotArea.canvas,this.maskCtx=this.chart.plotArea.ctx);this.maskCtx.save();this.maskCtx.beginPath();this.maskCtx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.maskCtx.clip();for(var g=0;g<a.length;g++)a[g].endValue<this.viewportMinimum||(a[g].startValue>this.viewportMaximum||isNaN(this.range))||a[g].render(this.maskCtx);this.maskCtx.restore()}};
|
|
732
|
+
A.prototype.renderCrosshair=function(a,g){isFinite(this.minimum)&&isFinite(this.maximum)&&this.crosshair.render(a,g)};A.prototype.showCrosshair=function(a){f(a)||(a<this.viewportMinimum||a>this.viewportMaximum)||("top"===this._position||"bottom"===this._position?this.crosshair.render(this.convertValueToPixel(a),null,a):this.crosshair.render(null,this.convertValueToPixel(a),a))};A.prototype.renderGrid=function(){if(this.gridThickness&&0<this.gridThickness){var a=this.chart.ctx;a.save();var g,c=this.chart.plotArea;
|
|
733
|
+
a.lineWidth=this.gridThickness;a.strokeStyle=this.gridColor;a.setLineDash&&a.setLineDash(X(this.gridDashType,this.gridThickness));if("bottom"===this._position||"top"===this._position)for(b=0;b<this._labels.length;b++)this._labels[b].position<this.viewportMinimum||(this._labels[b].position>this.viewportMaximum||this._labels[b].breaksLabelType)||(a.beginPath(),g=this.getPixelCoordinatesOnAxis(this._labels[b].position),g=1===a.lineWidth%2?(g.x<<0)+0.5:g.x<<0,a.moveTo(g,c.y1<<0),a.lineTo(g,c.y2<<0),a.stroke());
|
|
734
|
+
else if("left"===this._position||"right"===this._position)for(var b=0;b<this._labels.length;b++)this._labels[b].position<this.viewportMinimum||(this._labels[b].position>this.viewportMaximum||this._labels[b].breaksLabelType)||(a.beginPath(),g=this.getPixelCoordinatesOnAxis(this._labels[b].position),g=1===a.lineWidth%2?(g.y<<0)+0.5:g.y<<0,a.moveTo(c.x1<<0,g),a.lineTo(c.x2<<0,g),a.stroke());a.restore()}};A.prototype.renderAxisLine=function(){var a=this.chart.ctx,g=s?this.chart._preRenderCtx:a,c=Math.ceil(this.tickThickness/
|
|
735
|
+
(this.reversed?-2:2)),b=Math.ceil(this.tickThickness/(this.reversed?2:-2)),e,d;g.save();if("bottom"===this._position||"top"===this._position){if(this.lineThickness){this.reversed?(e=this.lineCoordinates.x2,d=this.lineCoordinates.x1):(e=this.lineCoordinates.x1,d=this.lineCoordinates.x2);g.lineWidth=this.lineThickness;g.strokeStyle=this.lineColor?this.lineColor:"black";g.setLineDash&&g.setLineDash(X(this.lineDashType,this.lineThickness));var k=1===this.lineThickness%2?(this.lineCoordinates.y1<<0)+0.5:
|
|
736
|
+
this.lineCoordinates.y1<<0;g.beginPath();if(this.scaleBreaks&&!f(this.scaleBreaks.firstBreakIndex))if(f(this.scaleBreaks.lastBreakIndex))e=this.scaleBreaks._appliedBreaks[this.scaleBreaks.firstBreakIndex].endPixel+b;else for(var t=this.scaleBreaks.firstBreakIndex;t<=this.scaleBreaks.lastBreakIndex;t++)g.moveTo(e,k),g.lineTo(this.scaleBreaks._appliedBreaks[t].startPixel+c,k),e=this.scaleBreaks._appliedBreaks[t].endPixel+b;e&&(g.moveTo(e,k),g.lineTo(d,k));g.stroke()}}else if(("left"===this._position||
|
|
737
|
+
"right"===this._position)&&this.lineThickness){this.reversed?(e=this.lineCoordinates.y1,d=this.lineCoordinates.y2):(e=this.lineCoordinates.y2,d=this.lineCoordinates.y1);g.lineWidth=this.lineThickness;g.strokeStyle=this.lineColor;g.setLineDash&&g.setLineDash(X(this.lineDashType,this.lineThickness));k=1===this.lineThickness%2?(this.lineCoordinates.x1<<0)+0.5:this.lineCoordinates.x1<<0;g.beginPath();if(this.scaleBreaks&&!f(this.scaleBreaks.firstBreakIndex))if(f(this.scaleBreaks.lastBreakIndex))e=this.scaleBreaks._appliedBreaks[this.scaleBreaks.firstBreakIndex].endPixel+
|
|
738
|
+
c;else for(t=this.scaleBreaks.firstBreakIndex;t<=this.scaleBreaks.lastBreakIndex;t++)g.moveTo(k,e),g.lineTo(k,this.scaleBreaks._appliedBreaks[t].startPixel+b),e=this.scaleBreaks._appliedBreaks[t].endPixel+c;e&&(g.moveTo(k,e),g.lineTo(k,d));g.stroke()}s&&(a.drawImage(this.chart._preRenderCanvas,0,0,this.chart.width,this.chart.height),this.chart._breaksCanvasCtx&&this.chart._breaksCanvasCtx.drawImage(this.chart._preRenderCanvas,0,0,this.chart.width,this.chart.height),g.clearRect(0,0,this.chart.width,
|
|
739
|
+
this.chart.height));g.restore()};A.prototype.getPixelCoordinatesOnAxis=function(a){var g={};if("bottom"===this._position||"top"===this._position)g.x=this.convertValueToPixel(a),g.y=this.lineCoordinates.y1;if("left"===this._position||"right"===this._position)g.y=this.convertValueToPixel(a),g.x=this.lineCoordinates.x2;return g};A.prototype.convertPixelToValue=function(a){if("undefined"===typeof a)return null;var g=0,c=0,b,g=!0,e=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[],c="number"===typeof a?
|
|
740
|
+
a:"left"===this._position||"right"===this._position?a.y:a.x;if(this.logarithmic){a=b=Math.pow(this.logarithmBase,(c-this.conversionParameters.reference)/this.conversionParameters.pixelPerUnit);if(c<=this.conversionParameters.reference===("left"===this._position||"right"===this._position)!==this.reversed)for(c=0;c<e.length;c++){if(!(e[c].endValue<this.conversionParameters.minimum))if(g)if(e[c].startValue<this.conversionParameters.minimum){if(1<e[c].size&&this.conversionParameters.minimum*Math.pow(e[c].endValue/
|
|
741
|
+
e[c].startValue,Math.log(b)/Math.log(e[c].size))<e[c].endValue){a=Math.pow(e[c].endValue/e[c].startValue,Math.log(b)/Math.log(e[c].size));break}else a*=e[c].endValue/this.conversionParameters.minimum/Math.pow(e[c].size,Math.log(e[c].endValue/this.conversionParameters.minimum)/Math.log(e[c].endValue/e[c].startValue)),b/=Math.pow(e[c].size,Math.log(e[c].endValue/this.conversionParameters.minimum)/Math.log(e[c].endValue/e[c].startValue));g=!1}else if(b>e[c].startValue/this.conversionParameters.minimum){b/=
|
|
742
|
+
e[c].startValue/this.conversionParameters.minimum;if(b<e[c].size){a*=Math.pow(e[c].endValue/e[c].startValue,1===e[c].size?1:Math.log(b)/Math.log(e[c].size))/b;break}else a*=e[c].endValue/e[c].startValue/e[c].size;b/=e[c].size;g=!1}else break;else if(b>e[c].startValue/e[c-1].endValue){b/=e[c].startValue/e[c-1].endValue;if(b<e[c].size){a*=Math.pow(e[c].endValue/e[c].startValue,1===e[c].size?1:Math.log(b)/Math.log(e[c].size))/b;break}else a*=e[c].endValue/e[c].startValue/e[c].size;b/=e[c].size}else break}else for(c=
|
|
743
|
+
e.length-1;0<=c;c--)if(!(e[c].startValue>this.conversionParameters.minimum))if(g)if(e[c].endValue>this.conversionParameters.minimum){if(1<e[c].size&&this.conversionParameters.minimum*Math.pow(e[c].endValue/e[c].startValue,Math.log(b)/Math.log(e[c].size))>e[c].startValue){a=Math.pow(e[c].endValue/e[c].startValue,Math.log(b)/Math.log(e[c].size));break}else a*=e[c].startValue/this.conversionParameters.minimum*Math.pow(e[c].size,Math.log(e[c].startValue/this.conversionParameters.minimum)/Math.log(e[c].endValue/
|
|
744
|
+
e[c].startValue))*b,b*=Math.pow(e[c].size,Math.log(this.conversionParameters.minimum/e[c].startValue)/Math.log(e[c].endValue/e[c].startValue));g=!1}else if(b<e[c].endValue/this.conversionParameters.minimum){b/=e[c].endValue/this.conversionParameters.minimum;if(b>1/e[c].size){a*=Math.pow(e[c].endValue/e[c].startValue,1>=e[c].size?1:Math.log(b)/Math.log(e[c].size))*b;break}else a/=e[c].endValue/e[c].startValue/e[c].size;b*=e[c].size;g=!1}else break;else if(b<e[c].endValue/e[c+1].startValue){b/=e[c].endValue/
|
|
745
|
+
e[c+1].startValue;if(b>1/e[c].size){a*=Math.pow(e[c].endValue/e[c].startValue,1>=e[c].size?1:Math.log(b)/Math.log(e[c].size))*b;break}else a/=e[c].endValue/e[c].startValue/e[c].size;b*=e[c].size}else break;g=a*this.viewportMinimum}else{a=b=(c-this.conversionParameters.reference)/this.conversionParameters.pixelPerUnit;if(c<=this.conversionParameters.reference===("left"===this._position||"right"===this._position)!==this.reversed)for(c=0;c<e.length;c++){if(!(e[c].endValue<this.conversionParameters.minimum))if(g)if(e[c].startValue<
|
|
746
|
+
this.conversionParameters.minimum){if(e[c].size&&this.conversionParameters.minimum+b*(e[c].endValue-e[c].startValue)/e[c].size<e[c].endValue){a=0>=e[c].size?0:b*(e[c].endValue-e[c].startValue)/e[c].size;break}else a+=e[c].endValue-this.conversionParameters.minimum-e[c].size*(e[c].endValue-this.conversionParameters.minimum)/(e[c].endValue-e[c].startValue),b-=e[c].size*(e[c].endValue-this.conversionParameters.minimum)/(e[c].endValue-e[c].startValue);g=!1}else if(b>e[c].startValue-this.conversionParameters.minimum){b-=
|
|
747
|
+
e[c].startValue-this.conversionParameters.minimum;if(b<e[c].size){a+=(e[c].endValue-e[c].startValue)*(0===e[c].size?1:b/e[c].size)-b;break}else a+=e[c].endValue-e[c].startValue-e[c].size;b-=e[c].size;g=!1}else break;else if(b>e[c].startValue-e[c-1].endValue){b-=e[c].startValue-e[c-1].endValue;if(b<e[c].size){a+=(e[c].endValue-e[c].startValue)*(0===e[c].size?1:b/e[c].size)-b;break}else a+=e[c].endValue-e[c].startValue-e[c].size;b-=e[c].size}else break}else for(c=e.length-1;0<=c;c--)if(!(e[c].startValue>
|
|
748
|
+
this.conversionParameters.minimum))if(g)if(e[c].endValue>this.conversionParameters.minimum)if(e[c].size&&this.conversionParameters.minimum+b*(e[c].endValue-e[c].startValue)/e[c].size>e[c].startValue){a=0>=e[c].size?0:b*(e[c].endValue-e[c].startValue)/e[c].size;break}else a+=e[c].startValue-this.conversionParameters.minimum+e[c].size*(this.conversionParameters.minimum-e[c].startValue)/(e[c].endValue-e[c].startValue),b+=e[c].size*(this.conversionParameters.minimum-e[c].startValue)/(e[c].endValue-e[c].startValue),
|
|
749
|
+
g=!1;else if(b<e[c].endValue-this.conversionParameters.minimum){b-=e[c].endValue-this.conversionParameters.minimum;if(b>-1*e[c].size){a+=(e[c].endValue-e[c].startValue)*(0===e[c].size?1:b/e[c].size)+b;break}else a-=e[c].endValue-e[c].startValue-e[c].size;b+=e[c].size;g=!1}else break;else if(b<e[c].endValue-e[c+1].startValue){b-=e[c].endValue-e[c+1].startValue;if(b>-1*e[c].size){a+=(e[c].endValue-e[c].startValue)*(0===e[c].size?1:b/e[c].size)+b;break}else a-=e[c].endValue-e[c].startValue-e[c].size;
|
|
750
|
+
b+=e[c].size}else break;g=this.conversionParameters.minimum+a}return g};A.prototype.convertValueToPixel=function(a){a=this.getApparentDifference(this.conversionParameters.minimum,a,a);return this.logarithmic?this.conversionParameters.reference+this.conversionParameters.pixelPerUnit*Math.log(a/this.conversionParameters.minimum)/this.conversionParameters.lnLogarithmBase+0.5<<0:"axisX"===this.type?this.conversionParameters.reference+this.conversionParameters.pixelPerUnit*(a-this.conversionParameters.minimum)+
|
|
751
|
+
0.5<<0:this.conversionParameters.reference+this.conversionParameters.pixelPerUnit*(a-this.conversionParameters.minimum)+0.5};A.prototype.getApparentDifference=function(a,g,c,b){var e=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];if(this.logarithmic){c=f(c)?g/a:c;for(var d=0;d<e.length&&!(g<e[d].startValue);d++)a>e[d].endValue||(a<=e[d].startValue&&g>=e[d].endValue?c=c/e[d].endValue*e[d].startValue*e[d].size:a>=e[d].startValue&&g>=e[d].endValue?c=c/e[d].endValue*a*Math.pow(e[d].size,Math.log(e[d].endValue/
|
|
752
|
+
a)/Math.log(e[d].endValue/e[d].startValue)):a<=e[d].startValue&&g<=e[d].endValue?c=c/g*e[d].startValue*Math.pow(e[d].size,Math.log(g/e[d].startValue)/Math.log(e[d].endValue/e[d].startValue)):!b&&(a>e[d].startValue&&g<e[d].endValue)&&(c=a*Math.pow(e[d].size,Math.log(g/a)/Math.log(e[d].endValue/e[d].startValue))))}else for(c=f(c)?Math.abs(g-a):c,d=0;d<e.length&&!(g<e[d].startValue);d++)a>e[d].endValue||(a<=e[d].startValue&&g>=e[d].endValue?c=c-e[d].endValue+e[d].startValue+e[d].size:a>e[d].startValue&&
|
|
753
|
+
g>=e[d].endValue?c=c-e[d].endValue+a+e[d].size*(e[d].endValue-a)/(e[d].endValue-e[d].startValue):a<=e[d].startValue&&g<e[d].endValue?c=c-g+e[d].startValue+e[d].size*(g-e[d].startValue)/(e[d].endValue-e[d].startValue):!b&&(a>e[d].startValue&&g<e[d].endValue)&&(c=a+e[d].size*(g-a)/(e[d].endValue-e[d].startValue)));return c};A.prototype.setViewPortRange=function(a,g){this.sessionVariables.newViewportMinimum=this.viewportMinimum=Math.min(a,g);this.sessionVariables.newViewportMaximum=this.viewportMaximum=
|
|
754
|
+
Math.max(a,g)};A.prototype.getXValueAt=function(a){if(!a)return null;var g=null;"left"===this._position?g=this.convertPixelToValue(a.y):"bottom"===this._position&&(g=this.convertPixelToValue(a.x));return g};A.prototype.calculateValueToPixelConversionParameters=function(a){a=this.scaleBreaks?this.scaleBreaks._appliedBreaks:[];var g={pixelPerUnit:null,minimum:null,reference:null},c=this.lineCoordinates.width,b=this.lineCoordinates.height,c="bottom"===this._position||"top"===this._position?c:b,b=Math.abs(this.range);
|
|
755
|
+
if(this.logarithmic)for(var e=0;e<a.length&&!(this.viewportMaximum<a[e].startValue);e++)this.viewportMinimum>a[e].endValue||(this.viewportMinimum>=a[e].startValue&&this.viewportMaximum<=a[e].endValue?c=0:this.viewportMinimum<=a[e].startValue&&this.viewportMaximum>=a[e].endValue?(b=b/a[e].endValue*a[e].startValue,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100):c-Math.min(a[e].spacing,0.1*c)):this.viewportMinimum>a[e].startValue&&this.viewportMaximum>=a[e].endValue?(b=b/
|
|
756
|
+
a[e].endValue*this.viewportMinimum,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100*Math.log(a[e].endValue/this.viewportMinimum)/Math.log(a[e].endValue/a[e].startValue)):c-Math.min(a[e].spacing,0.1*c)*Math.log(a[e].endValue/this.viewportMinimum)/Math.log(a[e].endValue/a[e].startValue)):this.viewportMinimum<=a[e].startValue&&this.viewportMaximum<a[e].endValue&&(b=b/this.viewportMaximum*a[e].startValue,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/
|
|
757
|
+
100*Math.log(this.viewportMaximum/a[e].startValue)/Math.log(a[e].endValue/a[e].startValue)):c-Math.min(a[e].spacing,0.1*c)*Math.log(this.viewportMaximum/a[e].startValue)/Math.log(a[e].endValue/a[e].startValue)));else for(e=0;e<a.length&&!(this.viewportMaximum<a[e].startValue);e++)this.viewportMinimum>a[e].endValue||(this.viewportMinimum>=a[e].startValue&&this.viewportMaximum<=a[e].endValue?c=0:this.viewportMinimum<=a[e].startValue&&this.viewportMaximum>=a[e].endValue?(b=b-a[e].endValue+a[e].startValue,
|
|
758
|
+
c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100):c-Math.min(a[e].spacing,0.1*c)):this.viewportMinimum>a[e].startValue&&this.viewportMaximum>=a[e].endValue?(b=b-a[e].endValue+this.viewportMinimum,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100*(a[e].endValue-this.viewportMinimum)/(a[e].endValue-a[e].startValue)):c-Math.min(a[e].spacing,0.1*c)*(a[e].endValue-this.viewportMinimum)/(a[e].endValue-a[e].startValue)):this.viewportMinimum<=a[e].startValue&&
|
|
759
|
+
this.viewportMaximum<a[e].endValue&&(b=b-this.viewportMaximum+a[e].startValue,c=0<a[e].spacing.toString().indexOf("%")?c*(1-parseFloat(a[e].spacing)/100*(this.viewportMaximum-a[e].startValue)/(a[e].endValue-a[e].startValue)):c-Math.min(a[e].spacing,0.1*c)*(this.viewportMaximum-a[e].startValue)/(a[e].endValue-a[e].startValue)));g.minimum=this.viewportMinimum;g.maximum=this.viewportMaximum;g.range=b;if("bottom"===this._position||"top"===this._position)this.logarithmic?(g.lnLogarithmBase=Math.log(this.logarithmBase),
|
|
760
|
+
g.pixelPerUnit=(this.reversed?-1:1)*c*g.lnLogarithmBase/Math.log(Math.abs(b))):g.pixelPerUnit=(this.reversed?-1:1)*c/Math.abs(b),g.reference=this.reversed?this.lineCoordinates.x2:this.lineCoordinates.x1;if("left"===this._position||"right"===this._position)this.logarithmic?(g.lnLogarithmBase=Math.log(this.logarithmBase),g.pixelPerUnit=(this.reversed?1:-1)*c*g.lnLogarithmBase/Math.log(Math.abs(b))):g.pixelPerUnit=(this.reversed?1:-1)*c/Math.abs(b),g.reference=this.reversed?this.lineCoordinates.y1:this.lineCoordinates.y2;
|
|
761
|
+
this.conversionParameters=g};A.prototype.calculateAxisParameters=function(){if(this.logarithmic)this.calculateLogarithmicAxisParameters();else{var a=this.chart.layoutManager.getFreeSpace(),g=!1,c=!1;"bottom"===this._position||"top"===this._position?(this.maxWidth=a.width,this.maxHeight=a.height):(this.maxWidth=a.height,this.maxHeight=a.width);var a="axisX"===this.type?"xySwapped"===this.chart.plotInfo.axisPlacement?62:70:"xySwapped"===this.chart.plotInfo.axisPlacement?50:40,b=4;"axisX"===this.type&&
|
|
762
|
+
(b=600>this.maxWidth?8:6);var a=Math.max(b,Math.floor(this.maxWidth/a)),e,d,k,b=0;!f(this.options.viewportMinimum)&&(!f(this.options.viewportMaximum)&&this.options.viewportMinimum>=this.options.viewportMaximum)&&(this.viewportMinimum=this.viewportMaximum=null);if(f(this.options.viewportMinimum)&&!f(this.sessionVariables.newViewportMinimum)&&!isNaN(this.sessionVariables.newViewportMinimum))this.viewportMinimum=this.sessionVariables.newViewportMinimum;else if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=
|
|
763
763
|
this.minimum;if(f(this.options.viewportMaximum)&&!f(this.sessionVariables.newViewportMaximum)&&!isNaN(this.sessionVariables.newViewportMaximum))this.viewportMaximum=this.sessionVariables.newViewportMaximum;else if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=this.maximum;if(this.scaleBreaks)for(b=0;b<this.scaleBreaks._appliedBreaks.length;b++)if((!f(this.sessionVariables.newViewportMinimum)&&this.sessionVariables.newViewportMinimum>=this.scaleBreaks._appliedBreaks[b].startValue||
|
|
764
764
|
!f(this.options.minimum)&&this.options.minimum>=this.scaleBreaks._appliedBreaks[b].startValue||!f(this.options.viewportMinimum)&&this.viewportMinimum>=this.scaleBreaks._appliedBreaks[b].startValue)&&(!f(this.sessionVariables.newViewportMaximum)&&this.sessionVariables.newViewportMaximum<=this.scaleBreaks._appliedBreaks[b].endValue||!f(this.options.maximum)&&this.options.maximum<=this.scaleBreaks._appliedBreaks[b].endValue||!f(this.options.viewportMaximum)&&this.viewportMaximum<=this.scaleBreaks._appliedBreaks[b].endValue)){this.scaleBreaks._appliedBreaks.splice(b,
|
|
765
|
-
1);break}if("axisX"===this.type){if(this.dataSeries&&0<this.dataSeries.length)for(
|
|
766
|
-
(
|
|
767
|
-
|
|
768
|
-
null===this.viewportMinimum?
|
|
765
|
+
1);break}if("axisX"===this.type){if(this.dataSeries&&0<this.dataSeries.length)for(e=0;e<this.dataSeries.length;e++)"dateTime"===this.dataSeries[e].xValueType&&(c=!0);e=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin;d=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax;0===d-e&&(b="undefined"===typeof this.options.interval?0.4:this.options.interval,d+=b,e-=b);Infinity!==this.dataInfo.minDiff?k=this.dataInfo.minDiff:1<d-e?k=0.5*Math.abs(d-e):(k=1,c&&
|
|
766
|
+
(g=!0))}else"axisY"===this.type&&(e=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,d=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,isFinite(e)||isFinite(d)?isFinite(e)?isFinite(d)||(d=e):e=d:(d="undefined"===typeof this.options.interval?-Infinity:this.options.interval,e="undefined"!==typeof this.options.interval||isFinite(this.dataInfo.minDiff)?0:Infinity),0===e&&0===d?(d+=9,e=0):0===d-e?(b=Math.min(Math.abs(0.01*Math.abs(d)),5),d+=b,e-=b):
|
|
767
|
+
e>d?(b=Math.min(0.01*Math.abs(this.getApparentDifference(d,e,null,!0)),5),0<=d?e=d-b:d=isFinite(e)?e+b:0):(b=Math.min(0.01*Math.abs(this.getApparentDifference(e,d,null,!0)),0.05),0!==d&&(d+=b),0!==e&&(e-=b)),k=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<d-e?0.5*Math.abs(d-e):1,this.includeZero&&(null===this.viewportMinimum||isNaN(this.viewportMinimum))&&0<e&&(e=0),this.includeZero&&(null===this.viewportMaximum||isNaN(this.viewportMaximum))&&0>d&&(d=0));b=this.getApparentDifference(isNaN(this.viewportMinimum)||
|
|
768
|
+
null===this.viewportMinimum?e:this.viewportMinimum,isNaN(this.viewportMaximum)||null===this.viewportMaximum?d:this.viewportMaximum,null,!0);if("axisX"===this.type&&c){this.valueType="dateTime";this.intervalType||(b/1<=a?(this.interval=1,this.intervalType="millisecond"):b/2<=a?(this.interval=2,this.intervalType="millisecond"):b/5<=a?(this.interval=5,this.intervalType="millisecond"):b/10<=a?(this.interval=10,this.intervalType="millisecond"):b/20<=a?(this.interval=20,this.intervalType="millisecond"):
|
|
769
769
|
b/50<=a?(this.interval=50,this.intervalType="millisecond"):b/100<=a?(this.interval=100,this.intervalType="millisecond"):b/200<=a?(this.interval=200,this.intervalType="millisecond"):b/250<=a?(this.interval=250,this.intervalType="millisecond"):b/300<=a?(this.interval=300,this.intervalType="millisecond"):b/400<=a?(this.interval=400,this.intervalType="millisecond"):b/500<=a?(this.interval=500,this.intervalType="millisecond"):b/(1*V.secondDuration)<=a?(this.interval=1,this.intervalType="second"):b/(2*
|
|
770
770
|
V.secondDuration)<=a?(this.interval=2,this.intervalType="second"):b/(5*V.secondDuration)<=a?(this.interval=5,this.intervalType="second"):b/(10*V.secondDuration)<=a?(this.interval=10,this.intervalType="second"):b/(15*V.secondDuration)<=a?(this.interval=15,this.intervalType="second"):b/(20*V.secondDuration)<=a?(this.interval=20,this.intervalType="second"):b/(30*V.secondDuration)<=a?(this.interval=30,this.intervalType="second"):b/(1*V.minuteDuration)<=a?(this.interval=1,this.intervalType="minute"):b/
|
|
771
771
|
(2*V.minuteDuration)<=a?(this.interval=2,this.intervalType="minute"):b/(5*V.minuteDuration)<=a?(this.interval=5,this.intervalType="minute"):b/(10*V.minuteDuration)<=a?(this.interval=10,this.intervalType="minute"):b/(15*V.minuteDuration)<=a?(this.interval=15,this.intervalType="minute"):b/(20*V.minuteDuration)<=a?(this.interval=20,this.intervalType="minute"):b/(30*V.minuteDuration)<=a?(this.interval=30,this.intervalType="minute"):b/(1*V.hourDuration)<=a?(this.interval=1,this.intervalType="hour"):b/
|
|
772
772
|
(2*V.hourDuration)<=a?(this.interval=2,this.intervalType="hour"):b/(3*V.hourDuration)<=a?(this.interval=3,this.intervalType="hour"):b/(6*V.hourDuration)<=a?(this.interval=6,this.intervalType="hour"):b/(1*V.dayDuration)<=a?(this.interval=1,this.intervalType="day"):b/(2*V.dayDuration)<=a?(this.interval=2,this.intervalType="day"):b/(4*V.dayDuration)<=a?(this.interval=4,this.intervalType="day"):b/(1*V.weekDuration)<=a?(this.interval=1,this.intervalType="week"):b/(2*V.weekDuration)<=a?(this.interval=2,
|
|
773
773
|
this.intervalType="week"):b/(3*V.weekDuration)<=a?(this.interval=3,this.intervalType="week"):b/(1*V.monthDuration)<=a?(this.interval=1,this.intervalType="month"):b/(2*V.monthDuration)<=a?(this.interval=2,this.intervalType="month"):b/(3*V.monthDuration)<=a?(this.interval=3,this.intervalType="month"):b/(6*V.monthDuration)<=a?(this.interval=6,this.intervalType="month"):(this.interval=b/(1*V.yearDuration)<=a?1:b/(2*V.yearDuration)<=a?2:b/(4*V.yearDuration)<=a?4:Math.floor(A.getNiceNumber(b/(a-1),!0)/
|
|
774
|
-
V.yearDuration),this.intervalType="year"));if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=
|
|
774
|
+
V.yearDuration),this.intervalType="year"));if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=e-k/2;if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=d+k/2;g?this.autoValueFormatString="MMM DD YYYY HH:mm":"year"===this.intervalType?this.autoValueFormatString="YYYY":"month"===this.intervalType?this.autoValueFormatString="MMM YYYY":"week"===this.intervalType?this.autoValueFormatString="MMM DD YYYY":"day"===this.intervalType?this.autoValueFormatString=
|
|
775
775
|
"MMM DD YYYY":"hour"===this.intervalType?this.autoValueFormatString="hh:mm TT":"minute"===this.intervalType?this.autoValueFormatString="hh:mm TT":"second"===this.intervalType?this.autoValueFormatString="hh:mm:ss TT":"millisecond"===this.intervalType&&(this.autoValueFormatString="fff'ms'");this.valueFormatString||(this.valueFormatString=this.autoValueFormatString)}else{this.intervalType="number";b=A.getNiceNumber(b,!1);this.interval=this.options&&0<this.options.interval?this.options.interval:A.getNiceNumber(b/
|
|
776
|
-
(a-1),!0);if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum="axisX"===this.type?
|
|
777
|
-
typeof this.options.interval&&(this.interval=A.getNiceNumber((this.viewportMaximum-this.viewportMinimum)/(a-1),!0)))}if(null===this.minimum||null===this.maximum)if("axisX"===this.type?(
|
|
778
|
-
this.minimum:this.dataInfo.min,d=null!==this.maximum?this.maximum:this.dataInfo.max,isFinite(
|
|
779
|
-
isFinite(this.dataInfo.minDiff)?0:Infinity),k=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<d-
|
|
780
|
-
isNaN(this.sessionVariables.viewportMinimum)?Infinity:this.sessionVariables.viewportMinimum);if(null===this.maximum||isNaN(this.maximum))this.maximum=d+k/2,this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?-Infinity:this.sessionVariables.viewportMaximum)}else this.intervalType=this.valueType="number",null===this.minimum&&(this.minimum="axisX"===this.type?
|
|
776
|
+
(a-1),!0);if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum="axisX"===this.type?e-k/2:Math.floor(e/this.interval)*this.interval;if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum="axisX"===this.type?d+k/2:Math.ceil(d/this.interval)*this.interval;0===this.viewportMaximum&&0===this.viewportMinimum&&(0===this.options.viewportMinimum?this.viewportMaximum+=10:0===this.options.viewportMaximum&&(this.viewportMinimum-=10),this.options&&"undefined"===
|
|
777
|
+
typeof this.options.interval&&(this.interval=A.getNiceNumber((this.viewportMaximum-this.viewportMinimum)/(a-1),!0)))}if(null===this.minimum||null===this.maximum)if("axisX"===this.type?(e=null!==this.minimum?this.minimum:this.dataInfo.min,d=null!==this.maximum?this.maximum:this.dataInfo.max,0===d-e&&(b="undefined"===typeof this.options.interval?0.4:this.options.interval,d+=b,e-=b),k=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<d-e?0.5*Math.abs(d-e):1):"axisY"===this.type&&(e=null!==this.minimum?
|
|
778
|
+
this.minimum:this.dataInfo.min,d=null!==this.maximum?this.maximum:this.dataInfo.max,isFinite(e)||isFinite(d)?0===e&&0===d?(d+=9,e=0):0===d-e?(b=Math.min(Math.abs(0.01*Math.abs(d)),5),d+=b,e-=b):e>d?(b=Math.min(0.01*Math.abs(this.getApparentDifference(d,e,null,!0)),5),0<=d?e=d-b:d=isFinite(e)?e+b:0):(b=Math.min(0.01*Math.abs(this.getApparentDifference(e,d,null,!0)),0.05),0!==d&&(d+=b),0!==e&&(e-=b)):(d="undefined"===typeof this.options.interval?-Infinity:this.options.interval,e="undefined"!==typeof this.options.interval||
|
|
779
|
+
isFinite(this.dataInfo.minDiff)?0:Infinity),k=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:1<d-e?0.5*Math.abs(d-e):1,this.includeZero&&(null===this.minimum||isNaN(this.minimum))&&0<e&&(e=0),this.includeZero&&(null===this.maximum||isNaN(this.maximum))&&0>d&&(d=0)),Math.abs(this.getApparentDifference(e,d,null,!0)),"axisX"===this.type&&c){this.valueType="dateTime";if(null===this.minimum||isNaN(this.minimum))this.minimum=e-k/2,this.minimum=Math.min(this.minimum,null===this.sessionVariables.viewportMinimum||
|
|
780
|
+
isNaN(this.sessionVariables.viewportMinimum)?Infinity:this.sessionVariables.viewportMinimum);if(null===this.maximum||isNaN(this.maximum))this.maximum=d+k/2,this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?-Infinity:this.sessionVariables.viewportMaximum)}else this.intervalType=this.valueType="number",null===this.minimum&&(this.minimum="axisX"===this.type?e-k/2:Math.floor(e/this.interval)*this.interval,this.minimum=Math.min(this.minimum,
|
|
781
781
|
null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?Infinity:this.sessionVariables.viewportMinimum)),null===this.maximum&&(this.maximum="axisX"===this.type?d+k/2:Math.ceil(d/this.interval)*this.interval,this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?-Infinity:this.sessionVariables.viewportMaximum)),0===this.maximum&&0===this.minimum&&(0===this.options.minimum?this.maximum+=10:0===
|
|
782
782
|
this.options.maximum&&(this.minimum-=10));f(this.sessionVariables.newViewportMinimum)&&(this.viewportMinimum=Math.max(this.viewportMinimum,this.minimum));f(this.sessionVariables.newViewportMaximum)&&(this.viewportMaximum=Math.min(this.viewportMaximum,this.maximum));this.range=this.viewportMaximum-this.viewportMinimum;this.intervalStartPosition="axisX"===this.type&&c?this.getLabelStartPoint(new Date(this.viewportMinimum),this.intervalType,this.interval):Math.floor((this.viewportMinimum+0.2*this.interval)/
|
|
783
|
-
this.interval)*this.interval;this.valueFormatString||(this.valueFormatString=A.generateValueFormatString(this.range,2))}};A.prototype.calculateLogarithmicAxisParameters=function(){var a=this.chart.layoutManager.getFreeSpace(),
|
|
784
|
-
50),3),b,
|
|
783
|
+
this.interval)*this.interval;this.valueFormatString||(this.valueFormatString=A.generateValueFormatString(this.range,2))}};A.prototype.calculateLogarithmicAxisParameters=function(){var a=this.chart.layoutManager.getFreeSpace(),g=Math.log(this.logarithmBase),c;"bottom"===this._position||"top"===this._position?(this.maxWidth=a.width,this.maxHeight=a.height):(this.maxWidth=a.height,this.maxHeight=a.width);var a="axisX"===this.type?500>this.maxWidth?7:Math.max(7,Math.floor(this.maxWidth/100)):Math.max(Math.floor(this.maxWidth/
|
|
784
|
+
50),3),b,d,l,k;k=1;if(null===this.viewportMinimum||isNaN(this.viewportMinimum))this.viewportMinimum=this.minimum;if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum=this.maximum;if(this.scaleBreaks)for(k=0;k<this.scaleBreaks._appliedBreaks.length;k++)if((!f(this.sessionVariables.newViewportMinimum)&&this.sessionVariables.newViewportMinimum>=this.scaleBreaks._appliedBreaks[k].startValue||!f(this.options.minimum)&&this.options.minimum>=this.scaleBreaks._appliedBreaks[k].startValue||
|
|
785
785
|
!f(this.options.viewportMinimum)&&this.viewportMinimum>=this.scaleBreaks._appliedBreaks[k].startValue)&&(!f(this.sessionVariables.newViewportMaximum)&&this.sessionVariables.newViewportMaximum<=this.scaleBreaks._appliedBreaks[k].endValue||!f(this.options.maximum)&&this.options.maximum<=this.scaleBreaks._appliedBreaks[k].endValue||!f(this.options.viewportMaximum)&&this.viewportMaximum<=this.scaleBreaks._appliedBreaks[k].endValue)){this.scaleBreaks._appliedBreaks.splice(k,1);break}"axisX"===this.type?
|
|
786
|
-
(b=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,
|
|
787
|
-
|
|
788
|
-
0.01),Math.pow(this.logarithmBase,0.04)),1!==
|
|
789
|
-
this.viewportMinimum?b:this.viewportMinimum);var t=(isNaN(this.viewportMaximum)||null===this.viewportMaximum?
|
|
790
|
-
isNaN(this.viewportMinimum))this.viewportMinimum="axisX"===this.type?b/Math.sqrt(
|
|
791
|
-
1===this.options.viewportMaximum&&(this.viewportMinimum/=this.logarithmBase-1/this.logarithmBase),this.options&&"undefined"===typeof this.options.interval&&(this.interval=A.getNiceExponent(Math.ceil(Math.log(k)/
|
|
792
|
-
"undefined"===typeof this.options.interval?0.4:this.options.interval),
|
|
793
|
-
Math.min(0.01*(b/
|
|
794
|
-
1>
|
|
795
|
-
isNaN(this.sessionVariables.viewportMinimum)?"undefined"===typeof this.sessionVariables.newViewportMinimum?Infinity:this.sessionVariables.newViewportMinimum:this.sessionVariables.viewportMinimum))),null===this.maximum&&(this.maximum="axisX"===this.type?
|
|
786
|
+
(b=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,d=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,1===d/b&&(k=Math.pow(this.logarithmBase,"undefined"===typeof this.options.interval?0.4:this.options.interval),d*=k,b/=k),l=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:d/b>this.logarithmBase?d/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase):"axisY"===this.type&&(b=null!==this.viewportMinimum?this.viewportMinimum:this.dataInfo.viewPortMin,
|
|
787
|
+
d=null!==this.viewportMaximum?this.viewportMaximum:this.dataInfo.viewPortMax,0>=b&&!isFinite(d)?(d="undefined"===typeof this.options.interval?0:this.options.interval,b=1):0>=b?b=d:isFinite(d)||(d=b),1===b&&1===d?(d*=this.logarithmBase-1/this.logarithmBase,b=1):1===d/b?(k=Math.min(d*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,5)),d*=k,b/=k):b>d?(k=Math.min(b/d*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,5)),1<=d?b=d/k:d=b*k):(k=Math.min(d/b*Math.pow(this.logarithmBase,
|
|
788
|
+
0.01),Math.pow(this.logarithmBase,0.04)),1!==d&&(d*=k),1!==b&&(b/=k)),l=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:d/b>this.logarithmBase?d/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase,this.includeZero&&(null===this.viewportMinimum||isNaN(this.viewportMinimum))&&1<b&&(b=1),this.includeZero&&(null===this.viewportMaximum||isNaN(this.viewportMaximum))&&1>d&&(d=1));k=(isNaN(this.viewportMaximum)||null===this.viewportMaximum?d:this.viewportMaximum)/(isNaN(this.viewportMinimum)||null===
|
|
789
|
+
this.viewportMinimum?b:this.viewportMinimum);var t=(isNaN(this.viewportMaximum)||null===this.viewportMaximum?d:this.viewportMaximum)-(isNaN(this.viewportMinimum)||null===this.viewportMinimum?b:this.viewportMinimum);this.intervalType="number";k=Math.pow(this.logarithmBase,A.getNiceNumber(Math.abs(Math.log(k)/g),!1));this.options&&0<this.options.interval?this.interval=this.options.interval:(this.interval=A.getNiceExponent(Math.log(k)/g/(a-1),!0),c=A.getNiceNumber(t/(a-1),!0));if(null===this.viewportMinimum||
|
|
790
|
+
isNaN(this.viewportMinimum))this.viewportMinimum="axisX"===this.type?b/Math.sqrt(l):Math.pow(this.logarithmBase,this.interval*Math.floor(Math.log(b)/g/this.interval));if(null===this.viewportMaximum||isNaN(this.viewportMaximum))this.viewportMaximum="axisX"===this.type?d*Math.sqrt(l):Math.pow(this.logarithmBase,this.interval*Math.ceil(Math.log(d)/g/this.interval));1===this.viewportMaximum&&1===this.viewportMinimum&&(1===this.options.viewportMinimum?this.viewportMaximum*=this.logarithmBase-1/this.logarithmBase:
|
|
791
|
+
1===this.options.viewportMaximum&&(this.viewportMinimum/=this.logarithmBase-1/this.logarithmBase),this.options&&"undefined"===typeof this.options.interval&&(this.interval=A.getNiceExponent(Math.ceil(Math.log(k)/g)/(a-1)),c=A.getNiceNumber((this.viewportMaximum-this.viewportMinimum)/(a-1),!0)));if(null===this.minimum||null===this.maximum)"axisX"===this.type?(b=null!==this.minimum?this.minimum:this.dataInfo.min,d=null!==this.maximum?this.maximum:this.dataInfo.max,1===d/b&&(k=Math.pow(this.logarithmBase,
|
|
792
|
+
"undefined"===typeof this.options.interval?0.4:this.options.interval),d*=k,b/=k),l=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:d/b>this.logarithmBase?d/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase):"axisY"===this.type&&(b=null!==this.minimum?this.minimum:this.dataInfo.min,d=null!==this.maximum?this.maximum:this.dataInfo.max,isFinite(b)||isFinite(d)?1===b&&1===d?(d*=this.logarithmBase,b/=this.logarithmBase):1===d/b?(k=Math.pow(this.logarithmBase,this.interval),d*=k,b/=k):b>d?(k=
|
|
793
|
+
Math.min(0.01*(b/d),5),1<=d?b=d/k:d=b*k):(k=Math.min(d/b*Math.pow(this.logarithmBase,0.01),Math.pow(this.logarithmBase,0.04)),1!==d&&(d*=k),1!==b&&(b/=k)):(d="undefined"===typeof this.options.interval?0:this.options.interval,b=1),l=Infinity!==this.dataInfo.minDiff?this.dataInfo.minDiff:d/b>this.logarithmBase?d/b*Math.pow(this.logarithmBase,0.5):this.logarithmBase,this.includeZero&&(null===this.minimum||isNaN(this.minimum))&&1<b&&(b=1),this.includeZero&&(null===this.maximum||isNaN(this.maximum))&&
|
|
794
|
+
1>d&&(d=1)),this.intervalType="number",null===this.minimum&&(this.minimum="axisX"===this.type?b/Math.sqrt(l):Math.pow(this.logarithmBase,this.interval*Math.floor(Math.log(b)/g/this.interval)),f(null===this.sessionVariables.viewportMinimum||isNaN(this.sessionVariables.viewportMinimum)?"undefined"===typeof this.sessionVariables.newViewportMinimum?Infinity:this.sessionVariables.newViewportMinimum:this.sessionVariables.viewportMinimum)||(this.minimum=Math.min(this.minimum,null===this.sessionVariables.viewportMinimum||
|
|
795
|
+
isNaN(this.sessionVariables.viewportMinimum)?"undefined"===typeof this.sessionVariables.newViewportMinimum?Infinity:this.sessionVariables.newViewportMinimum:this.sessionVariables.viewportMinimum))),null===this.maximum&&(this.maximum="axisX"===this.type?d*Math.sqrt(l):Math.pow(this.logarithmBase,this.interval*Math.ceil(Math.log(d)/g/this.interval)),f(null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?"undefined"===typeof this.sessionVariables.newViewportMaximum?
|
|
796
796
|
0:this.sessionVariables.newViewportMaximum:this.sessionVariables.viewportMaximum)||(this.maximum=Math.max(this.maximum,null===this.sessionVariables.viewportMaximum||isNaN(this.sessionVariables.viewportMaximum)?"undefined"===typeof this.sessionVariables.newViewportMaximum?0:this.sessionVariables.newViewportMaximum:this.sessionVariables.viewportMaximum))),1===this.maximum&&1===this.minimum&&(1===this.options.minimum?this.maximum*=this.logarithmBase-1/this.logarithmBase:1===this.options.maximum&&(this.minimum/=
|
|
797
797
|
this.logarithmBase-1/this.logarithmBase));this.viewportMinimum=Math.max(this.viewportMinimum,this.minimum);this.viewportMaximum=Math.min(this.viewportMaximum,this.maximum);this.viewportMinimum>this.viewportMaximum&&(!this.options.viewportMinimum&&!this.options.minimum||this.options.viewportMaximum||this.options.maximum?this.options.viewportMinimum||this.options.minimum||!this.options.viewportMaximum&&!this.options.maximum||(this.viewportMinimum=this.minimum=(this.options.viewportMaximum||this.options.maximum)/
|
|
798
|
-
Math.pow(this.logarithmBase,2*Math.ceil(this.interval))):this.viewportMaximum=this.maximum=this.options.viewportMinimum||this.options.minimum);b=Math.pow(this.logarithmBase,Math.floor(Math.log(this.viewportMinimum)/(
|
|
799
|
-
!1;this.intervalStartPosition=
|
|
800
|
-
if(2<
|
|
801
|
-
Math.LN10),b=a/Math.pow(10,c),b=
|
|
798
|
+
Math.pow(this.logarithmBase,2*Math.ceil(this.interval))):this.viewportMaximum=this.maximum=this.options.viewportMinimum||this.options.minimum);b=Math.pow(this.logarithmBase,Math.floor(Math.log(this.viewportMinimum)/(g*this.interval)+0.2)*this.interval);this.range=this.viewportMaximum/this.viewportMinimum;this.noTicks=a;if(!this.options.interval&&this.range<Math.pow(this.logarithmBase,8>this.viewportMaximum||3>a?2:3)){for(g=Math.floor(this.viewportMinimum/c+0.5)*c;g<this.viewportMinimum;)g+=c;this.equidistantInterval=
|
|
799
|
+
!1;this.intervalStartPosition=g;this.interval=c}else this.options.interval||(c=Math.ceil(this.interval),this.range>this.interval&&(this.interval=c,b=Math.pow(this.logarithmBase,Math.floor(Math.log(this.viewportMinimum)/(g*this.interval)+0.2)*this.interval))),this.equidistantInterval=!0,this.intervalStartPosition=b;if(!this.valueFormatString&&(this.valueFormatString="#,##0.##",1>this.viewportMinimum)){g=Math.floor(Math.abs(Math.log(this.viewportMinimum)/Math.LN10))+2;if(isNaN(g)||!isFinite(g))g=2;
|
|
800
|
+
if(2<g)for(k=0;k<g-2;k++)this.valueFormatString+="#"}};A.generateValueFormatString=function(a,d){var c="#,##0.",b=d;1>a&&(b+=Math.floor(Math.abs(Math.log(a)/Math.LN10)),isNaN(b)||!isFinite(b))&&(b=d);for(var e=0;e<b;e++)c+="#";return c};A.getNiceExponent=function(a,d){var c=Math.floor(Math.log(a)/Math.LN10),b=a/Math.pow(10,c),b=0>c?1>=b?1:5>=b?5:10:Math.max(Math.floor(b),1);return-20>c?Number(b*Math.pow(10,c)):Number((b*Math.pow(10,c)).toFixed(20))};A.getNiceNumber=function(a,d){var c=Math.floor(Math.log(a)/
|
|
801
|
+
Math.LN10),b=a/Math.pow(10,c),b=d?1.5>b?1:3>b?2:7>b?5:10:1>=b?1:2>=b?2:5>=b?5:10;return-20>c?Number(b*Math.pow(10,c)):Number((b*Math.pow(10,c)).toFixed(20))};A.prototype.getLabelStartPoint=function(){var a=V[this.intervalType+"Duration"]*this.interval,a=new Date(Math.floor(this.viewportMinimum/a)*a);if("millisecond"!==this.intervalType)if("second"===this.intervalType)0<a.getMilliseconds()&&(a.setSeconds(a.getSeconds()+1),a.setMilliseconds(0));else if("minute"===this.intervalType){if(0<a.getSeconds()||
|
|
802
802
|
0<a.getMilliseconds())a.setMinutes(a.getMinutes()+1),a.setSeconds(0),a.setMilliseconds(0)}else if("hour"===this.intervalType){if(0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setHours(a.getHours()+1),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else if("day"===this.intervalType){if(0<a.getHours()||0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setDate(a.getDate()+1),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else if("week"===this.intervalType){if(0<
|
|
803
803
|
a.getDay()||0<a.getHours()||0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setDate(a.getDate()+(7-a.getDay())),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else if("month"===this.intervalType){if(1<a.getDate()||0<a.getHours()||0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())a.setMonth(a.getMonth()+1),a.setDate(1),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0)}else"year"===this.intervalType&&(0<a.getMonth()||1<a.getDate()||0<a.getHours()||
|
|
804
|
-
0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())&&(a.setFullYear(a.getFullYear()+1),a.setMonth(0),a.setDate(1),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0));return a};ga(M,ba);ga(T,ba);T.prototype.createUserOptions=function(a){if("undefined"!==typeof a||this.options._isPlaceholder){var
|
|
805
|
-
this.options="undefined"===typeof a?{}:a;this.parent.options[this.optionsName][
|
|
806
|
-
|
|
807
|
-
|
|
808
|
-
|
|
809
|
-
this.scaleBreaks.parent._position)if(
|
|
810
|
-
this.ctx.lineTo(b,k);else if("wavy"===this.type){t=b;n=
|
|
811
|
-
n),n+=2*
|
|
812
|
-
this.options="undefined"===typeof a?{}:a;this.parent.options.stripLines[
|
|
813
|
-
c;R(this.id);var
|
|
814
|
-
{x1:
|
|
815
|
-
a<=
|
|
816
|
-
|
|
817
|
-
else if("left"===this.parent._position)for(b=0;b<
|
|
818
|
-
a>=
|
|
819
|
-
|
|
820
|
-
(c=!0));this.chart.toolTip&&this.chart.toolTip._entries&&this.chart.toolTip.highlightObjects(this.chart.toolTip._entries);return c};Y.prototype.hide=function(){this.chart.resetOverlayedCanvas();this.chart.renderCrosshairs(this.parent);this._hidden=!0};Y.prototype.render=function(a,
|
|
804
|
+
0<a.getMinutes()||0<a.getSeconds()||0<a.getMilliseconds())&&(a.setFullYear(a.getFullYear()+1),a.setMonth(0),a.setDate(1),a.setHours(0),a.setMinutes(0),a.setSeconds(0),a.setMilliseconds(0));return a};ga(M,ba);ga(T,ba);T.prototype.createUserOptions=function(a){if("undefined"!==typeof a||this.options._isPlaceholder){var d=0;this.parent.options._isPlaceholder&&this.parent.createUserOptions();this.options._isPlaceholder||(Fa(this.parent[this.optionsName]),d=this.parent.options[this.optionsName].indexOf(this.options));
|
|
805
|
+
this.options="undefined"===typeof a?{}:a;this.parent.options[this.optionsName][d]=this.options}};T.prototype.render=function(a){if(0!==this.spacing||0!==this.options.lineThickness&&("undefined"!==typeof this.options.lineThickness||0!==this.parent.lineThickness)){var d=this.ctx,c=this.ctx.globalAlpha;this.ctx=a||this.ctx;this.ctx.save();this.ctx.beginPath();this.ctx.rect(this.chart.plotArea.x1,this.chart.plotArea.y1,this.chart.plotArea.width,this.chart.plotArea.height);this.ctx.clip();var b=this.scaleBreaks.parent.getPixelCoordinatesOnAxis(this.startValue),
|
|
806
|
+
e=this.scaleBreaks.parent.getPixelCoordinatesOnAxis(this.endValue);this.ctx.strokeStyle=this.lineColor;this.ctx.fillStyle=this.color;this.ctx.beginPath();this.ctx.globalAlpha=1;R(this.id);var l,f,k,t,n,p;a=Math.max(this.spacing,3);var q=Math.max(0,this.lineThickness);this.ctx.lineWidth=q;this.ctx.setLineDash&&this.ctx.setLineDash(X(this.lineDashType,q));if("bottom"===this.scaleBreaks.parent._position||"top"===this.scaleBreaks.parent._position)if(b=1===q%2?(b.x<<0)+0.5:b.x<<0,f=1===q%2?(e.x<<0)+0.5:
|
|
807
|
+
e.x<<0,"top"===this.scaleBreaks.parent._position?(e=this.chart.plotArea.y1,k=this.chart.plotArea.y2+q/2+0.5<<0):(e=this.chart.plotArea.y2,k=this.chart.plotArea.y1-q/2+0.5<<0,a*=-1),this.bounds={x1:b-q/2,y1:e,x2:f+q/2,y2:k},this.ctx.moveTo(b,e),"straight"===this.type||"top"===this.scaleBreaks.parent._position&&0>=a||"bottom"===this.scaleBreaks.parent._position&&0<=a)this.ctx.lineTo(b,k),this.ctx.lineTo(f,k),this.ctx.lineTo(f,e);else if("wavy"===this.type){t=b;n=e;l=0.5;p=(k-n)/a/3;for(var r=0;r<p;r++)this.ctx.bezierCurveTo(t+
|
|
808
|
+
l*a,n+a,t+l*a,n+2*a,t,n+3*a),n+=3*a,l*=-1;this.ctx.bezierCurveTo(t+l*a,n+a,t+l*a,n+2*a,t,n+3*a);t=f;l*=-1;this.ctx.lineTo(t,n);for(r=0;r<p;r++)this.ctx.bezierCurveTo(t+l*a,n-a,t+l*a,n-2*a,t,n-3*a),n-=3*a,l*=-1}else{if("zigzag"===this.type){l=-1;n=e+a;t=b+a;p=(k-n)/a/2;for(r=0;r<p;r++)this.ctx.lineTo(t,n),t+=2*l*a,n+=2*a,l*=-1;this.ctx.lineTo(t,n);t+=f-b;for(r=0;r<p+1;r++)this.ctx.lineTo(t,n),t+=2*l*a,n-=2*a,l*=-1;this.ctx.lineTo(t+l*a,n+a)}}else if("left"===this.scaleBreaks.parent._position||"right"===
|
|
809
|
+
this.scaleBreaks.parent._position)if(e=1===q%2?(e.y<<0)+0.5:e.y<<0,k=1===q%2?(b.y<<0)+0.5:b.y<<0,"left"===this.scaleBreaks.parent._position?(b=this.chart.plotArea.x1,f=this.chart.plotArea.x2+q/2+0.5<<0):(b=this.chart.plotArea.x2,f=this.chart.plotArea.x1-q/2+0.5<<0,a*=-1),this.bounds={x1:b,y1:e-q/2,x2:f,y2:k+q/2},this.ctx.moveTo(b,e),"straight"===this.type||"left"===this.scaleBreaks.parent._position&&0>=a||"right"===this.scaleBreaks.parent._position&&0<=a)this.ctx.lineTo(f,e),this.ctx.lineTo(f,k),
|
|
810
|
+
this.ctx.lineTo(b,k);else if("wavy"===this.type){t=b;n=e;l=0.5;p=(f-t)/a/3;for(r=0;r<p;r++)this.ctx.bezierCurveTo(t+a,n+l*a,t+2*a,n+l*a,t+3*a,n),t+=3*a,l*=-1;this.ctx.bezierCurveTo(t+a,n+l*a,t+2*a,n+l*a,t+3*a,n);n=k;l*=-1;this.ctx.lineTo(t,n);for(r=0;r<p;r++)this.ctx.bezierCurveTo(t-a,n+l*a,t-2*a,n+l*a,t-3*a,n),t-=3*a,l*=-1}else if("zigzag"===this.type){l=1;n=e-a;t=b+a;p=(f-t)/a/2;for(r=0;r<p;r++)this.ctx.lineTo(t,n),n+=2*l*a,t+=2*a,l*=-1;this.ctx.lineTo(t,n);n+=k-e;for(r=0;r<p+1;r++)this.ctx.lineTo(t,
|
|
811
|
+
n),n+=2*l*a,t-=2*a,l*=-1;this.ctx.lineTo(t+a,n+l*a)}0<q&&this.ctx.stroke();this.ctx.closePath();this.ctx.globalAlpha=this.fillOpacity;this.ctx.globalCompositeOperation="destination-over";this.ctx.fill();this.ctx.restore();this.ctx.globalAlpha=c;this.ctx=d}};ga(N,ba);N.prototype.createUserOptions=function(a){if("undefined"!==typeof a||this.options._isPlaceholder){var d=0;this.parent.options._isPlaceholder&&this.parent.createUserOptions();this.options._isPlaceholder||(Fa(this.parent.stripLines),d=this.parent.options.stripLines.indexOf(this.options));
|
|
812
|
+
this.options="undefined"===typeof a?{}:a;this.parent.options.stripLines[d]=this.options}};N.prototype.render=function(){this.ctx.save();var a=this.parent.getPixelCoordinatesOnAxis(this.value),d=Math.abs("pixel"===this._thicknessType?this.thickness:Math.abs(this.parent.convertValueToPixel(this.endValue)-this.parent.convertValueToPixel(this.startValue)));if(0<d){var c=null===this.opacity?1:this.opacity;this.ctx.strokeStyle=this.color;this.ctx.beginPath();var b=this.ctx.globalAlpha;this.ctx.globalAlpha=
|
|
813
|
+
c;R(this.id);var e,l,f,k;this.ctx.lineWidth=d;this.ctx.setLineDash&&this.ctx.setLineDash(X(this.lineDashType,d));if("bottom"===this.parent._position||"top"===this.parent._position)e=l=1===this.ctx.lineWidth%2?(a.x<<0)+0.5:a.x<<0,f=this.chart.plotArea.y1,k=this.chart.plotArea.y2,this.bounds={x1:e-d/2,y1:f,x2:l+d/2,y2:k};else if("left"===this.parent._position||"right"===this.parent._position)f=k=1===this.ctx.lineWidth%2?(a.y<<0)+0.5:a.y<<0,e=this.chart.plotArea.x1,l=this.chart.plotArea.x2,this.bounds=
|
|
814
|
+
{x1:e,y1:f-d/2,x2:l,y2:k+d/2};this.ctx.moveTo(e,f);this.ctx.lineTo(l,k);this.ctx.stroke();this.ctx.globalAlpha=b}this.ctx.restore()};ga(Y,ba);Y.prototype.showAt=function(a){if(!this.enabled)return!1;var d=this.chart,c=!1;d.resetOverlayedCanvas();d.clearedOverlayedCanvas=this.parent.type;this.chart.renderCrosshairs(this.parent);if("xySwapped"===d.plotInfo.axisPlacement)if("bottom"===this.parent._position)for(var b=0;b<d.axisY.length;b++)this.parent===d.axisY[b]&&(d.axisY[b]._crosshairValue=a>=d.axisY[b].viewportMinimum&&
|
|
815
|
+
a<=d.axisY[b].viewportMaximum?a:null);else if("top"===this.parent._position)for(b=0;b<d.axisY2.length;b++)this.parent===d.axisY2[b]&&(d.axisY2[b]._crosshairValue=a>=d.axisY2[b].viewportMinimum&&a<=d.axisY2[b].viewportMaximum?a:null);else if("left"===this.parent._position)for(b=0;b<d.axisX.length;b++)this.parent===d.axisX[b]&&(d.axisX[b]._crosshairValue=a>=d.axisX[b].viewportMinimum&&a<=d.axisX[b].viewportMaximum?a:null);else{if("right"===this.parent._position)for(b=0;b<d.axisX2.length;b++)this.parent===
|
|
816
|
+
d.axisX2[b]&&(d.axisX2[b]._crosshairValue=a>=d.axisX2[b].viewportMinimum&&a<=d.axisX2[b].viewportMaximum?a:null)}else if("bottom"===this.parent._position)for(b=0;b<d.axisX.length;b++)this.parent===d.axisX[b]&&(d.axisX[b]._crosshairValue=a>=d.axisX[b].viewportMinimum&&a<=d.axisX[b].viewportMaximum?a:null);else if("top"===this.parent._position)for(b=0;b<d.axisX2.length;b++)this.parent===d.axisX2[b]&&(d.axisX2[b]._crosshairValue=a>=d.axisX2[b].viewportMinimum&&a<=d.axisX2[b].viewportMaximum?a:null);
|
|
817
|
+
else if("left"===this.parent._position)for(b=0;b<d.axisY.length;b++)this.parent===d.axisY[b]&&(d.axisY[b]._crosshairValue=a>=d.axisY[b].viewportMinimum&&a<=d.axisY[b].viewportMaximum?a:null);else if("right"===this.parent._position)for(b=0;b<d.axisY2.length;b++)this.parent===d.axisY2[b]&&(d.axisY2[b]._crosshairValue=a>=d.axisY2[b].viewportMinimum&&a<=d.axisY2[b].viewportMaximum?a:null);for(b=0;b<d.axisX.length;b++)a=d.axisX[b]._crosshairValue,d.axisX[b].crosshair&&(d.axisX[b].crosshair.enabled&&!f(a)&&
|
|
818
|
+
a>=d.axisX[b].viewportMinimum&&a<=d.axisX[b].viewportMaximum)&&(d.axisX[b].showCrosshair(a),d.axisX[b].crosshair._updatedValue=a,this===d.axisX[b].crosshair&&(c=!0));for(b=0;b<d.axisX2.length;b++)a=d.axisX2[b]._crosshairValue,d.axisX2[b].crosshair&&(d.axisX2[b].crosshair.enabled&&!f(a)&&a>=d.axisX2[b].viewportMinimum&&a<=d.axisX2[b].viewportMaximum)&&(d.axisX2[b].showCrosshair(a),d.axisX2[b].crosshair._updatedValue=a,this===d.axisX2[b].crosshair&&(c=!0));for(b=0;b<d.axisY.length;b++)a=d.axisY[b]._crosshairValue,
|
|
819
|
+
d.axisY[b].crosshair&&(d.axisY[b].crosshair.enabled&&!f(a)&&a>=d.axisY[b].viewportMinimum&&a<=d.axisY[b].viewportMaximum)&&(d.axisY[b].showCrosshair(a),d.axisY[b].crosshair._updatedValue=a,this===d.axisY[b].crosshair&&(c=!0));for(b=0;b<d.axisY2.length;b++)a=d.axisY2[b]._crosshairValue,d.axisY2[b].crosshair&&(d.axisY2[b].crosshair.enabled&&!f(a)&&a>=d.axisY2[b].viewportMinimum&&a<=d.axisY2[b].viewportMaximum)&&(d.axisY2[b].showCrosshair(a),d.axisY2[b].crosshair._updatedValue=a,this===d.axisY2[b].crosshair&&
|
|
820
|
+
(c=!0));this.chart.toolTip&&this.chart.toolTip._entries&&this.chart.toolTip.highlightObjects(this.chart.toolTip._entries);return c};Y.prototype.hide=function(){this.chart.resetOverlayedCanvas();this.chart.renderCrosshairs(this.parent);this._hidden=!0};Y.prototype.render=function(a,d,c){var b,e,l,k,t=null,y=null,n=null,p="";this.valueFormatString||("dateTime"===this.parent.valueType?this.valueFormatString=this.parent.valueFormatString:(n=0,n="xySwapped"===this.chart.plotInfo.axisPlacement?50<this.parent.range?
|
|
821
821
|
0:500<this.chart.width&&25>this.parent.range?2:Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0):50<this.parent.range?0:Math.floor(Math.abs(Math.log(this.parent.range)/Math.LN10))+(5>this.parent.range?2:10>this.parent.range?1:0),this.valueFormatString=A.generateValueFormatString(this.parent.range,n)));var q=null===this.opacity?1:this.opacity,r=Math.abs("pixel"===this._thicknessType?this.thickness:this.parent.conversionParameters.pixelPerUnit*
|
|
822
822
|
this.thickness),h=this.chart.overlaidCanvasCtx,z=h.globalAlpha;h.beginPath();h.strokeStyle=this.color;h.lineWidth=r;h.save();this.labelFontSize=Math.abs(f(this.options.labelFontSize)?this.parent.labelFontSize:this.labelFontSize);this.labelMaxWidth=f(this.options.labelMaxWidth)?0.3*this.chart.width:this.labelMaxWidth;this.labelMaxHeight=f(this.options.labelWrap)||this.labelWrap?0.3*this.chart.height:2*this.labelFontSize;0<r&&h.setLineDash&&h.setLineDash(X(this.lineDashType,r));n=new ma(h,{x:0,y:0,
|
|
823
823
|
padding:{top:2,right:3,bottom:2,left:4},backgroundColor:this.labelBackgroundColor,borderColor:this.labelBorderColor,borderThickness:this.labelBorderThickness,cornerRadius:this.labelCornerRadius,maxWidth:this.labelMaxWidth,maxHeight:this.labelMaxHeight,angle:this.labelAngle,text:p,horizontalAlign:"left",fontSize:this.labelFontSize,fontFamily:this.labelFontFamily,fontWeight:this.labelFontWeight,fontColor:this.labelFontColor,fontStyle:this.labelFontStyle,textBaseline:"middle"});if(this.snapToDataPoint){var m=
|
|
824
|
-
0,p=[];if("xySwapped"===this.chart.plotInfo.axisPlacement){var s=null;if("bottom"===this.parent._position||"top"===this.parent._position)m=this.parent.dataSeries[0].axisX.convertPixelToValue({y:
|
|
824
|
+
0,p=[];if("xySwapped"===this.chart.plotInfo.axisPlacement){var s=null;if("bottom"===this.parent._position||"top"===this.parent._position)m=this.parent.dataSeries[0].axisX.convertPixelToValue({y:d});else if("left"===this.parent._position||"right"===this.parent._position)m=this.parent.convertPixelToValue({y:d});for(var u=0;u<this.parent.dataSeries.length;u++)(s=this.parent.dataSeries[u].getDataPointAtX(m,!0))&&0<=s.index&&(s.dataSeries=this.parent.dataSeries[u],null!==s.dataPoint.y&&s.dataSeries.visible&&
|
|
825
825
|
p.push(s));s=null;if(0===p.length)return;p.sort(function(a,b){return a.distance-b.distance});s=Math.abs(a-this.parent.convertValueToPixel(p[0].dataPoint.y));u=0;if("rangeBar"===p[0].dataSeries.type||"error"===p[0].dataSeries.type)for(var s=Math.abs(a-this.parent.convertValueToPixel(p[u].dataPoint.y[0])),v=0,m=0;m<p.length;m++)if(p[m].dataPoint.y&&p[m].dataPoint.y.length)for(var x=0;x<p[m].dataPoint.y.length;x++)v=Math.abs(a-this.parent.convertValueToPixel(p[m].dataPoint.y[x])),v<s&&(s=v,u=m);else v=
|
|
826
826
|
Math.abs(a-this.parent.convertValueToPixel(p[m].dataPoint.y)),v<s&&(s=v,u=m);else if("stackedBar"===p[0].dataSeries.type)for(var s=Math.abs(a-this.parent.convertValueToPixel(p[0].dataPoint.y)),C=v=0,m=u=0;m<p.length;m++)if(p[m].dataPoint.y&&p[m].dataPoint.y.length)for(x=0;x<p[m].dataPoint.y.length;x++)v=Math.abs(a-this.parent.convertValueToPixel(p[m].dataPoint.y[x])),v<s&&(s=v,u=m);else C+=p[m].dataPoint.y,v=Math.abs(a-this.parent.convertValueToPixel(C)),v<s&&(s=v,u=m);else if("stackedBar100"===p[0].dataSeries.type)for(var s=
|
|
827
827
|
Math.abs(a-this.parent.convertValueToPixel(p[0].dataPoint.y)),D=C=v=0,m=0;m<p.length;m++)if(p[m].dataPoint.y&&p[m].dataPoint.y.length)for(x=0;x<p[m].dataPoint.y.length;x++)v=Math.abs(a-this.parent.convertValueToPixel(p[m].dataPoint.y[x])),v<s&&(s=v,u=m);else C+=p[m].dataPoint.y,D=p[m].dataPoint.x.getTime?p[m].dataPoint.x.getTime():p[m].dataPoint.x,D=100*(C/p[m].dataSeries.plotUnit.dataPointYSums[D]),v=Math.abs(a-this.parent.convertValueToPixel(D)),v<s&&(s=v,u=m);else for(s=Math.abs(a-this.parent.convertValueToPixel(p[0].dataPoint.y)),
|
|
@@ -830,88 +830,88 @@ Math.abs(a-this.parent.convertValueToPixel(x.dataPoint.y[m])),v<s&&(s=v,b=m);t=1
|
|
|
830
830
|
x.dataSeries.type){s=Math.abs(a-this.parent.convertValueToPixel(p[0].dataPoint.y));C=v=0;for(m=u;0<=m;m--)C+=p[m].dataPoint.y,v=Math.abs(a-this.parent.convertValueToPixel(C)),v<s&&(s=v,b=m);t=1===h.lineWidth%2?(this.parent.convertValueToPixel(C)<<0)+0.5:this.parent.convertValueToPixel(C)<<0;this.value=C;n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:x.dataPoint.y}):f(this.options.label)?aa(f(c)?x.dataPoint.y:c,this.valueFormatString,
|
|
831
831
|
this.chart._cultureInfo):this.label}else if("stackedBar100"===x.dataSeries.type){s=Math.abs(a-this.parent.convertValueToPixel(p[0].dataPoint.y));D=C=v=0;for(m=u;0<=m;m--)C+=p[m].dataPoint.y,D=p[m].dataPoint.x.getTime?p[m].dataPoint.x.getTime():p[m].dataPoint.x,D=100*(C/p[m].dataSeries.plotUnit.dataPointYSums[D]),v=Math.abs(a-this.parent.convertValueToPixel(D)),v<s&&(s=v,b=m);t=1===h.lineWidth%2?(this.parent.convertValueToPixel(D)<<0)+0.5:this.parent.convertValueToPixel(D)<<0;this.value=D;n.text=this.labelFormatter?
|
|
832
832
|
this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:D}):f(this.options.label)?aa(f(c)?D:c,this.valueFormatString,this.chart._cultureInfo):this.label}else t=1===h.lineWidth%2?(this.parent.convertValueToPixel(x.dataPoint.y)<<0)+0.5:this.parent.convertValueToPixel(x.dataPoint.y)<<0,this.value=x.dataPoint.y,n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:x.dataPoint.y}):f(this.options.label)?
|
|
833
|
-
aa(f(c)?x.dataPoint.y:c,this.valueFormatString,this.chart._cultureInfo):this.label;b=
|
|
834
|
-
n.height:n.y<this.chart.bounds.y1&&(n.y=this.chart.bounds.y1)}else if("left"===this.parent._position||"right"===this.parent._position){l=k=y=1===h.lineWidth%2?(this.parent.convertValueToPixel(x.dataPoint.x)<<0)+0.5:this.parent.convertValueToPixel(x.dataPoint.x)<<0;b=this.chart.plotArea.x1;
|
|
835
|
-
break}if(D){if("axisX"===this.parent.type)for(m=this.parent.convertPixelToValue({y:
|
|
833
|
+
aa(f(c)?x.dataPoint.y:c,this.valueFormatString,this.chart._cultureInfo):this.label;b=e=t;l=this.chart.plotArea.y1;k=this.chart.plotArea.y2;this.bounds={x1:b-r/2,y1:l,x2:e+r/2,y2:k};n.x=b-n.measureText().width/2;n.x+n.width>this.chart.bounds.x2?n.x=this.chart.bounds.x2-n.width:n.x<this.chart.bounds.x1&&(n.x=this.chart.bounds.x1);n.y=this.parent.lineCoordinates.y2+("top"===this.parent._position?-n.height+this.parent.tickLength:n.fontSize/2)+2;n.y+n.height>this.chart.bounds.y2?n.y=this.chart.bounds.y2-
|
|
834
|
+
n.height:n.y<this.chart.bounds.y1&&(n.y=this.chart.bounds.y1)}else if("left"===this.parent._position||"right"===this.parent._position){l=k=y=1===h.lineWidth%2?(this.parent.convertValueToPixel(x.dataPoint.x)<<0)+0.5:this.parent.convertValueToPixel(x.dataPoint.x)<<0;b=this.chart.plotArea.x1;e=this.chart.plotArea.x2;this.bounds={x1:b,y1:l-r/2,x2:e,y2:k+r/2};D=!1;if(this.parent.labels)for(p=Math.ceil(this.parent.interval),m=0;m<this.parent.viewportMaximum;m+=p)if(this.parent.labels[m])D=!0;else{D=!1;
|
|
835
|
+
break}if(D){if("axisX"===this.parent.type)for(m=this.parent.convertPixelToValue({y:d}),s=null,u=0;u<this.parent.dataSeries.length;u++)(s=this.parent.dataSeries[u].getDataPointAtX(m,!0))&&0<=s.index&&(n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:x.dataPoint.x}):f(this.options.label)?s.dataPoint.label:this.label)}else n.text="dateTime"!==this.parent.valueType||this.parent.logarithmic?this.labelFormatter?this.labelFormatter({chart:this.chart,
|
|
836
836
|
axis:this.parent.options,crosshair:this.options,value:x.dataPoint.x}):f(this.options.label)?aa(x.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):this.label:this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:x.dataPoint.x}):f(this.options.label)?ea(x.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):this.label;this.value=x.dataPoint.x;n.y=k+n.fontSize/2-n.measureText().height/2+2;n.y-n.fontSize/2<this.chart.bounds.y1?
|
|
837
837
|
n.y=this.chart.bounds.y1+n.fontSize/2+2:n.y+n.measureText().height-n.fontSize/2>this.chart.bounds.y2&&(n.y=this.chart.bounds.y2-n.measureText().height+n.fontSize/2);"left"===this.parent._position?n.x=this.parent.lineCoordinates.x2-n.measureText().width:"right"===this.parent._position&&(n.x=this.parent.lineCoordinates.x2)}}else if("bottom"===this.parent._position||"top"===this.parent._position){m=this.parent.convertPixelToValue({x:a});for(u=0;u<this.parent.dataSeries.length;u++)(s=this.parent.dataSeries[u].getDataPointAtX(m,
|
|
838
|
-
!0))&&0<=s.index&&(s.dataSeries=this.parent.dataSeries[u],null!==s.dataPoint.y&&s.dataSeries.visible&&p.push(s));if(0===p.length)return;p.sort(function(a,b){return a.distance-b.distance});x=p[0];b=
|
|
838
|
+
!0))&&0<=s.index&&(s.dataSeries=this.parent.dataSeries[u],null!==s.dataPoint.y&&s.dataSeries.visible&&p.push(s));if(0===p.length)return;p.sort(function(a,b){return a.distance-b.distance});x=p[0];b=e=t=1===h.lineWidth%2?(this.parent.convertValueToPixel(x.dataPoint.x)<<0)+0.5:this.parent.convertValueToPixel(x.dataPoint.x)<<0;l=this.chart.plotArea.y1;k=this.chart.plotArea.y2;this.bounds={x1:b-r/2,y1:l,x2:e+r/2,y2:k};D=!1;if(this.parent.labels)for(p=Math.ceil(this.parent.interval),m=0;m<this.parent.viewportMaximum;m+=
|
|
839
839
|
p)if(this.parent.labels[m])D=!0;else{D=!1;break}if(D){if("axisX"===this.parent.type)for(m=this.parent.convertPixelToValue({x:a}),s=null,u=0;u<this.parent.dataSeries.length;u++)(s=this.parent.dataSeries[u].getDataPointAtX(m,!0))&&0<=s.index&&(n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:x.dataPoint.x}):f(this.options.label)?s.dataPoint.label:this.label)}else n.text="dateTime"!==this.parent.valueType||this.parent.logarithmic?
|
|
840
840
|
this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:x.dataPoint.x}):f(this.options.label)?aa(x.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):this.label:this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:x.dataPoint.x}):f(this.options.label)?ea(x.dataPoint.x,this.valueFormatString,this.chart._cultureInfo):this.label;this.value=x.dataPoint.x;n.x=b-n.measureText().width/
|
|
841
841
|
2;n.x+n.width>this.chart.bounds.x2&&(n.x=this.chart.bounds.x2-n.width);n.x<this.chart.bounds.x1&&(n.x=this.chart.bounds.x1);"bottom"===this.parent._position?n.y=this.parent.lineCoordinates.y2+n.fontSize/2+2:"top"===this.parent._position&&(n.y=this.parent.lineCoordinates.y1-n.height+n.fontSize/2+2)}else if("left"===this.parent._position||"right"===this.parent._position){!f(this.parent.dataSeries)&&0<this.parent.dataSeries.length&&(m=this.parent.dataSeries[0].axisX.convertPixelToValue({x:a}));for(u=
|
|
842
842
|
0;u<this.parent.dataSeries.length;u++)(s=this.parent.dataSeries[u].getDataPointAtX(m,!0))&&0<=s.index&&(s.dataSeries=this.parent.dataSeries[u],null!==s.dataPoint.y&&s.dataSeries.visible&&p.push(s));if(0===p.length)return;p.sort(function(a,b){return a.distance-b.distance});u=0;if("rangeColumn"===p[0].dataSeries.type||"rangeArea"===p[0].dataSeries.type||"error"===p[0].dataSeries.type||"rangeSplineArea"===p[0].dataSeries.type||"candlestick"===p[0].dataSeries.type||"ohlc"===p[0].dataSeries.type||"boxAndWhisker"===
|
|
843
|
-
p[0].dataSeries.type)for(s=Math.abs(
|
|
844
|
-
m=C=v=0;m<p.length;m++)if(p[m].dataPoint.y&&p[m].dataPoint.y.length)for(x=0;x<p[m].dataPoint.y.length;x++)v=Math.abs(
|
|
845
|
-
0;x<p[m].dataPoint.y.length;x++)v=Math.abs(
|
|
846
|
-
Math.abs(
|
|
847
|
-
Math.abs(
|
|
848
|
-
x.dataSeries.type||"stackedArea"===x.dataSeries.type){s=Math.abs(
|
|
849
|
-
c,this.valueFormatString,this.chart._cultureInfo):this.label;this.value=C}else if("stackedColumn100"===x.dataSeries.type||"stackedArea100"===x.dataSeries.type){s=Math.abs(
|
|
843
|
+
p[0].dataSeries.type)for(s=Math.abs(d-this.parent.convertValueToPixel(p[0].dataPoint.y[0])),m=v=0;m<p.length;m++)if(p[m].dataPoint.y&&p[m].dataPoint.y.length)for(x=0;x<p[m].dataPoint.y.length;x++)v=Math.abs(d-this.parent.convertValueToPixel(p[m].dataPoint.y[x])),v<s&&(s=v,u=m);else v=Math.abs(d-this.parent.convertValueToPixel(p[m].dataPoint.y)),v<s&&(s=v,u=m);else if("stackedColumn"===p[0].dataSeries.type||"stackedArea"===p[0].dataSeries.type)for(s=Math.abs(d-this.parent.convertValueToPixel(p[0].dataPoint.y)),
|
|
844
|
+
m=C=v=0;m<p.length;m++)if(p[m].dataPoint.y&&p[m].dataPoint.y.length)for(x=0;x<p[m].dataPoint.y.length;x++)v=Math.abs(d-this.parent.convertValueToPixel(p[m].dataPoint.y[x])),v<s&&(s=v,u=m);else C+=p[m].dataPoint.y,v=Math.abs(d-this.parent.convertValueToPixel(C)),v<s&&(s=v,u=m);else if("stackedColumn100"===p[0].dataSeries.type||"stackedArea100"===p[0].dataSeries.type)for(s=Math.abs(d-this.parent.convertValueToPixel(p[0].dataPoint.y)),m=D=C=v=0;m<p.length;m++)if(p[m].dataPoint.y&&p[m].dataPoint.y.length)for(x=
|
|
845
|
+
0;x<p[m].dataPoint.y.length;x++)v=Math.abs(d-this.parent.convertValueToPixel(p[m].dataPoint.y[x])),v<s&&(s=v,u=m);else C+=p[m].dataPoint.y,D=p[m].dataPoint.x.getTime?p[m].dataPoint.x.getTime():p[m].dataPoint.x,D=100*(C/p[m].dataSeries.plotUnit.dataPointYSums[D]),v=Math.abs(d-this.parent.convertValueToPixel(D)),v<s&&(s=v,u=m);else for(s=Math.abs(d-this.parent.convertValueToPixel(p[0].dataPoint.y)),m=v=0;m<p.length;m++)if(p[m].dataPoint.y&&p[m].dataPoint.y.length)for(x=0;x<p[m].dataPoint.y.length;x++)v=
|
|
846
|
+
Math.abs(d-this.parent.convertValueToPixel(p[m].dataPoint.y[x])),v<s&&(s=v,u=m);else v=Math.abs(d-this.parent.convertValueToPixel(p[m].dataPoint.y)),v<s&&(s=v,u=m);x=p[u];b=0;if("rangeColumn"===x.dataSeries.type||"rangeArea"===x.dataSeries.type||"error"===x.dataSeries.type||"rangeSplineArea"===x.dataSeries.type||"candlestick"===x.dataSeries.type||"ohlc"===x.dataSeries.type||"boxAndWhisker"===x.dataSeries.type){s=Math.abs(d-this.parent.convertValueToPixel(x.dataPoint.y[0]));for(m=v=0;m<x.dataPoint.y.length;m++)v=
|
|
847
|
+
Math.abs(d-this.parent.convertValueToPixel(x.dataPoint.y[m])),v<s&&(s=v,b=m);y=1===h.lineWidth%2?(this.parent.convertValueToPixel(x.dataPoint.y[b])<<0)+0.5:this.parent.convertValueToPixel(x.dataPoint.y[b])<<0;n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:x.dataPoint.y[b]}):f(this.options.label)?aa(f(c)?x.dataPoint.y[b]:c,this.valueFormatString,this.chart._cultureInfo):this.label;this.value=x.dataPoint.y[b]}else if("stackedColumn"===
|
|
848
|
+
x.dataSeries.type||"stackedArea"===x.dataSeries.type){s=Math.abs(d-this.parent.convertValueToPixel(p[0].dataPoint.y));C=v=0;for(m=u;0<=m;m--)C+=p[m].dataPoint.y,v=Math.abs(d-this.parent.convertValueToPixel(C)),v<s&&(s=v,b=m);y=1===h.lineWidth%2?(this.parent.convertValueToPixel(C)<<0)+0.5:this.parent.convertValueToPixel(C)<<0;n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:x.dataPoint.y}):f(this.options.label)?aa(f(c)?x.dataPoint.y:
|
|
849
|
+
c,this.valueFormatString,this.chart._cultureInfo):this.label;this.value=C}else if("stackedColumn100"===x.dataSeries.type||"stackedArea100"===x.dataSeries.type){s=Math.abs(d-this.parent.convertValueToPixel(p[0].dataPoint.y));C=v=0;for(m=u;0<=m;m--)C+=p[m].dataPoint.y,D=p[m].dataPoint.x.getTime?p[m].dataPoint.x.getTime():p[m].dataPoint.x,D=100*(C/p[m].dataSeries.plotUnit.dataPointYSums[D]),v=Math.abs(d-this.parent.convertValueToPixel(D)),v<s&&(s=v,b=m);y=1===h.lineWidth%2?(this.parent.convertValueToPixel(D)<<
|
|
850
850
|
0)+0.5:this.parent.convertValueToPixel(D)<<0;n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:D}):f(this.options.label)?aa(f(c)?D:c,this.valueFormatString,this.chart._cultureInfo):this.label;this.value=D}else"waterfall"===x.dataSeries.type?(y=1===h.lineWidth%2?(this.parent.convertValueToPixel(x.dataSeries.dataPointEOs[x.index].cumulativeSum)<<0)+0.5:this.parent.convertValueToPixel(x.dataSeries.dataPointEOs[x.index].cumulativeSum)<<
|
|
851
|
-
0,n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:x.dataSeries.dataPointEOs[x.index].cumulativeSum}):f(this.options.label)?aa(f(c)?x.dataSeries.dataPointEOs[x.index].cumulativeSum:c,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=x.dataSeries.dataPointEOs[x.index].cumulativeSum):(y=1===h.lineWidth%2?(f(a)?
|
|
852
|
-
0,n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:f(c)?x.dataPoint.y:c}):f(this.options.label)?aa(f(c)?x.dataPoint.y:c,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=x.dataPoint.y);l=k=y;b=this.chart.plotArea.x1;
|
|
851
|
+
0,n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:x.dataSeries.dataPointEOs[x.index].cumulativeSum}):f(this.options.label)?aa(f(c)?x.dataSeries.dataPointEOs[x.index].cumulativeSum:c,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=x.dataSeries.dataPointEOs[x.index].cumulativeSum):(y=1===h.lineWidth%2?(f(a)?d:this.parent.convertValueToPixel(x.dataPoint.y)<<0)+0.5:f(a)?d:this.parent.convertValueToPixel(x.dataPoint.y)<<
|
|
852
|
+
0,n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:f(c)?x.dataPoint.y:c}):f(this.options.label)?aa(f(c)?x.dataPoint.y:c,this.valueFormatString,this.chart._cultureInfo):this.label,this.value=x.dataPoint.y);l=k=y;b=this.chart.plotArea.x1;e=this.chart.plotArea.x2;this.bounds={x1:b,y1:l-r/2,x2:e,y2:k+r/2};n.y=k+n.fontSize/2-n.measureText().height/2+2;n.y-n.fontSize/2<this.chart.bounds.y1?n.y=this.chart.bounds.y1+n.fontSize/2+2:n.y+
|
|
853
853
|
n.measureText().height-n.fontSize/2>this.chart.bounds.y2&&(n.y=this.chart.bounds.y2-n.measureText().height+n.fontSize/2);"left"===this.parent._position?n.x=this.parent.lineCoordinates.x2-n.measureText().width:"right"===this.parent._position&&(n.x=this.parent.lineCoordinates.x2)}p=null;h.globalAlpha=q;if("bottom"===this.parent._position||"top"===this.parent._position)"top"===this.parent._position&&n.y-n.fontSize/2<this.chart.bounds.y1&&(n.y=this.chart.bounds.y1+n.fontSize/2),"bottom"===this.parent._position&&
|
|
854
|
-
this.parent.lineCoordinates.y2-n.fontSize/2+n.measureText().height>this.chart.bounds.y2&&(n.y=this.chart.bounds.y2-n.height+n.fontSize/2+2),this.value>=Math.min(this.parent.viewportMinimum,this.parent.viewportMaximum)&&this.value<=Math.max(this.parent.viewportMinimum,this.parent.viewportMaximum)&&0<r&&(h.moveTo(b,l),h.lineTo(
|
|
855
|
-
"right"===this.parent._position&&n.x+n.measureText().width>this.chart.bounds.x2&&(n.x=this.chart.bounds.x2-n.measureText().width),this.value>=Math.min(this.parent.viewportMinimum,this.parent.viewportMaximum)&&this.value<=Math.max(this.parent.viewportMinimum,this.parent.viewportMaximum)&&0<r&&(h.moveTo(b,l),h.lineTo(
|
|
856
|
-
this.bounds={x1:b-r/2,y1:l,x2:
|
|
857
|
-
!1;break}if(D){if("axisX"===this.parent.type)for(m=this.parent.convertPixelToValue({y:
|
|
858
|
-
this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:f(c)?this.parent.convertPixelToValue(
|
|
859
|
-
this.chart._cultureInfo):this.label;n.y=
|
|
854
|
+
this.parent.lineCoordinates.y2-n.fontSize/2+n.measureText().height>this.chart.bounds.y2&&(n.y=this.chart.bounds.y2-n.height+n.fontSize/2+2),this.value>=Math.min(this.parent.viewportMinimum,this.parent.viewportMaximum)&&this.value<=Math.max(this.parent.viewportMinimum,this.parent.viewportMaximum)&&0<r&&(h.moveTo(b,l),h.lineTo(e,k),h.stroke(),this._hidden=!1);if("left"===this.parent._position||"right"===this.parent._position)"left"===this.parent._position&&n.x<this.chart.bounds.x1&&(n.x=this.chart.bounds.x1),
|
|
855
|
+
"right"===this.parent._position&&n.x+n.measureText().width>this.chart.bounds.x2&&(n.x=this.chart.bounds.x2-n.measureText().width),this.value>=Math.min(this.parent.viewportMinimum,this.parent.viewportMaximum)&&this.value<=Math.max(this.parent.viewportMinimum,this.parent.viewportMaximum)&&0<r&&(h.moveTo(b,l),h.lineTo(e,k),h.stroke(),this._hidden=!1)}else{if("bottom"===this.parent._position||"top"===this.parent._position)b=e=t=1===h.lineWidth%2?(a<<0)+0.5:a<<0,l=this.chart.plotArea.y1,k=this.chart.plotArea.y2,
|
|
856
|
+
this.bounds={x1:b-r/2,y1:l,x2:e+r/2,y2:k};else if("left"===this.parent._position||"right"===this.parent._position)l=k=y=1===h.lineWidth%2?(d<<0)+0.5:d<<0,b=this.chart.plotArea.x1,e=this.chart.plotArea.x2,this.bounds={x1:b,y1:l-r/2,x2:e,y2:k+r/2};if("xySwapped"===this.chart.plotInfo.axisPlacement)if("left"===this.parent._position||"right"===this.parent._position){D=!1;if(this.parent.labels)for(p=Math.ceil(this.parent.interval),m=0;m<this.parent.viewportMaximum;m+=p)if(this.parent.labels[m])D=!0;else{D=
|
|
857
|
+
!1;break}if(D){if("axisX"===this.parent.type)for(m=this.parent.convertPixelToValue({y:d}),s=null,u=0;u<this.parent.dataSeries.length;u++)(s=this.parent.dataSeries[u].getDataPointAtX(m,!0))&&0<=s.index&&(n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:f(c)?this.parent.convertPixelToValue(a):c}):f(this.options.label)?s.dataPoint.label:this.label)}else n.text="dateTime"!==this.parent.valueType||this.parent.logarithmic?this.labelFormatter?
|
|
858
|
+
this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:f(c)?this.parent.convertPixelToValue(d):c}):f(this.options.label)?aa(f(c)?this.parent.convertPixelToValue(d):c,this.valueFormatString,this.chart._cultureInfo):this.label:this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:f(c)?this.parent.convertPixelToValue(d):c}):f(this.options.label)?ea(f(c)?this.parent.convertPixelToValue(d):c,this.valueFormatString,
|
|
859
|
+
this.chart._cultureInfo):this.label;n.y=d+n.fontSize/2-n.measureText().height/2+2;n.y-n.fontSize/2<this.chart.bounds.y1?n.y=this.chart.bounds.y1+n.fontSize/2+2:n.y+n.measureText().height-n.fontSize/2>this.chart.bounds.y2&&(n.y=this.chart.bounds.y2-n.measureText().height+n.fontSize/2);"left"===this.parent._position?n.x=this.parent.lineCoordinates.x1-n.measureText().width:"right"===this.parent._position&&(n.x=this.parent.lineCoordinates.x2)}else{if("bottom"===this.parent._position||"top"===this.parent._position)n.text=
|
|
860
860
|
this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:f(c)?this.parent.convertPixelToValue(a):c}):f(this.options.label)?aa(f(c)?this.parent.convertPixelToValue(a):c,this.valueFormatString,this.chart._cultureInfo):this.label,n.x=b-n.measureText().width/2,n.x+n.width>this.chart.bounds.x2&&(n.x=this.chart.bounds.x2-n.width),n.x<this.chart.bounds.x1&&(n.x=this.chart.bounds.x1),"bottom"===this.parent._position?n.y=this.parent.lineCoordinates.y2+
|
|
861
861
|
n.fontSize/2+2:"top"===this.parent._position&&(n.y=this.parent.lineCoordinates.y1-n.height+n.fontSize/2+2)}else if("bottom"===this.parent._position||"top"===this.parent._position){D=!1;p="";if(this.parent.labels)for(p=Math.ceil(this.parent.interval),m=0;m<this.parent.viewportMaximum;m+=p)if(this.parent.labels[m])D=!0;else{D=!1;break}if(D){if("axisX"===this.parent.type)for(m=this.parent.convertPixelToValue({x:a}),s=null,u=0;u<this.parent.dataSeries.length;u++)(s=this.parent.dataSeries[u].getDataPointAtX(m,
|
|
862
862
|
!0))&&0<=s.index&&(n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:f(c)?this.parent.convertPixelToValue(a):c}):f(this.options.label)?f(c)?s.dataPoint.label:c:this.label)}else n.text="dateTime"!==this.parent.valueType||this.parent.logarithmic?this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:f(c)?0<this.parent.dataSeries.length?this.parent.convertPixelToValue(a):"":c}):
|
|
863
863
|
f(this.options.label)?aa(f(c)?this.parent.convertPixelToValue(a):c,this.valueFormatString,this.chart._cultureInfo):this.label:this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:f(c)?this.parent.convertPixelToValue(a):c}):f(this.options.label)?ea(f(c)?this.parent.convertPixelToValue(a):c,this.valueFormatString,this.chart._cultureInfo):this.label;n.x=b-n.measureText().width/2;n.x+n.width>this.chart.bounds.x2&&(n.x=this.chart.bounds.x2-n.width);
|
|
864
|
-
n.x<this.chart.bounds.x1&&(n.x=this.chart.bounds.x1);"bottom"===this.parent._position?n.y=this.parent.lineCoordinates.y2+n.fontSize/2+2:"top"===this.parent._position&&(n.y=this.parent.lineCoordinates.y1-n.height+n.fontSize/2+2)}else if("left"===this.parent._position||"right"===this.parent._position)n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:f(c)?this.parent.convertPixelToValue(
|
|
865
|
-
c,this.valueFormatString,this.chart._cultureInfo):this.label,n.y=
|
|
866
|
-
this.chart.bounds.x1?n.x=this.chart.bounds.x1:"right"===this.parent._position&&n.x+n.measureText().width>this.chart.bounds.x2?n.x=this.chart.bounds.x2-n.measureText().width:"top"===this.parent._position&&n.y-n.fontSize/2<this.chart.bounds.y1?n.y=this.chart.bounds.y1+n.fontSize/2:"bottom"===this.parent._position&&this.parent.lineCoordinates.y2-n.fontSize/2+n.measureText().height>this.chart.bounds.y2&&(n.y=this.chart.bounds.y2-n.height+n.fontSize/2+2);h.globalAlpha=q;0<r&&(h.moveTo(b,l),h.lineTo(
|
|
867
|
-
k),h.stroke(),this._hidden=!1);this.value="bottom"===this.parent._position||"top"===this.parent._position?this.parent.convertPixelToValue(a):this.parent.convertPixelToValue(
|
|
864
|
+
n.x<this.chart.bounds.x1&&(n.x=this.chart.bounds.x1);"bottom"===this.parent._position?n.y=this.parent.lineCoordinates.y2+n.fontSize/2+2:"top"===this.parent._position&&(n.y=this.parent.lineCoordinates.y1-n.height+n.fontSize/2+2)}else if("left"===this.parent._position||"right"===this.parent._position)n.text=this.labelFormatter?this.labelFormatter({chart:this.chart,axis:this.parent.options,crosshair:this.options,value:f(c)?this.parent.convertPixelToValue(d):c}):f(this.options.label)?aa(f(c)?this.parent.convertPixelToValue(d):
|
|
865
|
+
c,this.valueFormatString,this.chart._cultureInfo):this.label,n.y=d+n.fontSize/2-n.measureText().height/2+2,n.y-n.fontSize/2<this.chart.bounds.y1?n.y=this.chart.bounds.y1+n.fontSize/2+2:n.y+n.measureText().height-n.fontSize/2>this.chart.bounds.y2&&(n.y=this.chart.bounds.y2-n.measureText().height+n.fontSize/2),"left"===this.parent._position?n.x=this.parent.lineCoordinates.x2-n.measureText().width:"right"===this.parent._position&&(n.x=this.parent.lineCoordinates.x2);"left"===this.parent._position&&n.x<
|
|
866
|
+
this.chart.bounds.x1?n.x=this.chart.bounds.x1:"right"===this.parent._position&&n.x+n.measureText().width>this.chart.bounds.x2?n.x=this.chart.bounds.x2-n.measureText().width:"top"===this.parent._position&&n.y-n.fontSize/2<this.chart.bounds.y1?n.y=this.chart.bounds.y1+n.fontSize/2:"bottom"===this.parent._position&&this.parent.lineCoordinates.y2-n.fontSize/2+n.measureText().height>this.chart.bounds.y2&&(n.y=this.chart.bounds.y2-n.height+n.fontSize/2+2);h.globalAlpha=q;0<r&&(h.moveTo(b,l),h.lineTo(e,
|
|
867
|
+
k),h.stroke(),this._hidden=!1);this.value="bottom"===this.parent._position||"top"===this.parent._position?this.parent.convertPixelToValue(a):this.parent.convertPixelToValue(d)}if("bottom"===this.parent._position||"top"===this.parent._position)this._updatedValue=this.parent.convertPixelToValue(t);if("left"===this.parent._position||"right"===this.parent._position)this._updatedValue=this.parent.convertPixelToValue(y);this._textBlock=n;this._label=c;f(c)||this.renderLabel();h.restore();h.globalAlpha=
|
|
868
868
|
z};Y.prototype.renderLabel=function(){this.value>=Math.min(this.parent.viewportMinimum,this.parent.viewportMaximum)&&this.value<=Math.max(this.parent.viewportMinimum,this.parent.viewportMaximum)&&(f(this._textBlock)||(f(this._textBlock.text)||!("number"===typeof this._textBlock.text.valueOf()||0<this._textBlock.text.length)||this._hidden)||this._textBlock.render(!0),f(this._label)&&this.dispatchEvent("updated",{chart:this.chart,crosshair:this.options,axis:this.parent,value:this.value},this.parent))};
|
|
869
869
|
ga(qa,ba);qa.prototype._initialize=function(){this.updateOption("updated");this.updateOption("hidden");if(this.enabled){this.container=document.createElement("div");this.container.setAttribute("class","canvasjs-chart-tooltip");this.container.style.position="absolute";this.container.style.height="auto";this.container.style.boxShadow="1px 1px 2px 2px rgba(0,0,0,0.1)";this.container.style.zIndex="1000";this.container.style.pointerEvents="none";this.container.style.display="none";var a=document.createElement("div");
|
|
870
870
|
a.style.width="auto";a.style.height="auto";a.style.minWidth="50px";a.style.lineHeight="normal";a.style.margin="0px 0px 0px 0px";a.style.padding="5px";a.style.fontFamily="Calibri, Arial, Georgia, serif";a.style.fontWeight="normal";a.style.fontStyle=s?"italic":"normal";a.style.fontSize="14px";a.style.color="#000000";a.style.textShadow="1px 1px 1px rgba(0, 0, 0, 0.1)";a.style.textAlign="left";a.style.border="2px solid gray";a.style.background=s?"rgba(255,255,255,.9)":"rgb(255,255,255)";a.style.textIndent=
|
|
871
871
|
"0px";a.style.whiteSpace="nowrap";a.style.borderRadius="5px";a.style.MozUserSelect="none";a.style.WebkitUserSelect="none";a.style.msUserSelect="none";a.style.userSelect="none";s||(a.style.filter="alpha(opacity = 90)",a.style.filter="progid:DXImageTransform.Microsoft.Shadow(Strength=3, Direction=135, Color='#666666')");a.innerText="Sample Tooltip";this.container.appendChild(a);this.contentDiv=this.container.firstChild;this.container.style.borderRadius=this.contentDiv.style.borderRadius;this.chart._canvasJSContainer.appendChild(this.container)}};
|
|
872
|
-
qa.prototype.mouseMoveHandler=function(a,
|
|
873
|
-
typeof a||"undefined"===typeof
|
|
874
|
-
this.chart.axisX[m].dataSeries[b].getDataPointAtX(k,c))&&0<=n.index&&(n.dataSeries=this.chart.axisX[m].dataSeries[b],null!==n.dataPoint.y&&n.dataSeries.visible&&t.push(n));n=null}if(this.chart.axisX2)for(m=0;m<this.chart.axisX2.length;m++){k="xySwapped"===this.chart.plotInfo.axisPlacement?this.chart.axisX2[m].convertPixelToValue({y:
|
|
875
|
-
c))&&0<=n.index&&(n.dataSeries=this.chart.axisX2[m].dataSeries[b],null!==n.dataPoint.y&&n.dataSeries.visible&&t.push(n));n=null}if(0===t.length)return;t.sort(function(a,b){return a.distance-b.distance});c=t[0];for(b=0;b<t.length;b++)t[b].dataPoint.x.valueOf()===c.dataPoint.x.valueOf()&&l.push(t[b]);t=null}else{if(b=this.chart.getDataPointAtXY(a,
|
|
876
|
-
"undefined"!==typeof this.chart._eventManager.objectMap[b]){b=this.chart._eventManager.objectMap[b];if("legendItem"===b.objectType)return;this.currentSeriesIndex=b.dataSeriesIndex;this.currentDataPointIndex=0<=b.dataPointIndex?b.dataPointIndex:-1}else this.currentDataPointIndex=-1;else this.currentDataPointIndex=-1;if(0<=this.currentSeriesIndex){
|
|
877
|
-
n.index=this.currentDataPointIndex,n.distance=Math.abs(b.x-k),"waterfall"===
|
|
878
|
-
|
|
879
|
-
|
|
880
|
-
c--:n.cumulativeSumYStartValue>n.dataSeries.axisY.viewportMaximum&&c++,n.cumulativeSum<n.dataSeries.axisY.viewportMinimum?c--:n.cumulativeSum>n.dataSeries.axisY.viewportMaximum&&c++,2>c&&-2<c&&l.push(n)):(0<=n.dataSeries.type.indexOf("100")||"stackedColumn"===
|
|
872
|
+
qa.prototype.mouseMoveHandler=function(a,d){this._lastUpdated&&4>(new Date).getTime()-this._lastUpdated||(this._lastUpdated=(new Date).getTime(),this.chart.resetOverlayedCanvas(),this._updateToolTip(a,d),!this._updatedEventParameters||(isNaN(this._prevX)||isNaN(this._prevY))||this.dispatchEvent("updated",this._updatedEventParameters,this))};qa.prototype._updateToolTip=function(a,d,c){c="undefined"===typeof c?!0:c;this.container||this._initialize();this.enabled||this.hide();if(!this.chart.disableToolTip){if("undefined"===
|
|
873
|
+
typeof a||"undefined"===typeof d){if(isNaN(this._prevX)||isNaN(this._prevY))return;a=this._prevX;d=this._prevY}else this._prevX=a,this._prevY=d;var b=null,e=null,l=[],k=0;if(this.shared&&this.enabled&&"none"!==this.chart.plotInfo.axisPlacement){var t=[];if(this.chart.axisX)for(var m=0;m<this.chart.axisX.length;m++){for(var k="xySwapped"===this.chart.plotInfo.axisPlacement?this.chart.axisX[m].convertPixelToValue({y:d}):this.chart.axisX[m].convertPixelToValue({x:a}),n=null,b=0;b<this.chart.axisX[m].dataSeries.length;b++)(n=
|
|
874
|
+
this.chart.axisX[m].dataSeries[b].getDataPointAtX(k,c))&&0<=n.index&&(n.dataSeries=this.chart.axisX[m].dataSeries[b],null!==n.dataPoint.y&&n.dataSeries.visible&&t.push(n));n=null}if(this.chart.axisX2)for(m=0;m<this.chart.axisX2.length;m++){k="xySwapped"===this.chart.plotInfo.axisPlacement?this.chart.axisX2[m].convertPixelToValue({y:d}):this.chart.axisX2[m].convertPixelToValue({x:a});n=null;for(b=0;b<this.chart.axisX2[m].dataSeries.length;b++)(n=this.chart.axisX2[m].dataSeries[b].getDataPointAtX(k,
|
|
875
|
+
c))&&0<=n.index&&(n.dataSeries=this.chart.axisX2[m].dataSeries[b],null!==n.dataPoint.y&&n.dataSeries.visible&&t.push(n));n=null}if(0===t.length)return;t.sort(function(a,b){return a.distance-b.distance});c=t[0];for(b=0;b<t.length;b++)t[b].dataPoint.x.valueOf()===c.dataPoint.x.valueOf()&&l.push(t[b]);t=null}else{if(b=this.chart.getDataPointAtXY(a,d,c))this.currentDataPointIndex=b.dataPointIndex,this.currentSeriesIndex=b.dataSeries.index;else if(s)if(b=kb(a,d,this.chart._eventManager.ghostCtx),0<b&&
|
|
876
|
+
"undefined"!==typeof this.chart._eventManager.objectMap[b]){b=this.chart._eventManager.objectMap[b];if("legendItem"===b.objectType)return;this.currentSeriesIndex=b.dataSeriesIndex;this.currentDataPointIndex=0<=b.dataPointIndex?b.dataPointIndex:-1}else this.currentDataPointIndex=-1;else this.currentDataPointIndex=-1;if(0<=this.currentSeriesIndex){e=this.chart.data[this.currentSeriesIndex];n={};if(0<=this.currentDataPointIndex)b=e.dataPoints[this.currentDataPointIndex],n.dataSeries=e,n.dataPoint=b,
|
|
877
|
+
n.index=this.currentDataPointIndex,n.distance=Math.abs(b.x-k),"waterfall"===e.type&&(n.cumulativeSumYStartValue=e.dataPointEOs[this.currentDataPointIndex].cumulativeSumYStartValue,n.cumulativeSum=e.dataPointEOs[this.currentDataPointIndex].cumulativeSum);else{if(!this.enabled||"line"!==e.type&&"stepLine"!==e.type&&"spline"!==e.type&&"area"!==e.type&&"stepArea"!==e.type&&"splineArea"!==e.type&&"stackedArea"!==e.type&&"stackedArea100"!==e.type&&"rangeArea"!==e.type&&"rangeSplineArea"!==e.type&&"candlestick"!==
|
|
878
|
+
e.type&&"ohlc"!==e.type&&"boxAndWhisker"!==e.type)return;k=e.axisX.convertPixelToValue({x:a});n=e.getDataPointAtX(k,c);f(n)||(n.dataSeries=e,this.currentDataPointIndex=n.index,b=n.dataPoint)}if(!f(n)&&!f(n.dataPoint)&&!f(n.dataPoint.y))if(n.dataSeries.axisY)if(0<n.dataPoint.y.length){for(b=c=0;b<n.dataPoint.y.length;b++)n.dataPoint.y[b]<n.dataSeries.axisY.viewportMinimum?c--:n.dataPoint.y[b]>n.dataSeries.axisY.viewportMaximum&&c++;c<n.dataPoint.y.length&&c>-n.dataPoint.y.length&&l.push(n)}else"column"===
|
|
879
|
+
e.type||"bar"===e.type?0>n.dataPoint.y?0>n.dataSeries.axisY.viewportMinimum&&n.dataSeries.axisY.viewportMaximum>=n.dataPoint.y&&l.push(n):n.dataSeries.axisY.viewportMinimum<=n.dataPoint.y&&0<=n.dataSeries.axisY.viewportMaximum&&l.push(n):"bubble"===e.type?(c=this.chart._eventManager.objectMap[e.dataPointIds[n.index]].size/2,n.dataPoint.y>=n.dataSeries.axisY.viewportMinimum-c&&n.dataPoint.y<=n.dataSeries.axisY.viewportMaximum+c&&l.push(n)):"waterfall"===e.type?(c=0,n.cumulativeSumYStartValue<n.dataSeries.axisY.viewportMinimum?
|
|
880
|
+
c--:n.cumulativeSumYStartValue>n.dataSeries.axisY.viewportMaximum&&c++,n.cumulativeSum<n.dataSeries.axisY.viewportMinimum?c--:n.cumulativeSum>n.dataSeries.axisY.viewportMaximum&&c++,2>c&&-2<c&&l.push(n)):(0<=n.dataSeries.type.indexOf("100")||"stackedColumn"===e.type||"stackedBar"===e.type||n.dataPoint.y>=n.dataSeries.axisY.viewportMinimum&&n.dataPoint.y<=n.dataSeries.axisY.viewportMaximum)&&l.push(n);else l.push(n)}}if(0<l.length){if(this.highlightObjects(l),this.enabled){c="";c=this.getToolTipInnerHTML({entries:l});
|
|
881
881
|
if(null!==c){this.contentDiv.innerHTML=c;if(this.isToolTipDefinedInData&&f(this.options.content)&&f(this.options.contentFormatter))for(k=this.contentDiv.getElementsByTagName("span"),b=0;b<k.length;b++)k[b]&&(k[b].style.color=k[b].getAttribute("data-color"));k=!1;"none"===this.container.style.display&&(k=!0,this.container.style.display="block");try{this.contentDiv.style.background=this.backgroundColor?this.backgroundColor:s?"rgba(255,255,255,.9)":"rgb(255,255,255)",this.borderColor="waterfall"===l[0].dataSeries.type?
|
|
882
882
|
this.contentDiv.style.borderRightColor=this.contentDiv.style.borderLeftColor=this.contentDiv.style.borderColor=this.options.borderColor?this.options.borderColor:l[0].dataPoint.color?l[0].dataPoint.color:0<l[0].dataPoint.y?l[0].dataSeries.risingColor:l[0].dataSeries.fallingColor:"error"===l[0].dataSeries.type?this.contentDiv.style.borderRightColor=this.contentDiv.style.borderLeftColor=this.contentDiv.style.borderColor=this.options.borderColor?this.options.borderColor:l[0].dataSeries.color?l[0].dataSeries.color:
|
|
883
|
-
l[0].dataSeries._colorSet[
|
|
883
|
+
l[0].dataSeries._colorSet[e.index%l[0].dataSeries._colorSet.length]:this.contentDiv.style.borderRightColor=this.contentDiv.style.borderLeftColor=this.contentDiv.style.borderColor=this.options.borderColor?this.options.borderColor:l[0].dataPoint.color?l[0].dataPoint.color:l[0].dataSeries.color?l[0].dataSeries.color:l[0].dataSeries._colorSet[l[0].index%l[0].dataSeries._colorSet.length],this.contentDiv.style.borderWidth=this.borderThickness||0===this.borderThickness?this.borderThickness+"px":"2px",this.contentDiv.style.borderRadius=
|
|
884
884
|
this.cornerRadius||0===this.cornerRadius?this.cornerRadius+"px":"5px",this.container.style.borderRadius=this.contentDiv.style.borderRadius,this.contentDiv.style.fontSize=this.fontSize||0===this.fontSize?this.fontSize+"px":"14px",this.contentDiv.style.color=this.fontColor?this.fontColor:"#000000",this.contentDiv.style.fontFamily=this.fontFamily?this.fontFamily:"Calibri, Arial, Georgia, serif;",this.contentDiv.style.fontWeight=this.fontWeight?this.fontWeight:"normal",this.contentDiv.style.fontStyle=
|
|
885
885
|
this.fontStyle?this.fontStyle:s?"italic":"normal"}catch(p){}"pie"===l[0].dataSeries.type||"doughnut"===l[0].dataSeries.type||"funnel"===l[0].dataSeries.type||"pyramid"===l[0].dataSeries.type||"bar"===l[0].dataSeries.type||"rangeBar"===l[0].dataSeries.type||"stackedBar"===l[0].dataSeries.type||"stackedBar100"===l[0].dataSeries.type?a=a-10-this.container.clientWidth:(a=l[0].dataSeries.axisX.convertValueToPixel(l[0].dataPoint.x)-this.container.clientWidth<<0,a-=10);0>a&&(a+=this.container.clientWidth+
|
|
886
|
-
20);a+this.container.clientWidth>Math.max(this.chart.container.clientWidth,this.chart.width)&&(a=Math.max(0,Math.max(this.chart.container.clientWidth,this.chart.width)-this.container.clientWidth));
|
|
887
|
-
l[0].dataSeries.type||"stackedBar100"===l[0].dataSeries.type?l[0].dataSeries.axisX.convertValueToPixel(l[0].dataPoint.x):
|
|
888
|
-
a+"px";this.container.style.bottom=
|
|
889
|
-
toolTip:this},this)}};qa.prototype.highlightObjects=function(a){var
|
|
890
|
-
|
|
891
|
-
l.size=Math.max(1.5*l.size<<0,10),l.borderColor=l.borderColor||"#FFFFFF",l.borderThickness=l.borderThickness||Math.ceil(0.1*l.size),z.drawMarkers([l]),"undefined"!==typeof
|
|
892
|
-
"white",l.borderColor="white",
|
|
893
|
-
y(e
|
|
894
|
-
1,
|
|
895
|
-
2),
|
|
896
|
-
|
|
897
|
-
|
|
898
|
-
else if(this.shared&&"none"!==this.chart.plotInfo.axisPlacement){for(var
|
|
899
|
-
if(!c.visible)continue;
|
|
900
|
-
c.type?(this.chart.axisX&&1<this.chart.axisX.length&&(
|
|
901
|
-
"X:{axisXIndex}<br/>":""),
|
|
902
|
-
""),
|
|
903
|
-
"function"!==typeof this.content?this.content:"<span data-color='\""+(this.options.fontColor?"":"'{color}'")+"\"'>{name}:</span><br/>Open: {y[0]}<br/>High: {y[1]}<br/>Low: {y[2]}<br/>Close: {y[3]}"):"boxAndWhisker"===c.type&&(this.chart.axisX&&1<this.chart.axisX.length&&(
|
|
904
|
-
typeof this.content?this.content:"<span data-color='\""+(this.options.fontColor?"":"'{color}'")+"\"'>{name}:</span><br/>Minimum: {y[0]}<br/>Q1: {y[1]}<br/>Q2: {y[4]}<br/>Q3: {y[2]}<br/>Maximum: {y[3]}"),null===
|
|
905
|
-
b,c,
|
|
906
|
-
c.type||"stackedBar"===c.type||"stackedBar100"===c.type||"stackedArea"===c.type||"stackedArea100"===c.type||"waterfall"===c.type?
|
|
907
|
-
this.content:"<span data-color='\""+(this.options.fontColor?"":"'{color}'")+"\"'>"+(b.label?"{label}":"{x}")+":</span> {y}, {z}":"pie"===c.type||"doughnut"===c.type||"funnel"===c.type||"pyramid"===c.type?
|
|
908
|
-
"</span>")+"{y}":"rangeColumn"===c.type||"rangeBar"===c.type||"rangeArea"===c.type||"rangeSplineArea"===c.type||"error"===c.type?
|
|
909
|
-
this.content&&"function"!==typeof this.content?this.content:"<span data-color='\""+(this.options.fontColor?"":"'{color}'")+"\"'>"+(b.label?"{label}":"{x}")+"</span><br/>Open: {y[0]}<br/>High: {y[1]}<br/>Low: {y[2]}<br/>Close: {y[3]}":"boxAndWhisker"===c.type&&(
|
|
910
|
-
"":"'{color}'")+"\"'>"+(b.label?"{label}":"{x}")+"</span><br/>Minimum: {y[0]}<br/>Q1: {y[1]}<br/>Q2: {y[4]}<br/>Q3: {y[2]}<br/>Maximum: {y[3]}");null===
|
|
886
|
+
20);a+this.container.clientWidth>Math.max(this.chart.container.clientWidth,this.chart.width)&&(a=Math.max(0,Math.max(this.chart.container.clientWidth,this.chart.width)-this.container.clientWidth));d=1!==l.length||this.shared||"line"!==l[0].dataSeries.type&&"stepLine"!==l[0].dataSeries.type&&"spline"!==l[0].dataSeries.type&&"area"!==l[0].dataSeries.type&&"stepArea"!==l[0].dataSeries.type&&"splineArea"!==l[0].dataSeries.type?"bar"===l[0].dataSeries.type||"rangeBar"===l[0].dataSeries.type||"stackedBar"===
|
|
887
|
+
l[0].dataSeries.type||"stackedBar100"===l[0].dataSeries.type?l[0].dataSeries.axisX.convertValueToPixel(l[0].dataPoint.x):d:l[0].dataSeries.axisY.convertValueToPixel(l[0].dataPoint.y);d=-d+10;0<d+this.container.clientHeight+5&&(d-=d+this.container.clientHeight+5-0);this.fixMozTransitionDelay(a,d);!this.animationEnabled||k?this.disableAnimation():(this.enableAnimation(),this.container.style.MozTransition=this.mozContainerTransition);this.positionLeft=a;this.positionBottom=d;this.container.style.left=
|
|
888
|
+
a+"px";this.container.style.bottom=d+"px"}else this.hide(!1),this.enabled&&this.dispatchEvent("hidden",{chart:this.chart,toolTip:this},this);d=[];for(b=0;b<l.length;b++)d.push({xValue:l[b].dataPoint.x,dataPoint:l[b].dataPoint,dataSeries:l[b].dataSeries,dataPointIndex:l[b].index,dataSeriesIndex:l[b].dataSeries._index});this._updatedEventParameters={chart:this.chart,toolTip:this.options,content:c,entries:d};this._entries=l}}else this.hide(),this.enabled&&this.dispatchEvent("hidden",{chart:this.chart,
|
|
889
|
+
toolTip:this},this)}};qa.prototype.highlightObjects=function(a){var g=this.chart.overlaidCanvasCtx;if(f(this.chart.clearedOverlayedCanvas)||"toolTip"===this.chart.clearedOverlayedCanvas)this.chart.resetOverlayedCanvas(),g.clearRect(0,0,this.chart.width,this.chart.height),this.chart.clearedOverlayedCanvas="toolTip";g.save();var c=this.chart.plotArea,b=0;g.beginPath();g.rect(c.x1,c.y1,c.x2-c.x1,c.y2-c.y1);g.clip();for(c=0;c<a.length;c++){var e=a[c];if((e=this.chart._eventManager.objectMap[e.dataSeries.dataPointIds[e.index]])&&
|
|
890
|
+
e.objectType&&"dataPoint"===e.objectType){var b=this.chart.data[e.dataSeriesIndex],l=b.dataPoints[e.dataPointIndex],k=e.dataPointIndex;!1===l.highlightEnabled||!0!==b.highlightEnabled&&!0!==l.highlightEnabled||("line"===b.type||"stepLine"===b.type||"spline"===b.type||"scatter"===b.type||"area"===b.type||"stepArea"===b.type||"splineArea"===b.type||"stackedArea"===b.type||"stackedArea100"===b.type||"rangeArea"===b.type||"rangeSplineArea"===b.type?(l=b.getMarkerProperties(k,e.x1,e.y1,this.chart.overlaidCanvasCtx),
|
|
891
|
+
l.size=Math.max(1.5*l.size<<0,10),l.borderColor=l.borderColor||"#FFFFFF",l.borderThickness=l.borderThickness||Math.ceil(0.1*l.size),z.drawMarkers([l]),"undefined"!==typeof e.y2&&(l=b.getMarkerProperties(k,e.x1,e.y2,this.chart.overlaidCanvasCtx),l.size=Math.max(1.5*l.size<<0,10),l.borderColor=l.borderColor||"#FFFFFF",l.borderThickness=l.borderThickness||Math.ceil(0.1*l.size),z.drawMarkers([l]))):"bubble"===b.type?(l=b.getMarkerProperties(k,e.x1,e.y1,this.chart.overlaidCanvasCtx),l.size=e.size,l.color=
|
|
892
|
+
"white",l.borderColor="white",g.globalAlpha=0.3,z.drawMarkers([l]),g.globalAlpha=1):"column"===b.type||"stackedColumn"===b.type||"stackedColumn100"===b.type||"bar"===b.type||"rangeBar"===b.type||"stackedBar"===b.type||"stackedBar100"===b.type||"rangeColumn"===b.type||"waterfall"===b.type?ca(g,e.x1,e.y1,e.x2,e.y2,"white",0,null,!1,!1,!1,!1,0.3):"pie"===b.type||"doughnut"===b.type?d(g,e.center,e.radius,"white",b.type,e.startAngle,e.endAngle,0.3,e.percentInnerRadius):"funnel"===b.type||"pyramid"===b.type?
|
|
893
|
+
y(g,e.funnelSection,0.3,"white"):"candlestick"===b.type?(g.globalAlpha=1,g.strokeStyle=e.color,g.lineWidth=2*e.borderThickness,b=0===g.lineWidth%2?0:0.5,g.beginPath(),g.moveTo(e.x3-b,Math.min(e.y2,e.y3)),g.lineTo(e.x3-b,Math.min(e.y1,e.y4)),g.stroke(),g.beginPath(),g.moveTo(e.x3-b,Math.max(e.y1,e.y4)),g.lineTo(e.x3-b,Math.max(e.y2,e.y3)),g.stroke(),ca(g,e.x1,Math.min(e.y1,e.y4),e.x2,Math.max(e.y1,e.y4),"transparent",2*e.borderThickness,e.color,!1,!1,!1,!1),g.globalAlpha=1):"ohlc"===b.type?(g.globalAlpha=
|
|
894
|
+
1,g.strokeStyle=e.color,g.lineWidth=2*e.borderThickness,b=0===g.lineWidth%2?0:0.5,g.beginPath(),g.moveTo(e.x3-b,e.y2),g.lineTo(e.x3-b,e.y3),g.stroke(),g.beginPath(),g.moveTo(e.x3,e.y1),g.lineTo(e.x1,e.y1),g.stroke(),g.beginPath(),g.moveTo(e.x3,e.y4),g.lineTo(e.x2,e.y4),g.stroke(),g.globalAlpha=1):"boxAndWhisker"===b.type?(g.save(),g.globalAlpha=1,g.strokeStyle=e.stemColor,g.lineWidth=2*e.stemThickness,0<e.stemThickness&&(g.beginPath(),g.moveTo(e.x3,e.y2+e.borderThickness/2),g.lineTo(e.x3,e.y1+e.whiskerThickness/
|
|
895
|
+
2),g.stroke(),g.beginPath(),g.moveTo(e.x3,e.y4-e.whiskerThickness/2),g.lineTo(e.x3,e.y3-e.borderThickness/2),g.stroke()),g.beginPath(),ca(g,e.x1-e.borderThickness/2,Math.max(e.y2+e.borderThickness/2,e.y3+e.borderThickness/2),e.x2+e.borderThickness/2,Math.min(e.y2-e.borderThickness/2,e.y3-e.borderThickness/2),"transparent",e.borderThickness,e.color,!1,!1,!1,!1),g.globalAlpha=1,g.strokeStyle=e.whiskerColor,g.lineWidth=2*e.whiskerThickness,0<e.whiskerThickness&&(g.beginPath(),g.moveTo(Math.floor(e.x3-
|
|
896
|
+
e.whiskerLength/2),e.y4),g.lineTo(Math.ceil(e.x3+e.whiskerLength/2),e.y4),g.stroke(),g.beginPath(),g.moveTo(Math.floor(e.x3-e.whiskerLength/2),e.y1),g.lineTo(Math.ceil(e.x3+e.whiskerLength/2),e.y1),g.stroke()),g.globalAlpha=1,g.strokeStyle=e.lineColor,g.lineWidth=2*e.lineThickness,0<e.lineThickness&&(g.beginPath(),g.moveTo(e.x1,e.y5),g.lineTo(e.x2,e.y5),g.stroke()),g.restore(),g.globalAlpha=1):"error"===b.type&&Q(g,e.x1,e.y1,e.x2,e.y2,"white",e.whiskerProperties,e.stemProperties,e.isXYSwapped,0.3))}}g.restore();
|
|
897
|
+
g.globalAlpha=1;g.beginPath()};qa.prototype.getToolTipInnerHTML=function(a){a=a.entries;var d=null,c=null,b=null,e=0,l="";this.isToolTipDefinedInData=!0;for(var f=0;f<a.length;f++)if(a[f].dataSeries.toolTipContent||a[f].dataPoint.toolTipContent){this.isToolTipDefinedInData=!1;break}if(this.isToolTipDefinedInData&&(this.content&&"function"===typeof this.content||this.contentFormatter))a={chart:this.chart,toolTip:this.options,entries:a},d=this.contentFormatter?this.contentFormatter(a):this.content(a);
|
|
898
|
+
else if(this.shared&&"none"!==this.chart.plotInfo.axisPlacement){for(var k=null,t="",f=0;f<a.length;f++){c=a[f].dataSeries;b=a[f].dataPoint;e=a[f].index;l="";if(0===f&&this.isToolTipDefinedInData&&!this.content){this.chart.axisX&&0<this.chart.axisX.length?t+="undefined"!==typeof this.chart.axisX[0].labels[b.x]?this.chart.axisX[0].labels[b.x]:"{x}":this.chart.axisX2&&0<this.chart.axisX2.length&&(t+="undefined"!==typeof this.chart.axisX2[0].labels[b.x]?this.chart.axisX2[0].labels[b.x]:"{x}");t+="</br>";
|
|
899
|
+
if(!c.visible)continue;t=this.chart.replaceKeywordsWithValue(t,b,c,e)}null===b.toolTipContent||"undefined"===typeof b.toolTipContent&&null===c.options.toolTipContent||("line"===c.type||"stepLine"===c.type||"spline"===c.type||"area"===c.type||"stepArea"===c.type||"splineArea"===c.type||"column"===c.type||"bar"===c.type||"scatter"===c.type||"stackedColumn"===c.type||"stackedColumn100"===c.type||"stackedBar"===c.type||"stackedBar100"===c.type||"stackedArea"===c.type||"stackedArea100"===c.type||"waterfall"===
|
|
900
|
+
c.type?(this.chart.axisX&&1<this.chart.axisX.length&&(l+=k!=c.axisXIndex?c.axisX.title?c.axisX.title+"<br/>":"X:{axisXIndex}<br/>":""),l+=b.toolTipContent?b.toolTipContent:c.toolTipContent?c.toolTipContent:this.content&&"function"!==typeof this.content?this.content:"<span data-color='\""+(this.options.fontColor?"":"'{color}'")+"\"'>{name}:</span> {y}",k=c.axisXIndex):"bubble"===c.type?(this.chart.axisX&&1<this.chart.axisX.length&&(l+=k!=c.axisXIndex?c.axisX.title?c.axisX.title+"<br/>":
|
|
901
|
+
"X:{axisXIndex}<br/>":""),l+=b.toolTipContent?b.toolTipContent:c.toolTipContent?c.toolTipContent:this.content&&"function"!==typeof this.content?this.content:"<span data-color='\""+(this.options.fontColor?"":"'{color}'")+"\"'>{name}:</span> {y}, {z}"):"rangeColumn"===c.type||"rangeBar"===c.type||"rangeArea"===c.type||"rangeSplineArea"===c.type||"error"===c.type?(this.chart.axisX&&1<this.chart.axisX.length&&(l+=k!=c.axisXIndex?c.axisX.title?c.axisX.title+"<br/>":"X:{axisXIndex}<br/>":
|
|
902
|
+
""),l+=b.toolTipContent?b.toolTipContent:c.toolTipContent?c.toolTipContent:this.content&&"function"!==typeof this.content?this.content:"<span data-color='\""+(this.options.fontColor?"":"'{color}'")+"\"'>{name}:</span> {y[0]}, {y[1]}"):"candlestick"===c.type||"ohlc"===c.type?(this.chart.axisX&&1<this.chart.axisX.length&&(l+=k!=c.axisXIndex?c.axisX.title?c.axisX.title+"<br/>":"X:{axisXIndex}<br/>":""),l+=b.toolTipContent?b.toolTipContent:c.toolTipContent?c.toolTipContent:this.content&&
|
|
903
|
+
"function"!==typeof this.content?this.content:"<span data-color='\""+(this.options.fontColor?"":"'{color}'")+"\"'>{name}:</span><br/>Open: {y[0]}<br/>High: {y[1]}<br/>Low: {y[2]}<br/>Close: {y[3]}"):"boxAndWhisker"===c.type&&(this.chart.axisX&&1<this.chart.axisX.length&&(l+=k!=c.axisXIndex?c.axisX.title?c.axisX.title+"<br/>":"X:{axisXIndex}<br/>":""),l+=b.toolTipContent?b.toolTipContent:c.toolTipContent?c.toolTipContent:this.content&&"function"!==
|
|
904
|
+
typeof this.content?this.content:"<span data-color='\""+(this.options.fontColor?"":"'{color}'")+"\"'>{name}:</span><br/>Minimum: {y[0]}<br/>Q1: {y[1]}<br/>Q2: {y[4]}<br/>Q3: {y[2]}<br/>Maximum: {y[3]}"),null===d&&(d=""),c.visible&&(!0===this.reversed?(d=this.chart.replaceKeywordsWithValue(l,
|
|
905
|
+
b,c,e)+d,f<a.length-1&&(d="</br>"+d)):(d+=this.chart.replaceKeywordsWithValue(l,b,c,e),f<a.length-1&&(d+="</br>"))))}null!==d&&(d=t+d)}else{c=a[0].dataSeries;b=a[0].dataPoint;e=a[0].index;if(null===b.toolTipContent||"undefined"===typeof b.toolTipContent&&null===c.options.toolTipContent)return null;"line"===c.type||"stepLine"===c.type||"spline"===c.type||"area"===c.type||"stepArea"===c.type||"splineArea"===c.type||"column"===c.type||"bar"===c.type||"scatter"===c.type||"stackedColumn"===c.type||"stackedColumn100"===
|
|
906
|
+
c.type||"stackedBar"===c.type||"stackedBar100"===c.type||"stackedArea"===c.type||"stackedArea100"===c.type||"waterfall"===c.type?l=b.toolTipContent?b.toolTipContent:c.toolTipContent?c.toolTipContent:this.content&&"function"!==typeof this.content?this.content:"<span data-color='\""+(this.options.fontColor?"":"'{color}'")+"\"'>"+(b.label?"{label}":"{x}")+":</span> {y}":"bubble"===c.type?l=b.toolTipContent?b.toolTipContent:c.toolTipContent?c.toolTipContent:this.content&&"function"!==typeof this.content?
|
|
907
|
+
this.content:"<span data-color='\""+(this.options.fontColor?"":"'{color}'")+"\"'>"+(b.label?"{label}":"{x}")+":</span> {y}, {z}":"pie"===c.type||"doughnut"===c.type||"funnel"===c.type||"pyramid"===c.type?l=b.toolTipContent?b.toolTipContent:c.toolTipContent?c.toolTipContent:this.content&&"function"!==typeof this.content?this.content:"<span data-color='\""+(this.options.fontColor?"":"'{color}'")+"\"'>"+(b.name?"{name}:</span> ":b.label?"{label}:</span> ":
|
|
908
|
+
"</span>")+"{y}":"rangeColumn"===c.type||"rangeBar"===c.type||"rangeArea"===c.type||"rangeSplineArea"===c.type||"error"===c.type?l=b.toolTipContent?b.toolTipContent:c.toolTipContent?c.toolTipContent:this.content&&"function"!==typeof this.content?this.content:"<span data-color='\""+(this.options.fontColor?"":"'{color}'")+"\"'>"+(b.label?"{label}":"{x}")+" :</span> {y[0]}, {y[1]}":"candlestick"===c.type||"ohlc"===c.type?l=b.toolTipContent?b.toolTipContent:c.toolTipContent?c.toolTipContent:
|
|
909
|
+
this.content&&"function"!==typeof this.content?this.content:"<span data-color='\""+(this.options.fontColor?"":"'{color}'")+"\"'>"+(b.label?"{label}":"{x}")+"</span><br/>Open: {y[0]}<br/>High: {y[1]}<br/>Low: {y[2]}<br/>Close: {y[3]}":"boxAndWhisker"===c.type&&(l=b.toolTipContent?b.toolTipContent:c.toolTipContent?c.toolTipContent:this.content&&"function"!==typeof this.content?this.content:"<span data-color='\""+(this.options.fontColor?
|
|
910
|
+
"":"'{color}'")+"\"'>"+(b.label?"{label}":"{x}")+"</span><br/>Minimum: {y[0]}<br/>Q1: {y[1]}<br/>Q2: {y[4]}<br/>Q3: {y[2]}<br/>Maximum: {y[3]}");null===d&&(d="");d+=this.chart.replaceKeywordsWithValue(l,b,c,e)}return d};qa.prototype.enableAnimation=function(){if(!this.container.style.WebkitTransition){var a=
|
|
911
911
|
this.getContainerTransition(this.containerTransitionDuration);this.container.style.WebkitTransition=a;this.container.style.MsTransition=a;this.container.style.transition=a;this.container.style.MozTransition=this.mozContainerTransition}};qa.prototype.disableAnimation=function(){this.container.style.WebkitTransition&&(this.container.style.WebkitTransition="",this.container.style.MozTransition="",this.container.style.MsTransition="",this.container.style.transition="")};qa.prototype.hide=function(a){this.container&&
|
|
912
|
-
(this.container.style.display="none",this.currentSeriesIndex=-1,this._prevY=this._prevX=NaN,("undefined"===typeof a||a)&&this.chart.resetOverlayedCanvas())};qa.prototype.show=function(a,d,c){this._updateToolTip(a,d,"undefined"===typeof c?!1:c)};qa.prototype.showAtIndex=function(a,d){};qa.prototype.showAtX=function(a,d){if(!this.enabled)return!1;this.chart.clearedOverlayedCanvas=null;var c,b,
|
|
913
|
-
this.chart.data[k],(b=c.getDataPointAtX(a,!1))&&(b.dataPoint&&!f(b.dataPoint.y)&&c.visible)&&(b.dataSeries=c,l.push(b));else c=this.chart.data[d],(b=c.getDataPointAtX(a,!1))&&(b.dataPoint&&!f(b.dataPoint.y)&&c.visible)&&(b.dataSeries=c,l.push(b));if(0<l.length){for(k=0;k<l.length;k++)if(b=l[k],(this.shared||0<=b.dataSeries.type.indexOf("100"))&&b.dataPoint.x>=b.dataSeries.axisX.viewportMinimum&&b.dataPoint.x<=b.dataSeries.axisX.viewportMaximum){
|
|
914
|
-
b.dataPoint.x>b.dataSeries.axisX.viewportMaximum||b.dataPoint.y<b.dataSeries.axisY.viewportMinimum||b.dataPoint.y>b.dataSeries.axisY.viewportMaximum)
|
|
912
|
+
(this.container.style.display="none",this.currentSeriesIndex=-1,this._prevY=this._prevX=NaN,("undefined"===typeof a||a)&&this.chart.resetOverlayedCanvas())};qa.prototype.show=function(a,d,c){this._updateToolTip(a,d,"undefined"===typeof c?!1:c)};qa.prototype.showAtIndex=function(a,d){};qa.prototype.showAtX=function(a,d){if(!this.enabled)return!1;this.chart.clearedOverlayedCanvas=null;var c,b,e,l=[];e=!1;d=!f(d)&&0<=d&&d<this.chart.data.length?d:0;if(this.shared)for(var k=0;k<this.chart.data.length;k++)c=
|
|
913
|
+
this.chart.data[k],(b=c.getDataPointAtX(a,!1))&&(b.dataPoint&&!f(b.dataPoint.y)&&c.visible)&&(b.dataSeries=c,l.push(b));else c=this.chart.data[d],(b=c.getDataPointAtX(a,!1))&&(b.dataPoint&&!f(b.dataPoint.y)&&c.visible)&&(b.dataSeries=c,l.push(b));if(0<l.length){for(k=0;k<l.length;k++)if(b=l[k],(this.shared||0<=b.dataSeries.type.indexOf("100"))&&b.dataPoint.x>=b.dataSeries.axisX.viewportMinimum&&b.dataPoint.x<=b.dataSeries.axisX.viewportMaximum){e=!1;break}else if(b.dataPoint.x<b.dataSeries.axisX.viewportMinimum||
|
|
914
|
+
b.dataPoint.x>b.dataSeries.axisX.viewportMaximum||b.dataPoint.y<b.dataSeries.axisY.viewportMinimum||b.dataPoint.y>b.dataSeries.axisY.viewportMaximum)e=!0;else{e=!1;break}if(e)return this.hide(),!1;this.highlightObjects(l);this._entries=l;k="";k=this.getToolTipInnerHTML({entries:l});if(null!==k){this.contentDiv.innerHTML=k;if(this.isToolTipDefinedInData&&f(this.options.content)&&f(this.options.contentFormatter))for(b=this.contentDiv.getElementsByTagName("span"),k=0;k<b.length;k++)b[k]&&(b[k].style.color=
|
|
915
915
|
b[k].getAttribute("data-color"));k=!1;"none"===this.container.style.display&&(k=!0,this.container.style.display="block");try{this.contentDiv.style.background=this.backgroundColor?this.backgroundColor:s?"rgba(255,255,255,.9)":"rgb(255,255,255)",this.borderColor="waterfall"===l[0].dataSeries.type?this.contentDiv.style.borderRightColor=this.contentDiv.style.borderLeftColor=this.contentDiv.style.borderColor=this.options.borderColor?this.options.borderColor:l[0].dataPoint.color?l[0].dataPoint.color:0<
|
|
916
916
|
l[0].dataPoint.y?l[0].dataSeries.risingColor:l[0].dataSeries.fallingColor:"error"===l[0].dataSeries.type?this.contentDiv.style.borderRightColor=this.contentDiv.style.borderLeftColor=this.contentDiv.style.borderColor=this.options.borderColor?this.options.borderColor:l[0].dataSeries.color?l[0].dataSeries.color:l[0].dataSeries._colorSet[c.index%l[0].dataSeries._colorSet.length]:this.contentDiv.style.borderRightColor=this.contentDiv.style.borderLeftColor=this.contentDiv.style.borderColor=this.options.borderColor?
|
|
917
917
|
this.options.borderColor:l[0].dataPoint.color?l[0].dataPoint.color:l[0].dataSeries.color?l[0].dataSeries.color:l[0].dataSeries._colorSet[l[0].index%l[0].dataSeries._colorSet.length],this.contentDiv.style.borderWidth=this.borderThickness||0===this.borderThickness?this.borderThickness+"px":"2px",this.contentDiv.style.borderRadius=this.cornerRadius||0===this.cornerRadius?this.cornerRadius+"px":"5px",this.container.style.borderRadius=this.contentDiv.style.borderRadius,this.contentDiv.style.fontSize=this.fontSize||
|
|
@@ -921,17 +921,17 @@ Math.max(0,Math.max(this.chart.container.clientWidth,this.chart.width)-this.cont
|
|
|
921
921
|
l[0].dataSeries.axisY.convertValueToPixel(l[0].dataPoint.y):l[0].dataSeries.axisY.convertValueToPixel(l[0].dataPoint.y);l=-l+10;0<l+this.container.clientHeight+5&&(l-=l+this.container.clientHeight+5-0);this.fixMozTransitionDelay(c,l);!this.animationEnabled||k?this.disableAnimation():(this.enableAnimation(),this.container.style.MozTransition=this.mozContainerTransition);this.container.style.left=c+"px";this.container.style.bottom=l+"px"}else return this.hide(!1),!1}else return this.hide(),!1;return!0};
|
|
922
922
|
qa.prototype.fixMozTransitionDelay=function(a,d){if(20<this.chart._eventManager.lastObjectId)this.mozContainerTransition=this.getContainerTransition(0);else{var c=parseFloat(this.container.style.left),c=isNaN(c)?0:c,b=parseFloat(this.container.style.bottom),b=isNaN(b)?0:b;10<Math.sqrt(Math.pow(c-a,2)+Math.pow(b-d,2))?this.mozContainerTransition=this.getContainerTransition(0.1):this.mozContainerTransition=this.getContainerTransition(0)}};qa.prototype.getContainerTransition=function(a){return"left "+
|
|
923
923
|
a+"s ease-out 0s, bottom "+a+"s ease-out 0s"};ha.prototype.reset=function(){this.lastObjectId=0;this.objectMap=[];this.rectangularRegionEventSubscriptions=[];this.previousDataPointEventObject=null;this.eventObjects=[];s&&(this.ghostCtx.clearRect(0,0,this.chart.width,this.chart.height),this.ghostCtx.beginPath())};ha.prototype.getNewObjectTrackingId=function(){return++this.lastObjectId};ha.prototype.mouseEventHandler=function(a){if("mousemove"===a.type||"click"===a.type){var d=[],c=Ba(a),b=null;if((b=
|
|
924
|
-
this.chart.getObjectAtXY(c.x,c.y,!1))&&"undefined"!==typeof this.objectMap[b])if(b=this.objectMap[b],"dataPoint"===b.objectType){var
|
|
925
|
-
{x:c.x,y:c.y,dataPoint:f,dataSeries:
|
|
926
|
-
chart:this.chart},b.eventContext={context:this.chart.legend,userContext:this.chart.legend.options,mouseover:"itemmouseover",mousemove:"itemmousemove",mouseout:"itemmouseout",click:"itemclick"},d.push(b));
|
|
927
|
-
for(b=0;b<this.mouseoveredObjectMaps.length;b++)if(d[c].id===this.mouseoveredObjectMaps[b].id){
|
|
928
|
-
(c.target.style.cursor=f.cursor):(c.target.style.cursor=this.chart.panEnabled?"itemmouseout"!==
|
|
929
|
-
b)}};ja.prototype.animate=function(a,d,c,b,
|
|
930
|
-
a;0<this.animations.length?this.animationRequestId=this.chart.requestAnimFrame.call(window,function(){f.animate.call(f)}):this.chart.isAnimating=!1};ja.prototype.cancelAllAnimations=function(){this.animations=[];this.animationRequestId&&this.chart.cancelRequestAnimFrame.call(window,this.animationRequestId);this.animationRequestId=null;this.chart.isAnimating=!1};var t={yScaleAnimation:function(a,d){if(0!==a){var c=d.dest,b=d.source.canvas,
|
|
931
|
-
a,c.canvas.width/ia,a*c.canvas.height/ia)}},xScaleAnimation:function(a,d){if(0!==a){var c=d.dest,b=d.source.canvas,
|
|
932
|
-
b.height,0,0,c.canvas.width/ia,c.canvas.height/ia);c.restore()}},easing:{linear:function(a,d,c,b){return c*a/b+d},easeOutQuad:function(a,d,c,b){return-c*(a/=b)*(a-2)+d},easeOutQuart:function(a,d,c,b){return-c*((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}}},z={drawMarker:function(a,d,c,b,
|
|
933
|
-
t));"circle"===b?(c.moveTo(a,d),c.beginPath(),c.arc(a,d,
|
|
934
|
-
c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=m)),c.beginPath()):"cross"===b&&(c.strokeStyle=f,c.lineWidth=
|
|
924
|
+
this.chart.getObjectAtXY(c.x,c.y,!1))&&"undefined"!==typeof this.objectMap[b])if(b=this.objectMap[b],"dataPoint"===b.objectType){var e=this.chart.data[b.dataSeriesIndex],f=e.dataPoints[b.dataPointIndex],k=b.dataPointIndex;b.eventParameter={x:c.x,y:c.y,dataPoint:f,dataSeries:e.options,dataPointIndex:k,dataSeriesIndex:e.index,chart:this.chart};b.eventContext={context:f,userContext:f,mouseover:"mouseover",mousemove:"mousemove",mouseout:"mouseout",click:"click"};d.push(b);b=this.objectMap[e.id];b.eventParameter=
|
|
925
|
+
{x:c.x,y:c.y,dataPoint:f,dataSeries:e.options,dataPointIndex:k,dataSeriesIndex:e.index,chart:this.chart};b.eventContext={context:e,userContext:e.options,mouseover:"mouseover",mousemove:"mousemove",mouseout:"mouseout",click:"click"};d.push(this.objectMap[e.id])}else"legendItem"===b.objectType&&(e=this.chart.data[b.dataSeriesIndex],f=null!==b.dataPointIndex?e.dataPoints[b.dataPointIndex]:null,b.eventParameter={x:c.x,y:c.y,dataSeries:e.options,dataPoint:f,dataPointIndex:b.dataPointIndex,dataSeriesIndex:b.dataSeriesIndex,
|
|
926
|
+
chart:this.chart},b.eventContext={context:this.chart.legend,userContext:this.chart.legend.options,mouseover:"itemmouseover",mousemove:"itemmousemove",mouseout:"itemmouseout",click:"itemclick"},d.push(b));e=[];for(c=0;c<this.mouseoveredObjectMaps.length;c++){f=!0;for(b=0;b<d.length;b++)if(d[b].id===this.mouseoveredObjectMaps[c].id){f=!1;break}f?this.fireEvent(this.mouseoveredObjectMaps[c],"mouseout",a):e.push(this.mouseoveredObjectMaps[c])}this.mouseoveredObjectMaps=e;for(c=0;c<d.length;c++){e=!1;
|
|
927
|
+
for(b=0;b<this.mouseoveredObjectMaps.length;b++)if(d[c].id===this.mouseoveredObjectMaps[b].id){e=!0;break}e||(this.fireEvent(d[c],"mouseover",a),this.mouseoveredObjectMaps.push(d[c]));"click"===a.type?this.fireEvent(d[c],"click",a):"mousemove"===a.type&&this.fireEvent(d[c],"mousemove",a)}}};ha.prototype.fireEvent=function(a,d,c){if(a&&d){var b=a.eventParameter,e=a.eventContext,f=a.eventContext.userContext;f&&(e&&f[e[d]])&&f[e[d]].call(f,b);"mouseout"!==d?f.cursor&&f.cursor!==c.target.style.cursor&&
|
|
928
|
+
(c.target.style.cursor=f.cursor):(c.target.style.cursor=this.chart.panEnabled?"itemmouseout"!==e.mouseout||f.dockInsidePlotArea?"move":this.chart._defaultCursor:this.chart._defaultCursor,delete a.eventParameter,delete a.eventContext);"click"===d&&("dataPoint"===a.objectType&&this.chart.pieDoughnutClickHandler)&&this.chart.pieDoughnutClickHandler.call(this.chart.data[a.dataSeriesIndex],b);"click"===d&&("dataPoint"===a.objectType&&this.chart.funnelPyramidClickHandler)&&this.chart.funnelPyramidClickHandler.call(this.chart.data[a.dataSeriesIndex],
|
|
929
|
+
b)}};ja.prototype.animate=function(a,d,c,b,e){var f=this;this.chart.isAnimating=!0;e=e||t.easing.linear;c&&this.animations.push({startTime:(new Date).getTime()+(a?a:0),duration:d,animationCallback:c,onComplete:b});for(a=[];0<this.animations.length;)if(d=this.animations.shift(),c=(new Date).getTime(),b=0,d.startTime<=c&&(b=e(Math.min(c-d.startTime,d.duration),0,1,d.duration),b=Math.min(b,1),isNaN(b)||!isFinite(b))&&(b=1),1>b&&a.push(d),d.animationCallback(b),1<=b&&d.onComplete)d.onComplete();this.animations=
|
|
930
|
+
a;0<this.animations.length?this.animationRequestId=this.chart.requestAnimFrame.call(window,function(){f.animate.call(f)}):this.chart.isAnimating=!1};ja.prototype.cancelAllAnimations=function(){this.animations=[];this.animationRequestId&&this.chart.cancelRequestAnimFrame.call(window,this.animationRequestId);this.animationRequestId=null;this.chart.isAnimating=!1};var t={yScaleAnimation:function(a,d){if(0!==a){var c=d.dest,b=d.source.canvas,e=d.animationBase;c.drawImage(b,0,0,b.width,b.height,0,e-e*
|
|
931
|
+
a,c.canvas.width/ia,a*c.canvas.height/ia)}},xScaleAnimation:function(a,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/ia,c.canvas.height/ia)}},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/ia,b.height/ia);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,
|
|
932
|
+
b.height,0,0,c.canvas.width/ia,c.canvas.height/ia);c.restore()}},easing:{linear:function(a,d,c,b){return c*a/b+d},easeOutQuad:function(a,d,c,b){return-c*(a/=b)*(a-2)+d},easeOutQuart:function(a,d,c,b){return-c*((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}}},z={drawMarker:function(a,d,c,b,e,f,k,t){if(c){var m=1;c.fillStyle=f?f:"#000000";c.strokeStyle=k?k:"#000000";c.lineWidth=t?t:0;c.setLineDash&&c.setLineDash(X("solid",
|
|
933
|
+
t));"circle"===b?(c.moveTo(a,d),c.beginPath(),c.arc(a,d,e/2,0,2*Math.PI,!1),f&&c.fill(),t&&(k?c.stroke():(m=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=m))):"square"===b?(c.beginPath(),c.rect(a-e/2,d-e/2,e,e),f&&c.fill(),t&&(k?c.stroke():(m=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=m))):"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(),t&&(k?c.stroke():(m=c.globalAlpha,
|
|
934
|
+
c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=m)),c.beginPath()):"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];z.drawMarker(c.x,c.y,c.ctx,c.type,c.size,c.color,c.borderColor,c.borderThickness)}}};return m}();Ka.version="v3.7.41 GA";window.CanvasJS&&(Ka&&!window.CanvasJS.Chart)&&(window.CanvasJS.Chart=
|
|
935
935
|
Ka);ha.StockChart={width:500,height:600,backgroundColor:"white",theme:"light1",animationEnabled:!1,animationDuration:1200,culture:"en",creditHref:"",creditText:"CanvasJS",exportEnabled:!1,exportFileName:"StockChart",colorSet:"colorSet1",rangeChanging:null,rangeChanged:null,publicProperties:{title:"readWrite",subtitles:"readWrite",toolbar:"readWrite",navigator:"readWrite",rangeSelector:"readWrite",charts:"readWrite",options:"readWrite",bounds:"readOnly",container:"readOnly",selectedColorSet:"readOnly"}};
|
|
936
936
|
ha.Navigator={enabled:!0,width:500,height:70,verticalAlign:"bottom",horizontalAlign:"center",dynamicUpdate:!0,backgroundColor:"#fff",animationEnabled:!1,animationDuration:1200,theme:"light1",publicProperties:{slider:"readWrite",backgroundColor:"readWrite",animationEnabled:"readWrite",animationDuration:"readWrite",theme:"readWrite",axisX:"readWrite",axisY:"readWrite",axisX2:"readWrite",axisY2:"readWrite",data:"readWrite",options:"readWrite",bounds:"readOnly"}};ha.RangeSelector={enabled:!0,width:500,
|
|
937
937
|
height:35,label:"Range",verticalAlign:"top",horizontalAlign:"center",selectedRangeButtonIndex:null,publicProperties:{options:"readWrite",buttons:"readWrite",inputFields:"readWrite",buttonStyle:"readWrite",bounds:"readOnly"}};ha.RangeButton={range:null,rangeType:null,label:null,style:"position: inline; margin: 5px 0;text-align:center;cursor: pointer;",backgroundColorDisabled:"#ddd",publicProperties:{options:"readWrite",bounds:"readOnly"}};ha.ButtonStyle={backgroundColor:"#fff",backgroundColorOnHover:"#2196f3",
|
|
@@ -956,16 +956,16 @@ this.allDOMEventHandlers),v(this.overlaidCanvas,window.navigator.msPointerEnable
|
|
|
956
956
|
!1}function L(d,f,k){L.base.constructor.call(this,d,f,k);this.options=f;this.dockInsidePlotArea=!1}function O(d){this.stockChart=d;this.lastObjectId=0;this.objectMap=[];this.rectangularRegionEventSubscriptions=[];this.ghostCanvas=sa(this.stockChart.width,this.stockChart.height);this.ghostCtx=this.ghostCanvas.getContext("2d");this.mouseoveredObjectMaps=[]}function A(d,f){f=f||{};this.optionsName="navigator";A.base.constructor.call(this,"Navigator","navigator",f,null,d);this.parent=this.stockChart=
|
|
957
957
|
d}function M(d,m){this.panel=k("canvasjs-slider-panel");this.parent=this.navigator=d;this.stockChart=d.stockChart;this.navigator.panel.appendChild(this.panel);M.base.constructor.call(this,"Slider","slider",m,null,d);this.options=f(m.navigator)||f(m.navigator.slider)?{}:m.navigator.slider;this.optionsName="slider";this.panMode=!1;this.sessionVariables={}}function R(d,k){R.base.constructor.call(this,"RangeSelector","rangeSelector",k,null,d);this.parent=this.stockChart=d;this.options=f(k)||f(k.rangeSelector)?
|
|
958
958
|
{}:k.rangeSelector;this.optionsName="rangeSelector";this.ctx=d.ctx}function N(d,k,t){N.base.constructor.call(this,"RangeButton","rangeButton",t,k,d.rangeSelector);this.stockChart=d;this.parent=this.rangeSelector=d.rangeSelector;this.options=f(t)?{}:t;this.optionsName="rangeButton";this.enabled=!1;this.state="off"}function T(d,k){T.base.constructor.call(this,"InputFields","inputFields",k,null,d.rangeSelector);this.stockChart=d;this.options=f(k)||f(k.inputFields)?{}:k.inputFields;this.parent=this.rangeSelector=
|
|
959
|
-
d.rangeSelector;this.elements=[];this._textBlocks=[];this.optionsName="inputFields";this.elements.push(C("input","canvasjs-input-field","text"));this.elements.push(C("input","canvasjs-input-field","text"));for(var t=0;t<this.elements.length;t++)this.stockChart._canvasJSContainer.appendChild(this.elements[t]);var m=this,a=null,
|
|
959
|
+
d.rangeSelector;this.elements=[];this._textBlocks=[];this.optionsName="inputFields";this.elements.push(C("input","canvasjs-input-field","text"));this.elements.push(C("input","canvasjs-input-field","text"));for(var t=0;t<this.elements.length;t++)this.stockChart._canvasJSContainer.appendChild(this.elements[t]);var m=this,a=null,g=null;v(this.elements[0],"focus",function(){m.enabled&&(m.elements[0].focused=!0,m._textBlocks[0].borderColor=m.style.borderColorOnFocus,m._textBlocks[0].render(!0))},this.rangeSelector.stockChart.allDOMEventHandlers);
|
|
960
960
|
v(this.elements[0],"focusout",function(){if(m.enabled){m.elements[0].focused=!1;var a;m.stockChart.charts&&m.stockChart.charts.length&&(a=m.stockChart.charts[0].axisX&&m.stockChart.charts[0].axisX.length?m.stockChart.charts[0].axisX[0]:m.stockChart.charts[0].axisX2[0]);this.value="dateTime"===m.valueType?ea(a?a.viewportMinimum:null,"YYYY-MM-DD",m.stockChart._cultureInfo):aa(a?a.viewportMinimum:null,m.valueFormatString,m.stockChart._cultureInfo);this.style.display="none";m._textBlocks[0].borderColor=
|
|
961
961
|
m.style.borderColor;m._textBlocks[0].render(!0)}},this.rangeSelector.stockChart.allDOMEventHandlers);v(this.elements[1],"focus",function(){m.enabled&&(m.elements[1].focused=!0,m._textBlocks[1].borderColor=m.style.borderColorOnFocus,m._textBlocks[1].render(!0))},this.rangeSelector.stockChart.allDOMEventHandlers);v(this.elements[1],"focusout",function(){if(m.enabled){m.elements[1].focused=!1;var a;m.stockChart.charts&&m.stockChart.charts.length&&(a=m.stockChart.charts[0].axisX&&m.stockChart.charts[0].axisX.length?
|
|
962
962
|
m.stockChart.charts[0].axisX[0]:m.stockChart.charts[0].axisX2[0]);this.value="dateTime"===m.valueType?ea(a?a.viewportMaximum:null,"YYYY-MM-DD",m.stockChart._cultureInfo):aa(a?a.viewportMaximum:null,m.valueFormatString,m.stockChart._cultureInfo);this.style.display="none";m._textBlocks[1].borderColor=m.style.borderColor;m._textBlocks[1].render(!0)}},this.rangeSelector.stockChart.allDOMEventHandlers);v(this.elements[0],"change",function(c){if(m.enabled){var b,d;m.stockChart.charts&&m.stockChart.charts.length&&
|
|
963
963
|
(m.stockChart.navigator&&m.stockChart.navigator.enabled&&(d=m.stockChart.navigator&&m.stockChart.navigator.chart&&m.stockChart.navigator.chart.axisX?m.stockChart.navigator.chart.axisX[0]:m.stockChart.navigator.chart.axisX2[0]),b=m.stockChart.charts[0].axisX&&m.stockChart.charts[0].axisX.length?m.stockChart.charts[0].axisX[0]:m.stockChart.charts[0].axisX2[0]);c="dateTime"===m.valueType?isNaN((new Date(this.value.replace(/-/g,"/"))).getTime())?null:(new Date(this.value.replace(/-/g,"/"))).getTime():
|
|
964
|
-
this.value;a=f(d)?!f(c)&&c<(f(b)?null:b.maximum)?Math.max(f(b)?null:b.minimum,c):f(b)?null:b.minimum:!f(c)&&c<(f(d)?null:d.maximum)?Math.max(f(d)?null:d.minimum,c):f(d)?null:d.minimum;
|
|
965
|
-
a;m.stockChart.sessionVariables._axisXMax=
|
|
966
|
-
(d=m.stockChart.navigator&&m.stockChart.navigator.chart&&m.stockChart.navigator.chart.axisX?m.stockChart.navigator.chart.axisX[0]:m.stockChart.navigator.chart.axisX2[0]),b=m.stockChart.charts[0].axisX&&m.stockChart.charts[0].axisX.length?m.stockChart.charts[0].axisX[0]:m.stockChart.charts[0].axisX2[0]);c="dateTime"===m.valueType?isNaN((new Date(this.value.replace(/-/g,"/"))).getTime())?null:(new Date(this.value.replace(/-/g,"/"))).getTime():this.value;a=b?b.viewportMinimum:null;
|
|
967
|
-
b.minimum:null)?Math.min(b?b.maximum:null,c):b?b.maximum:null:!f(c)&&c>(d?d.minimum:null)?Math.min(d?d.maximum:null,c):d?d.maximum:null;m.stockChart._rangeEventParameter={stockChart:m.stockChart,source:"inputFields",index:null,minimum:a,maximum:
|
|
968
|
-
|
|
964
|
+
this.value;a=f(d)?!f(c)&&c<(f(b)?null:b.maximum)?Math.max(f(b)?null:b.minimum,c):f(b)?null:b.minimum:!f(c)&&c<(f(d)?null:d.maximum)?Math.max(f(d)?null:d.minimum,c):f(d)?null:d.minimum;g=f(b)?null:b.viewportMaximum;m.stockChart._rangeEventParameter={stockChart:m.stockChart,source:"inputFields",index:null,minimum:a,maximum:g};m.stockChart._rangeEventParameter.type="rangeChanging";m.stockChart.dispatchEvent("rangeChanging",m.stockChart._rangeEventParameter,m.stockChart);m.stockChart.sessionVariables._axisXMin=
|
|
965
|
+
a;m.stockChart.sessionVariables._axisXMax=g;m.stockChart._syncCharts(a,g);m.stockChart._rangeEventParameter.type="rangeChanged";m.stockChart.dispatchEvent("rangeChanged",m.stockChart._rangeEventParameter,m.stockChart);m.stockChart.rangeSelector&&m.stockChart.rangeSelector.resetRangeButtons()}},this.rangeSelector.stockChart.allDOMEventHandlers);v(this.elements[1],"change",function(c){if(m.enabled){var b,d;m.stockChart.charts&&m.stockChart.charts.length&&(m.stockChart.navigator&&m.stockChart.navigator.enabled&&
|
|
966
|
+
(d=m.stockChart.navigator&&m.stockChart.navigator.chart&&m.stockChart.navigator.chart.axisX?m.stockChart.navigator.chart.axisX[0]:m.stockChart.navigator.chart.axisX2[0]),b=m.stockChart.charts[0].axisX&&m.stockChart.charts[0].axisX.length?m.stockChart.charts[0].axisX[0]:m.stockChart.charts[0].axisX2[0]);c="dateTime"===m.valueType?isNaN((new Date(this.value.replace(/-/g,"/"))).getTime())?null:(new Date(this.value.replace(/-/g,"/"))).getTime():this.value;a=b?b.viewportMinimum:null;g=f(d)?!f(c)&&c>(b?
|
|
967
|
+
b.minimum:null)?Math.min(b?b.maximum:null,c):b?b.maximum:null:!f(c)&&c>(d?d.minimum:null)?Math.min(d?d.maximum:null,c):d?d.maximum:null;m.stockChart._rangeEventParameter={stockChart:m.stockChart,source:"inputFields",index:null,minimum:a,maximum:g};m.stockChart._rangeEventParameter.type="rangeChanging";m.stockChart.dispatchEvent("rangeChanging",m.stockChart._rangeEventParameter,m.stockChart);m.stockChart.sessionVariables._axisXMin=a;m.stockChart.sessionVariables._axisXMax=g;m.stockChart._syncCharts(a,
|
|
968
|
+
g);m.stockChart._rangeEventParameter.type="rangeChanged";m.stockChart.dispatchEvent("rangeChanged",m.stockChart._rangeEventParameter,m.stockChart);m.stockChart.rangeSelector&&m.stockChart.rangeSelector.resetRangeButtons()}},this.rangeSelector.stockChart.allDOMEventHandlers);v(this.elements[0],"keydown",function(a){if(m.enabled&&13===a.keyCode){var b="dateTime"===m.valueType?ea(m.startValue,"YYYY-MM-DD"):aa(m.startValue,m.valueFormatString);this.value!=b&&ib(this,"change");this.blur();a.preventDefault&&
|
|
969
969
|
a.preventDefault()}},this.rangeSelector.stockChart.allDOMEventHandlers);v(this.elements[1],"keydown",function(a){if(m.enabled&&13===a.keyCode){var b="dateTime"===m.valueType?ea(m.endValue,"YYYY-MM-DD"):aa(m.endValue,m.valueFormatString);this.value!=b&&ib(this,"change");this.blur();a.preventDefault&&a.preventDefault()}},this.rangeSelector.stockChart.allDOMEventHandlers)}function X(d,k){X.base.constructor.call(this,"ButtonStyle","buttonStyle",k,null,d.rangeSelector);this.stockChart=d;this.parent=this.rangeSelector=
|
|
970
970
|
d.rangeSelector;this.options=f(k)||f(k.buttonStyle)?{}:k.buttonStyle;this.optionsName="buttonStyle"}function Y(d,k){Y.base.constructor.call(this,"Style","style",k,null,d.rangeSelector.inputFields);this.stockChart=d;this.parent=this.inputFields=d.rangeSelector.inputFields;this.options=f(k)||f(k.style)?{}:k.style;this.optionsName="style"}var V=!0;ga(H,ba);H.prototype._updateOptions=function(){this.updateOption("width");this.updateOption("height");this.updateOption("theme");this.updateOption("colorSet")&&
|
|
971
971
|
(this.selectedColorSet="undefined"!==typeof ya[this.colorSet]?ya[this.colorSet]:ya.colorSet1);this.updateOption("backgroundColor");this.backgroundColor||(this.backgroundColor="rgba(0,0,0,0)");this.updateOption("exportEnabled");this.updateOption("exportFileName");this.updateOption("creditHref");this.updateOption("creditHref");this.updateOption("culture");this._cultureInfo=new Oa(this.options.culture);this.updateOption("animationEnabled");this.updateOption("animationDuration");this.updateOption("rangeChanging");
|
|
@@ -995,62 +995,62 @@ maxHeight:2*this.rangeSelector.inputFields.style.fontSize,angle:0,padding:this.r
|
|
|
995
995
|
textBaseline:"middle"});var m=d.measureText(),a=new ma(this.rangeSelector.ctx,{x:0,y:0,backgroundColor:s?"transparent":null,borderColor:this.rangeSelector.inputFields.style.borderColor,borderThickness:0,cornerRadius:0,maxWidth:this.rangeSelector.inputFields.style.maxWidth,maxHeight:2*this.rangeSelector.inputFields.style.fontSize,angle:0,padding:this.rangeSelector.inputFields.style.padding,text:"From",horizontalAlign:"left",fontSize:this.rangeSelector.inputFields.style.fontSize,fontFamily:this.rangeSelector.inputFields.style.fontFamily,
|
|
996
996
|
fontWeight:this.rangeSelector.inputFields.style.fontWeight,fontColor:this.rangeSelector.inputFields.style.fontColor,fontStyle:this.rangeSelector.inputFields.style.fontStyle,textBaseline:"middle"});this.rangeSelector.inputFields._textBlocks.push(d);this.rangeSelector.inputFields._labels.push(a);this.rangeSelector.inputFields._textBlocks[t].bounds={x1:null,x2:null,y1:null,y2:null,width:null,height:null};this.rangeSelector.inputFields._labels[t].bounds={x1:null,x2:null,y1:null,y2:null,width:null,height:null};
|
|
997
997
|
this.rangeSelector.inputFieldsWidth+=m.width+this.rangeSelector.inputFields.style.spacing+a.measureText().width;this.rangeSelector.inputFieldsHeight=this.rangeSelector.inputFieldsHeight<m.height?m.height:this.rangeSelector.inputFieldsHeight;d=this.rangeSelector.inputFields._textBlocks[t];d.id=++this.rangeSelector.stockChart._eventManager.lastObjectId;this.rangeSelector.stockChart._eventManager.objectMap[d.id]={id:d.id,objectType:"inputFields",inputFieldIndex:t}}this.rangeSelector.buttonStyle._updateOptions();
|
|
998
|
-
this.rangeSelector._initialize();this._objectsInitialized=!0};H.prototype.render=function(d){var m=this;d&&(this.options=d);this._initialize();this.title&&this.title.render();if(this.subtitles)for(d=0;d<this.subtitles.length;d++)this.subtitles[d].render();var t;if(this.options.charts){t=Array(this.options.charts.length);var z=this.layoutManager.getFreeSpace(),a=z.height,z=z.height,
|
|
999
|
-
(t[d]=0<=this.options.charts[d].height.toString().indexOf("%")?Wa(this.options.charts[d].height,a,Math.floor(z/
|
|
1000
|
-
|
|
998
|
+
this.rangeSelector._initialize();this._objectsInitialized=!0};H.prototype.render=function(d){var m=this;d&&(this.options=d);this._initialize();this.title&&this.title.render();if(this.subtitles)for(d=0;d<this.subtitles.length;d++)this.subtitles[d].render();var t;if(this.options.charts){t=Array(this.options.charts.length);var z=this.layoutManager.getFreeSpace(),a=z.height,z=z.height,g=this.options.charts.length;for(d=0;d<this.options.charts.length;d++)!f(this.options.charts[d].height)&&parseFloat(this.options.charts[d].height)&&
|
|
999
|
+
(t[d]=0<=this.options.charts[d].height.toString().indexOf("%")?Wa(this.options.charts[d].height,a,Math.floor(z/g),this.height,0):this.options.charts[d].height,z-=t[d],g--);z=Math.floor(z/g);for(d=0;d<this.options.charts.length;d++)f(t[d])&&(t[d]=z);var c,g=this.options.charts,b=this.charts;this.charts=[];for(d=0;d<g.length;d++){z=this.layoutManager.getFreeSpace();a=g[d];a.theme=g[d].theme?g[d].theme:this.options.theme?this.options.theme:this.theme;a.animationEnabled=f(g[d].animationEnabled)?this.animationEnabled:
|
|
1000
|
+
g[d].animationEnabled;a.animationDuration=g[d].animationDuration?g[d].animationDuration:this.animationDuration;a.culture=g[d].culture?g[d].culture:this.culture;a.height=g[d].height?t[d]:null;f(this.options.charts[d].backgroundColor)&&!f(this.options.backgroundColor)&&(a.backgroundColor=this.backgroundColor);for(c=b.length;0<c--&&b[c].options!==a;);0<=c?(this.charts[d]=b[c],this.charts[d].options=a):(c=k("canvasjs-chart-panel"),c.style.height=t[d]+"px",this._canvasJSContainer.appendChild(c),this.charts[d]=
|
|
1001
1001
|
new Ka(c,a,{parent:this,isOptionsInArray:!0,index:d,predefinedThemes:cb,optionsName:"charts",stockChart:this}));this.charts[d].panel.style.width=z.width+"px";this.charts[d].panel.style.top=z.y1+"px";this.charts[d].panel.style.left=z.x1+"px";this.charts[d].panel.style.height=t[d]+"px";this.charts[d].height=a.height?a.height:t[d];this.layoutManager.registerSpace("top",{width:z.width,height:t[d]})}b=null;for(d=0;d<this.charts.length;d++)if(!f(this.options.charts[d].data))for(c=0;c<this.options.charts[d].data.length;c++)t=
|
|
1002
1002
|
this.options.charts[d].data[c],0<=H._supportedChartTypes.indexOf(t.type)||f(t.type)||(V=!1,window.console&&window.console.log("CanvasJS Error: "+t.type+" Chart is not Supported in StockChart"));if(!V)return;this.setChartsLayout();for(d=t=0;d<this.charts.length;d++)if(f(this.charts[d].options.colorSet)){this.charts[d].selectedColorSet=[];for(c=t;c<t+this.charts[d].data.length;c++)this.charts[d].selectedColorSet.push(this.selectedColorSet[c%this.selectedColorSet.length]);t+=this.charts[d].data.length}if(this.navigator&&
|
|
1003
1003
|
this.navigator.enabled)if(this.navigator.options.data){this.navigator.chart.selectedColorSet=[];for(c=t;c<t+this.navigator.chart.data.length;c++)this.navigator.chart.selectedColorSet.push(this.selectedColorSet[c%this.selectedColorSet.length]);t+=this.navigator.chart.data.length}else this.navigator.chart.selectedColorSet=this.charts[0].selectedColorSet}if(this.navigator&&this.navigator.enabled){for(d=0;d<this.navigator.chart.data.length;d++)0<=H._supportedChartTypes.indexOf(this.navigator.chart.data[d].type)||
|
|
1004
|
-
(V=!1,window.console&&window.console.log("CanvasJS Error: "+this.navigator.chart.data[d].type+" Chart is not Supported in Navigator"));if(V){var
|
|
1005
|
-
this._chartsPlotAreaX1+(
|
|
1006
|
-
this.navigator.animationEnabled=this.navigator.chart.animationEnabled;this.navigator.animationDuration=this.navigator.chart.animationDuration;this.navigator.theme=this.navigator.chart.theme;this.navigator.axisX=this.navigator.chart.axisX;this.navigator.axisX2=this.navigator.chart.axisX2;this.navigator.axisY=this.navigator.chart.axisY;this.navigator.axisY2=this.navigator.chart.axisY2;this.navigator.data=this.navigator.chart.data}}z=t=null;c=0;
|
|
1007
|
-
this.charts[d].axisX.length?this.charts[d].axisX:this.charts[d].axisX2,t=t||(b&&0<b.length?b[0].minimum:null),z=z||(b&&0<b.length?b[0].maximum:null),c=0;c<b.length;c++)
|
|
1008
|
-
null:Math.max(l.minimum,this.navigator.slider.minimum),this._axisXMax=this.navigator.slider.maximum=f(this.navigator.options.slider)||f(this.navigator.options.slider.maximum)?null:Math.min(l.maximum,this.navigator.slider.maximum));if(this.rangeSelector&&this.rangeSelector.enabled){c=l?l.maximum-l.minimum:z-t;this.charts&&this.charts.length&&(
|
|
1004
|
+
(V=!1,window.console&&window.console.log("CanvasJS Error: "+this.navigator.chart.data[d].type+" Chart is not Supported in Navigator"));if(V){var e=this.navigator.chart.axisX&&this.navigator.chart.axisX.length?this.navigator.chart.axisX[0]:this.navigator.chart.axisX2[0];e&&(e.bounds&&e.bounds.x1>this._chartsPlotAreaX1)&&(this._chartsPlotAreaX1=e.bounds.x1);this.navigator.width=this.navigator.chart.width=this.navigator.slider.fullWidth=this.navigator.options.width?this.navigator.options.width:this._chartsPlotAreaX2-
|
|
1005
|
+
this._chartsPlotAreaX1+(e&&e.bounds?e.bounds.x1:0);this.navigator.panel.style.left=this._chartsPlotAreaX1+this.layoutManager.getFreeSpace().x1-(e&&e.bounds?e.bounds.x1:0)+"px";this.navigator.panel.style.width=this.navigator.chart.panel.style.width=this.navigator.options.width?this.navigator.options.width:this._chartsPlotAreaX2-this._chartsPlotAreaX1+(e&&e.bounds?e.bounds.x1:0)+"px";0<this.navigator.height&&this.navigator.chart.render(this.navigator._chartOptions);this.navigator.backgroundColor=this.navigator.chart.backgroundColor;
|
|
1006
|
+
this.navigator.animationEnabled=this.navigator.chart.animationEnabled;this.navigator.animationDuration=this.navigator.chart.animationDuration;this.navigator.theme=this.navigator.chart.theme;this.navigator.axisX=this.navigator.chart.axisX;this.navigator.axisX2=this.navigator.chart.axisX2;this.navigator.axisY=this.navigator.chart.axisY;this.navigator.axisY2=this.navigator.chart.axisY2;this.navigator.data=this.navigator.chart.data}}z=t=null;c=0;g=a=null;for(d=0;d<this.charts.length;d++)for(b=this.charts[d].axisX&&
|
|
1007
|
+
this.charts[d].axisX.length?this.charts[d].axisX:this.charts[d].axisX2,t=t||(b&&0<b.length?b[0].minimum:null),z=z||(b&&0<b.length?b[0].maximum:null),c=0;c<b.length;c++)e=b[c],e.minimum<t&&(t=e.minimum),e.maximum>z&&(z=e.maximum);var l;this.navigator&&(this.navigator.chart&&V)&&(l=this.navigator.chart.axisX&&0<this.navigator.chart.axisX.length?this.navigator.chart.axisX[0]:this.navigator.chart.axisX2[0],this._axisXMin=this.navigator.slider.minimum=f(this.navigator.options.slider)||f(this.navigator.options.slider.minimum)?
|
|
1008
|
+
null:Math.max(l.minimum,this.navigator.slider.minimum),this._axisXMax=this.navigator.slider.maximum=f(this.navigator.options.slider)||f(this.navigator.options.slider.maximum)?null:Math.min(l.maximum,this.navigator.slider.maximum));if(this.rangeSelector&&this.rangeSelector.enabled){c=l?l.maximum-l.minimum:z-t;this.charts&&this.charts.length&&(e=this.charts[0].axisX&&this.charts[0].axisX.length?this.charts[0].axisX[0]:this.charts[0].axisX2[0]);for(d=0;d<this.rangeSelector.buttons.length;d++){var v=
|
|
1009
1009
|
null,b=this.rangeSelector.buttons[d];"year"===b.rangeType?v=31104E6*b.range:"ytd"===b.rangeType?v="ytd":"month"===b.rangeType?v=2592E6*b.range:"week"===b.rangeType?v=6048E5*b.range:"day"===b.rangeType?v=864E5*b.range:"hour"===b.rangeType?v=36E5*b.range:"minute"===b.rangeType?v=6E4*b.range:"second"===b.rangeType?v=1E3*b.range:"millisecond"===b.rangeType?v=b.range:"all"===b.rangeType?v=null:"number"===b.rangeType&&(v=b.range);if("ytd"===b.rangeType||v<c)b.enabled=!0;b.enabled?(b.cursor=this.rangeSelector.buttonStyle.cursor,
|
|
1010
|
-
"on"===b.state&&((f(this._axisXMin)&&f(this._axisXMax)&&(b.textBlock.fontWeight="bold",b.textBlock.fontColor=this.rangeSelector.buttonStyle.labelFontColorOnHover,b.textBlock.backgroundColor=this.rangeSelector.buttonStyle.backgroundColorOnSelect),"ytd"===b.rangeType&&
|
|
1011
|
-
|
|
1010
|
+
"on"===b.state&&((f(this._axisXMin)&&f(this._axisXMax)&&(b.textBlock.fontWeight="bold",b.textBlock.fontColor=this.rangeSelector.buttonStyle.labelFontColorOnHover,b.textBlock.backgroundColor=this.rangeSelector.buttonStyle.backgroundColorOnSelect),"ytd"===b.rangeType&&e)?(a=new Date(e.viewportMaximum),a.setDate(1),a.setMonth(0),a=a.getTime()):f(v)?l?(a=l.minimum,g=l.maximum):e&&(a=e.minimum,g=e.maximum):e.viewportMaximum-v<(l?l.minimum:e.minimum)?(g=l.minimum-(e.viewportMaximum-v),a=l.minimum,g=Math.min(l.maximum,
|
|
1011
|
+
e.viewportMaximum+g)):(a=e.viewportMaximum-v,g=e.viewportMaximum)),f(this._axisXMin)&&f(this._axisXMax)||(b.state="off"),this._axisXMin=f(this._axisXMin)?a:this._axisXMin,this._axisXMax=f(this._axisXMax)?g:this._axisXMax):b.cursor="not-allowed";b.mousemove=function(a){this.enabled&&"off"===this.state&&(this.textBlock.backgroundColor=a.stockChart.rangeSelector.buttonStyle.backgroundColorOnHover,this.textBlock.fontColor=a.stockChart.rangeSelector.buttonStyle.labelFontColorOnHover,this.textBlock.render(!0))};
|
|
1012
1012
|
b.mouseover=function(a){this.enabled&&"off"===this.state&&(this.textBlock.backgroundColor=a.stockChart.rangeSelector.buttonStyle.backgroundColorOnHover,this.textBlock.fontColor=a.stockChart.rangeSelector.buttonStyle.labelFontColorOnHover,this.textBlock.render(!0))};b.mouseout=function(a){this.enabled&&"off"===this.state&&(this.textBlock.backgroundColor=a.stockChart.rangeSelector.buttonStyle.backgroundColor,this.textBlock.fontColor=a.stockChart.rangeSelector.buttonStyle.labelFontColor,this.textBlock.render(!0))};
|
|
1013
1013
|
b.click=function(a){if(this.enabled){for(var b=0,c=null,d=null,e=0;e<m.rangeSelector.buttons.length;e++)m.rangeSelector.buttons[e]!=this&&(m.rangeSelector.buttons[e].state="off"),m.rangeSelector.buttons[e].textBlock.fontWeight=m.rangeSelector.buttonStyle.labelFontWeight,m.rangeSelector.buttons[e].textBlock.fontColor=a.stockChart.rangeSelector.buttonStyle.labelFontColor,m.rangeSelector.buttons[e].textBlock.backgroundColor=a.stockChart.rangeSelector.buttonStyle.backgroundColor,m.rangeSelector.buttons[e].textBlock.render(!0);
|
|
1014
1014
|
var g;m.charts&&m.charts.length&&(g=m.charts[0].axisX&&m.charts[0].axisX.length?m.charts[0].axisX[0]:m.charts[0].axisX2[0]);var h;m.navigator&&m.navigator.chart&&(h=m.navigator.chart.axisX?m.navigator.chart.axisX[0]:m.navigator.chart.axisX2[0]);"year"===this.rangeType?b=31104E6*this.range:"month"===this.rangeType?b=2592E6*this.range:"week"===this.rangeType?b=6048E5*this.range:"day"===this.rangeType?b=864E5*this.range:"hour"===this.rangeType?b=36E5*this.range:"minute"===this.rangeType?b=6E4*this.range:
|
|
1015
1015
|
"second"===this.rangeType?b=1E3*this.range:"millisecond"===this.rangeType?b=this.range:"all"===this.rangeType?b=null:"number"===this.rangeType&&(b=this.range);"ytd"===this.rangeType&&g?(c=new Date(g.viewportMaximum),c.setDate(1),c.setMonth(0),b=c.getTime(),c=Math.max(b,h?h.minimum:g.minimum),d=g.viewportMaximum):f(b)?h?(c=h.minimum,d=h.maximum):g&&(c=g.minimum,d=g.maximum):h&&g.viewportMaximum-b<(h?h.minimum:g.minimum)?(h=m.navigator.chart.axisX[0].minimum-(g.viewportMaximum-b),c=m.navigator.chart.axisX[0].minimum,
|
|
1016
1016
|
d=Math.min(m.navigator.chart.axisX[0].maximum,g.viewportMaximum+h)):(c=g.viewportMaximum-b,d=g.viewportMaximum);m._rangeEventParameter={stockChart:m,source:"buttons",index:this._index,minimum:c,maximum:d};"on"!=this.state&&(m._rangeEventParameter.type="rangeChanging",m.dispatchEvent("rangeChanging",m._rangeEventParameter,m),m._syncCharts(c,d),m.sessionVariables._axisXMin=c,m.sessionVariables._axisXMax=d,m._rangeEventParameter.type="rangeChanged",m.dispatchEvent("rangeChanged",m._rangeEventParameter,
|
|
1017
1017
|
m),this.state="on");this.textBlock.fontWeight="bold";this.textBlock.fontColor=a.stockChart.rangeSelector.buttonStyle.labelFontColorOnHover;this.textBlock.backgroundColor=a.stockChart.rangeSelector.buttonStyle.backgroundColorOnSelect;this.textBlock.render(!0)}}}if(this.rangeSelector.inputFields&&this.rangeSelector.inputFields.enabled){this.rangeSelector.inputFields.valueType=this.options.rangeSelector&&this.options.rangeSelector.inputFields&&this.options.rangeSelector.inputFields.valueType?this.options.rangeSelector.inputFields.valueType:
|
|
1018
|
-
this.isDateTime?"dateTime":"number";for(d=0;d<this.rangeSelector.inputFields._textBlocks.length;d++)
|
|
1019
|
-
|
|
1020
|
-
this.options.rangeSelector&&this.options.rangeSelector.inputFields&&this.options.rangeSelector.inputFields.valueFormatString?this.options.rangeSelector.inputFields.valueFormatString:"MMM DD YYYY",this.rangeSelector.inputFields.startValue=f(this.rangeSelector.inputFields.options.startValue)?f(a)?t:a:ea(this.rangeSelector.inputFields.options.startValue,this.rangeSelector.inputFields.valueFormatString),this.rangeSelector.inputFields.endValue=f(this.rangeSelector.inputFields.options.endValue)?f(
|
|
1021
|
-
|
|
1022
|
-
this.rangeSelector.inputFields.endValue=f(this.rangeSelector.inputFields.options.endValue)?f(
|
|
1023
|
-
s||(d=d.replace(/-/g,"/"),
|
|
1018
|
+
this.isDateTime?"dateTime":"number";for(d=0;d<this.rangeSelector.inputFields._textBlocks.length;d++)e=this.rangeSelector.inputFields._textBlocks[d],e.mousemove=function(a){m.rangeSelector&&m.rangeSelector.inputFields&&!m.rangeSelector.inputFields.enabled||(a.inputField.cursor=a.stockChart.rangeSelector.inputFields.style.cursor)},e.mouseover=function(a){m.rangeSelector&&m.rangeSelector.inputFields&&!m.rangeSelector.inputFields.enabled||(a.inputField.cursor=a.stockChart.rangeSelector.inputFields.style.cursor)},
|
|
1019
|
+
e.mouseout=function(a){m.rangeSelector&&m.rangeSelector.inputFields&&!m.rangeSelector.inputFields.enabled||(a.inputField.cursor="auto")},e.click=function(a){m.rangeSelector&&m.rangeSelector.inputFields&&!m.rangeSelector.inputFields.enabled||(a.stockChart.rangeSelector.inputFields.elements[a.inputFieldIndex].style.display="inline",a.stockChart.rangeSelector.inputFields.elements[a.inputFieldIndex].focus())};if(isFinite(t)&&isFinite(z)){"dateTime"===this.rangeSelector.inputFields.valueType?(this.rangeSelector.inputFields.valueFormatString=
|
|
1020
|
+
this.options.rangeSelector&&this.options.rangeSelector.inputFields&&this.options.rangeSelector.inputFields.valueFormatString?this.options.rangeSelector.inputFields.valueFormatString:"MMM DD YYYY",this.rangeSelector.inputFields.startValue=f(this.rangeSelector.inputFields.options.startValue)?f(a)?t:a:ea(this.rangeSelector.inputFields.options.startValue,this.rangeSelector.inputFields.valueFormatString),this.rangeSelector.inputFields.endValue=f(this.rangeSelector.inputFields.options.endValue)?f(g)?z:
|
|
1021
|
+
g:ea(this.rangeSelector.inputFields.options.endValue,this.rangeSelector.inputFields.valueFormatString)):(this.rangeSelector.inputFields.valueFormatString=this.options.rangeSelector&&this.options.rangeSelector.inputFields&&this.options.rangeSelector.inputFields.valueFormatString?this.options.rangeSelector.inputFields.valueFormatString:"#,##0.##",this.rangeSelector.inputFields.startValue=f(this.rangeSelector.inputFields.options.startValue)?f(a)?t:a:this.rangeSelector.inputFields.options.startValue,
|
|
1022
|
+
this.rangeSelector.inputFields.endValue=f(this.rangeSelector.inputFields.options.endValue)?f(g)?z:g:this.rangeSelector.inputFields.options.endValue);if(!(f(this._axisXMin)&&f(this._axisXMax)&&f(this.rangeSelector.inputFields.options.startValue)&&f(this.rangeSelector.inputFields.options.endValue)))for(c=0;c<this.rangeSelector.buttons.length;c++)b=this.rangeSelector.buttons[c];d=ea(this.rangeSelector.inputFields.startValue,"YYYY-MM-DD'T'HH:mm:ssZ");e=ea(this.rangeSelector.inputFields.endValue,"YYYY-MM-DD'T'HH:mm:ssZ");
|
|
1023
|
+
s||(d=d.replace(/-/g,"/"),e=e.replace(/-/g,"/"),d=d.replace("T"," "),e=e.replace("T"," "),d=d.replace(/(\+[0-9]{2})(\:)([0-9]{2}$)/," UTC$1$3"),e=e.replace(/(\+[0-9]{2})(\:)([0-9]{2}$)/," UTC$1$3"));this._axisXMin=f(this._axisXMin)?"dateTime"===this.rangeSelector.inputFields.valueType?(new Date(d)).getTime():this.rangeSelector.inputFields.startValue:this._axisXMin;this._axisXMax=f(this._axisXMax)?"dateTime"===this.rangeSelector.inputFields.valueType?(new Date(e)).getTime():this.rangeSelector.inputFields.endValue:
|
|
1024
1024
|
this._axisXMax}for(d=0;d<this.rangeSelector.inputFields.elements.length;d++)this.rangeSelector.inputFields.elements[d].title="dateTime"===this.rangeSelector.inputFields.valueType?"YYYY-MM-DD":this.rangeSelector.inputFields.valueFormatString}this.rangeSelector.render()}f(this._axisXMin)&&(this._axisXMin=t);f(this._axisXMax)&&(this._axisXMax=z);this._axisXMin=!f(this.sessionVariables._axisXMin)&&this.navigator&&this.navigator.slider&&!this.navigator.slider.hasOptionChanged("minimum")?this.sessionVariables._axisXMin:
|
|
1025
1025
|
this._axisXMin;this._axisXMax=!f(this.sessionVariables._axisXMax)&&this.navigator&&this.navigator.slider&&!this.navigator.slider.hasOptionChanged("maximum")?this.sessionVariables._axisXMax:this._axisXMax;if(!f(l)){this.navigator.slider.hasOptionChanged("minimum")&&(this._axisXMin=this.sessionVariables._axisXMin=this.navigator.slider.sessionVariables.minimum=this.navigator.slider.minimum=this.navigator.slider.options.minimum);this.navigator.slider.hasOptionChanged("maximum")&&(this._axisXMax=this.sessionVariables._axisXMax=
|
|
1026
1026
|
this.navigator.slider.sessionVariables.maximum=this.navigator.slider.maximum=this.navigator.slider.options.maximum);if(this._axisXMin<l.minimum||this._axisXMin>l.maximum)this._axisXMin=l.minimum;if(this._axisXMax<l.minimum||this._axisXMax>l.maximum)this._axisXMax=l.maximum}!f(l)&&l.reversed?this._syncCharts(this._axisXMax,this._axisXMin):this._syncCharts(this._axisXMin,this._axisXMax)};H.prototype.setChartsLayout=function(){var d,f,k=0,m=this.width;this.isPlotAreaSet=this.isDateTime=!1;for(var a=
|
|
1027
|
-
0;a<this.charts.length;a++){d=this.charts[a];d._initialize();d.setLayout();f={};if((d.axisX[0]||d.axisX2[0])&&(d.axisY[0]||d.axisY2[0])){var
|
|
1028
|
-
0;
|
|
1027
|
+
0;a<this.charts.length;a++){d=this.charts[a];d._initialize();d.setLayout();f={};if((d.axisX[0]||d.axisX2[0])&&(d.axisY[0]||d.axisY2[0])){var g=d.axisX[0]?d.axisX[0].lineCoordinates:d.axisX2[0].lineCoordinates;if(d.axisY&&0<d.axisY.length&&d.axisY[0]){var c=d.axisY[0];f.x1=g.x1<g.x2?g.x1:c.lineCoordinates.x1;f.x2=g.x2>c.lineCoordinates.x2?g.x2:c.lineCoordinates.x2}d.axisY2&&0<d.axisY2.length&&d.axisY2[0]&&(c=d.axisY2[0],f.x1=g.x1<g.x2?g.x1:c.lineCoordinates.x1,f.x2=g.x2>c.lineCoordinates.x2?g.x2:c.lineCoordinates.x2)}for(g=
|
|
1028
|
+
0;g<d.data.length;g++)"dateTime"===d.data[g].xValueType&&(this.isDateTime=!0);k=Math.max(k,f.x1);m=Math.min(m,f.x2);d.sessionVariables.plotAreaBounds=f}this._chartsPlotAreaX1=k;this._chartsPlotAreaX2=m};H.prototype._updateSize=function(){return mb.call(this,[this.canvas,this.overlaidCanvas])};H.prototype._syncCharts=function(d,k){for(var m=this,s=null,a=Math.min(d,k),g=Math.max(d,k),c=0;c<this.charts.length;c++){s=this.charts[c];s.toolTip&&s.toolTip.enabled&&s.toolTip.hide();for(var b=0;b<s.axisX.length;b++)s.axisX[b].setViewPortRange(d,
|
|
1029
1029
|
k),s.axisX[b].options.labelAngle=f(s.axisX[b].options.labelAngle)?0:s.axisX[b].options.labelAngle,this.charts[c].axisX[b].crosshair&&this.charts[c].axisX[b].crosshair.enabled&&(this.charts[c].axisX[b].crosshair.options.updated||(this.charts[c].axisX[b].crosshair.options.updated=function(a){for(var b=0;b<m.charts.length;b++)if(m.charts[b]!=a.chart)for(var c=0;c<m.charts[b].axisX.length;c++)m.charts[b].axisX[c].crosshair&&m.charts[b].axisX[c].crosshair.showAt(a.value)}),this.charts[c].axisX[b].crosshair.options.hidden||
|
|
1030
1030
|
(this.charts[c].axisX[b].crosshair.options.hidden=function(a){for(var b=0;b<m.charts.length;b++)if(m.charts[b]!=a.chart)for(var c=0;c<m.charts[b].axisX.length;c++)m.charts[b].axisX[c].crosshair&&m.charts[b].axisX[c].crosshair.hide()}));for(b=0;b<s.axisX2.length;b++)s.axisX2[b].setViewPortRange(d,k),s.axisX2[b].options.labelAngle=f(s.axisX2[b].options.labelAngle)?0:s.axisX2[b].options.labelAngle,this.charts[c].axisX2[b].crosshair&&this.charts[c].axisX2[b].crosshair.enabled&&(this.charts[c].axisX2[b].crosshair.options.updated||
|
|
1031
1031
|
(this.charts[c].axisX2[b].crosshair.options.updated=function(a){for(var b=0;b<m.charts.length;b++)if(m.charts[b]!=a.chart)for(var c=0;c<m.charts[b].axisX2.length;c++)m.charts[b].axisX2[c].crosshair&&m.charts[b].axisX2[c].crosshair.showAt(a.value)}),this.charts[c].axisX2[b].crosshair.options.hidden||(this.charts[c].axisX2[b].crosshair.options.hidden=function(a){for(var b=0;b<m.charts.length;b++)if(m.charts[b]!=a.chart)for(var c=0;c<m.charts[b].axisX2.length;c++)m.charts[b].axisX2[c].crosshair&&m.charts[b].axisX2[c].crosshair.hide()}));
|
|
1032
1032
|
s.options.toolbar?s.options.toolbar=s.options.toolbar:m.options.toolbar&&(s.options.toolbar=m.options.toolbar);s._initialize();s.setLayout();s.panEnabled=s.options.zoomEnabled&&s.zoomEnabled?!1:!0;s.renderElements();(f(this.charts[c].options.toolTip)||!f(this.charts[c].options.toolTip)&&f(this.charts[c].options.toolTip.updated))&&this.charts[c].toolTip&&(this.charts[c].toolTip.updated=function(a){for(var b=0;b<m.charts.length;b++)m.charts[b]!=a.chart&&m.charts[b].toolTip.showAtX(a.entries[0].xValue,
|
|
1033
|
-
a.entries[0].dataSeriesIndex)});(f(this.charts[c].options.toolTip)||!f(this.charts[c].options.toolTip)&&f(this.charts[c].options.toolTip.hidden))&&this.charts[c].toolTip&&(this.charts[c].toolTip.hidden=function(a){for(var b=0;b<m.charts.length;b++)m.charts[b]!=a.chart&&m.charts[b].toolTip.hide()})}this.rangeSelector&&(this.rangeSelector.enabled&&this.rangeSelector.inputFields&&this.rangeSelector.inputFields.enabled)&&this.rangeSelector._updateInputFields(a,
|
|
1034
|
-
this.navigator._updateSlider(a,
|
|
1033
|
+
a.entries[0].dataSeriesIndex)});(f(this.charts[c].options.toolTip)||!f(this.charts[c].options.toolTip)&&f(this.charts[c].options.toolTip.hidden))&&this.charts[c].toolTip&&(this.charts[c].toolTip.hidden=function(a){for(var b=0;b<m.charts.length;b++)m.charts[b]!=a.chart&&m.charts[b].toolTip.hide()})}this.rangeSelector&&(this.rangeSelector.enabled&&this.rangeSelector.inputFields&&this.rangeSelector.inputFields.enabled)&&this.rangeSelector._updateInputFields(a,g);this.navigator&&this.navigator.enabled&&
|
|
1034
|
+
this.navigator._updateSlider(a,g)};H.prototype.destroy=function(){for(var d=this.allDOMEventHandlers,f=0;f<this.charts.length;f++)this.charts[f].destroy();this.navigator&&this.navigator.enabled&&this.navigator.chart.destroy();for(f=0;f<d.length;f++)hb(d[f][0],d[f][1],d[f][2],d[f][3]);for(this.allDOMEventHandlers=[];this.navigator&&this.navigator.enabled&&this.navigator.panel.hasChildNodes();)this.navigator.panel.removeChild(this.navigator.panel.lastChild);for(;this._canvasJSContainer&&this._canvasJSContainer.hasChildNodes();)this._canvasJSContainer.removeChild(this._canvasJSContainer.lastChild);
|
|
1035
1035
|
for(;this.container&&this.container.hasChildNodes();)this.container.removeChild(this.container.lastChild);this.container=this._canvasJSContainer=null;Da(this.canvas);Da(this.overlaidCanvas);this._eventManager&&this._eventManager.ghostCanvas&&Da(this._eventManager.ghostCanvas);this.navigator.panel=null;this.rangeSelector.panel=null};H.prototype.exportChart=function(d){d="undefined"===typeof d?{}:d;var f=d.format?d.format:"png",k=d.fileName?d.fileName:this.exportFileName,m=this.canvas.cloneNode();m.setAttribute("class",
|
|
1036
|
-
m.getAttribute("class")+"-clone");var a=m.getContext("2d");a.drawImage(this.canvas,0,0);for(var
|
|
1037
|
-
position:{x:c.panel.offsetLeft,y:c.panel.offsetTop}}));for(c=0;c<
|
|
1036
|
+
m.getAttribute("class")+"-clone");var a=m.getContext("2d");a.drawImage(this.canvas,0,0);for(var g=[],c=0;c<this.charts.length;c++){var b=this.charts[c];g.push({canvas:b.canvas,position:{x:b.container.offsetLeft,y:b.container.offsetTop}});g.push({canvas:b.overlaidCanvas,position:{x:b.container.offsetLeft,y:b.container.offsetTop}})}this.navigator&&this.navigator.enabled&&(c=this.navigator,g.push({canvas:c.chart.canvas,position:{x:c.panel.offsetLeft,y:c.panel.offsetTop}}),g.push({canvas:c.chart.overlaidCanvas,
|
|
1037
|
+
position:{x:c.panel.offsetLeft,y:c.panel.offsetTop}}));for(c=0;c<g.length;c++)a.drawImage(g[c].canvas,g[c].position.x*ia,g[c].position.y*ia);if(d.toDataURL)return m.toDataURL("image/"+f);eb(m,f,k)};H.prototype.print=function(){var d=this.exportChart({toDataURL:!0}),f=document.createElement("iframe");f.setAttribute("class","canvasjs-chart-print-frame");P(f,{position:"absolute",width:"100%",border:0,margin:0,padding:0});f.style.height=this.height+"px";this._canvasJSContainer.appendChild(f);var k=this,
|
|
1038
1038
|
m=f.contentWindow||f.contentDocument.document||f.contentDocument;m.document.open();m.document.write('<!DOCTYPE HTML>\n<html><body><img src="'+d+'"/><body/></html>');m.document.body&&m.document.body.style&&(m.document.body.style.margin="0px 0px 0px 0px",m.document.body.style.padding="0px 0px 0px 0px");m.document.close();setTimeout(function(){m.focus();m.print();setTimeout(function(){k._canvasJSContainer.removeChild(f)},1E3)},500)};H.prototype.getObjectAtXY=function(d,k,m){m=null;if(!f(this.rangeSelector)){for(var s=
|
|
1039
1039
|
0;s<this.rangeSelector.buttons.length;s++){var a=this.rangeSelector.buttons[s];d>=a.bounds.x1&&(d<=a.bounds.x2&&k>=a.bounds.y1&&k<=a.bounds.y2)&&(m=a.id)}for(s=0;s<this.rangeSelector.inputFields._textBlocks.length;s++)a=this.rangeSelector.inputFields._textBlocks[s],d>=a.bounds.x1&&(d<=a.bounds.x2&&k>=a.bounds.y1&&k<=a.bounds.y2)&&(m=a.id)}return m};H.prototype._touchEventHandler=function(d){if(d.changedTouches){var k=[],m=d.changedTouches,s=m?m[0]:d,a=null;switch(d.type){case "touchstart":case "MSPointerDown":k=
|
|
1040
|
-
["mousemove","mousedown"];this._lastTouchData=Ba(s);this._lastTouchData.time=new Date;break;case "touchmove":case "MSPointerMove":k=["mousemove"];break;case "touchend":case "MSPointerUp":var
|
|
1041
|
-
|
|
1042
|
-
!this._lastTouchData.scroll||this._lastTouchData&&!this._lastTouchData.scroll&&250<
|
|
1040
|
+
["mousemove","mousedown"];this._lastTouchData=Ba(s);this._lastTouchData.time=new Date;break;case "touchmove":case "MSPointerMove":k=["mousemove"];break;case "touchend":case "MSPointerUp":var g=this._lastTouchData&&this._lastTouchData.time?new Date-this._lastTouchData.time:0,k="touchstart"===this._lastTouchEventType||"MSPointerDown"===this._lastTouchEventType||300>g?["mouseup","click"]:["mouseup"];break;default:return}if(!(m&&1<m.length)){a=Ba(s);a.time=new Date;try{var c=a.y-this._lastTouchData.y,
|
|
1041
|
+
g=a.time-this._lastTouchData.time;if(1<Math.abs(c)&&this._lastTouchData.scroll||5<Math.abs(c)&&250>g)this._lastTouchData.scroll=!0}catch(b){}this._lastTouchEventType=d.type;if(this._lastTouchData&&this._lastTouchData.scroll)this.isDrag&&this.resetOverlayedCanvas(),this.isDrag=!1;else for(m=0;m<k.length;m++)if(a=k[m],c=document.createEvent("MouseEvent"),c.initMouseEvent(a,!0,!0,window,1,s.screenX,s.screenY,s.clientX,s.clientY,!1,!1,!1,!1,0,null),s.target.dispatchEvent(c),this._lastTouchData&&!f(this._lastTouchData.scroll)&&
|
|
1042
|
+
!this._lastTouchData.scroll||this._lastTouchData&&!this._lastTouchData.scroll&&250<g||"click"===a)d.preventManipulation&&d.preventManipulation(),d.preventDefault&&d.cancelable&&d.preventDefault()}}};H.prototype._mouseEventHandler=function(d){"undefined"===typeof d.target&&d.srcElement&&(d.target=d.srcElement);var f=Ba(d),k=d.type,m,a;d.which?a=3==d.which:d.button&&(a=2==d.button);H.capturedEventParam&&(m=H.capturedEventParam,"mouseup"===k&&(H.capturedEventParam=null,m.stockChart.overlaidCanvas.releaseCapture?
|
|
1043
1043
|
m.stockChart.overlaidCanvas.releaseCapture():document.documentElement.removeEventListener("mouseup",m.stockChart._mouseEventHandler,!1)),m.hasOwnProperty(k)&&("mouseup"!==k||m.stockChart.overlaidCanvas.releaseCapture?d.target!==m.stockChart.overlaidCanvas&&s||m[k].call(m.context,f.x,f.y):d.target!==m.stockChart.overlaidCanvas&&(m.stockChart.isDrag=!1)));if(this._ignoreNextEvent)this._ignoreNextEvent=!1;else if(d.preventManipulation&&d.preventManipulation(),d.preventDefault&&d.preventDefault(),Ma&&
|
|
1044
|
-
window.console&&(window.console.log(k+" --\x3e x: "+f.x+"; y:"+f.y),a&&window.console.log(d.which),"mouseup"===k&&window.console.log("mouseup")),!a){if(!H.capturedEventParam&&this._events){for(var
|
|
1044
|
+
window.console&&(window.console.log(k+" --\x3e x: "+f.x+"; y:"+f.y),a&&window.console.log(d.which),"mouseup"===k&&window.console.log("mouseup")),!a){if(!H.capturedEventParam&&this._events){for(var g=0;g<this._events.length;g++)if(this._events[g].hasOwnProperty(k))if(m=this._events[g],a=m.bounds,f.x>=a.x1&&f.x<=a.x2&&f.y>=a.y1&&f.y<=a.y2){m[k].call(m.context,f.x,f.y);"mousedown"===k&&!0===m.capture?(Chart.capturedEventParam=m,this.overlaidCanvas.setCapture?this.overlaidCanvas.setCapture():document.documentElement.addEventListener("mouseup",
|
|
1045
1045
|
this._mouseEventHandler,!1)):"mouseup"===k&&(m.stockChart.overlaidCanvas.releaseCapture?m.stockChart.overlaidCanvas.releaseCapture():document.documentElement.removeEventListener("mouseup",this._mouseEventHandler,!1));break}else m=null;d.target.style.cursor=m&&m.cursor?m.cursor:this._defaultCursor}k=this.bounds;(f.x<k.x1||f.x>k.x2||f.y<k.y1||f.y>k.y2)&&this.resetOverlayedCanvas();!this.isDrag&&this._eventManager&&this._eventManager.mouseEventHandler(d)}};H.prototype.resetOverlayedCanvas=function(){this.overlaidCanvasCtx.clearRect(0,
|
|
1046
1046
|
0,this.width,this.height)};H.prototype.clearCanvas=nb;H.prototype.getAutoFontSize=ob;ga(G,Ia);ga(L,Na);Ka.prototype.alignVerticalAxes=function(){if(!this.isNavigator&&this.stockChart){for(var d=this.sessionVariables.plotAreaBounds,f=this.stockChart._chartsPlotAreaX1-d.x1,d=d.x2-this.stockChart._chartsPlotAreaX2,k=0;k<this.axisX.length;k++)this.axisX[k].lineCoordinates.x1+=f,this.axisX[k].lineCoordinates.x2-=d,this.axisX[k].lineCoordinates.width=this.axisX[k].lineCoordinates.x2-this.axisX[k].lineCoordinates.x1,
|
|
1047
1047
|
this.axisX[k].bounds.x1+=f,this.axisX[k].bounds.x2-=d,this.axisX[k].calculateValueToPixelConversionParameters();for(k=0;k<this.axisX2.length;k++)this.axisX2[k].lineCoordinates.x1+=f,this.axisX2[k].lineCoordinates.x2-=d,this.axisX2[k].lineCoordinates.width=this.axisX2[k].lineCoordinates.x2-this.axisX2[k].lineCoordinates.x1,this.axisX2[k].bounds.x1+=f,this.axisX2[k].bounds.x2-=d,this.axisX2[k].calculateValueToPixelConversionParameters();for(k=0;k<this.axisY.length;k++)this.axisY[k].lineCoordinates.x1+=
|
|
1048
1048
|
f,this.axisY[k].lineCoordinates.x2+=f,this.axisY[k].bounds.x1+=f,this.axisY[k].bounds.x2+=f;for(k=0;k<this.axisY2.length;k++)this.axisY2[k].lineCoordinates.x1-=d,this.axisY2[k].lineCoordinates.x2-=d,this.axisY2[k].bounds.x1-=d,this.axisY2[k].bounds.x2-=d}};Ka.prototype.syncCharts=function(d,k){this.stockChart&&(d=f(d)?this.stockChart._axisXMin:d,k=f(k)?this.stockChart._axisXMax:k,this.stockChart._syncCharts(d,k),this.stockChart.sessionVariables._axisXMin=d,this.stockChart.sessionVariables._axisXMax=
|
|
1049
1049
|
k,this.stockChart.rangeSelector&&"zoom"!==this._zoomButton.getAttribute("state")&&this.stockChart.rangeSelector.resetRangeButtons())};O.prototype.reset=function(){this.lastObjectId=0;this.objectMap=[];this.rectangularRegionEventSubscriptions=[];this.eventObjects=[];s&&(this.ghostCtx.clearRect(0,0,this.stockChart.width,this.stockChart.height),this.ghostCtx.beginPath())};O.prototype.getNewObjectTrackingId=function(){return++this.lastObjectId};O.prototype.mouseEventHandler=function(d){if("mousemove"===
|
|
1050
1050
|
d.type||"click"===d.type){var f=[],k=Ba(d),m=null;if((m=this.stockChart.getObjectAtXY(k.x,k.y,!1))&&"undefined"!==typeof this.objectMap[m])if(m=this.objectMap[m],"rangeButton"===m.objectType){var a=this.stockChart.rangeSelector.buttons[m.rangeButtonIndex];m.eventParameter={x:k.x,y:k.y,rangeButton:a,rangeButtonIndex:m.rangeButtonIndex,stockChart:this.stockChart};m.eventContext={context:this.stockChart.rangeSelector,userContext:a,mouseover:"mouseover",mousemove:"mousemove",mouseout:"mouseout",click:"click"};
|
|
1051
|
-
f.push(m)}else"inputFields"===m.objectType&&(a=this.stockChart.rangeSelector.inputFields._textBlocks[m.inputFieldIndex],m.eventParameter={x:k.x,y:k.y,inputField:a,inputFieldIndex:m.inputFieldIndex,stockChart:this.stockChart},m.eventContext={context:this.stockChart.rangeSelector,userContext:a,mouseover:"mouseover",mousemove:"mousemove",mouseout:"mouseout",click:"click"},f.push(m));a=[];for(k=0;k<this.mouseoveredObjectMaps.length;k++){for(var
|
|
1052
|
-
!1;break}
|
|
1053
|
-
f){var m=d.eventParameter,a=d.eventContext,
|
|
1051
|
+
f.push(m)}else"inputFields"===m.objectType&&(a=this.stockChart.rangeSelector.inputFields._textBlocks[m.inputFieldIndex],m.eventParameter={x:k.x,y:k.y,inputField:a,inputFieldIndex:m.inputFieldIndex,stockChart:this.stockChart},m.eventContext={context:this.stockChart.rangeSelector,userContext:a,mouseover:"mouseover",mousemove:"mousemove",mouseout:"mouseout",click:"click"},f.push(m));a=[];for(k=0;k<this.mouseoveredObjectMaps.length;k++){for(var g=!0,m=0;m<f.length;m++)if(f[m].id===this.mouseoveredObjectMaps[k].id){g=
|
|
1052
|
+
!1;break}g?this.fireEvent(this.mouseoveredObjectMaps[k],"mouseout",d):a.push(this.mouseoveredObjectMaps[k])}this.mouseoveredObjectMaps=a;for(k=0;k<f.length;k++){a=!1;for(m=0;m<this.mouseoveredObjectMaps.length;m++)if(f[k].id===this.mouseoveredObjectMaps[m].id){a=!0;break}a||(this.fireEvent(f[k],"mouseover",d),this.mouseoveredObjectMaps.push(f[k]));"click"===d.type?this.fireEvent(f[k],"click",d):"mousemove"===d.type&&this.fireEvent(f[k],"mousemove",d)}}};O.prototype.fireEvent=function(d,f,k){if(d&&
|
|
1053
|
+
f){var m=d.eventParameter,a=d.eventContext,g=d.eventContext.userContext;g&&(a&&g[a[f]])&&g[a[f]].call(g,m);"mouseout"!==f?g.cursor&&g.cursor!==k.target.style.cursor&&(k.target.style.cursor=g.cursor):(k.target.style.cursor=this.stockChart._defaultCursor,delete d.eventParameter,delete d.eventContext)}};ga(A,ba);A.prototype._updateOptions=function(){this.updateOption("enabled");this.updateOption("backgroundColor");this.options.backgroundColor||(this.backgroundColor=this.stockChart.backgroundColor);this.updateOption("animationEnabled");
|
|
1054
1054
|
this.animationEnabled=this.animationEnabled&&s;this.updateOption("animationDuration");this.updateOption("theme");this.updateOption("verticalAlign");this.updateOption("horizontalAlign");this.updateOption("width");this.updateOption("height");this.updateOption("dynamicUpdate")};A.prototype._initialize=function(){this._updateOptions();var d;this.enabled&&!this.panel&&(this.panel=k("canvasjs-navigator-panel"),(d=!f(this.panel)&&this.stockChart._canvasJSContainer.contains(this.panel))||this.stockChart._canvasJSContainer.appendChild(this.panel));
|
|
1055
1055
|
d=!f(this.panel)&&this.stockChart._canvasJSContainer.contains(this.panel);if(this.enabled){this.height=f(this.options.height)?0.14*this.stockChart.height:parseInt(this.options.height);d||this.stockChart._canvasJSContainer.appendChild(this.panel);var m=this.stockChart.layoutManager.getFreeSpace(),t=m.x1,s=m.y1;this.width=this.options.width?this.width:m.width;"top"===this.verticalAlign?(s=m.y1+2,d="top"):(s=m.y2-this.height-2,d="bottom");"left"===this.horizontalAlign?t=m.x1+2:"center"===this.horizontalAlign?
|
|
1056
1056
|
t=m.x1+m.width/2-this.width/2:"right"===this.horizontalAlign&&(t=m.x2-2-this.width);this.panel.style.top=s+"px";this.panel.style.left=t+"px";this.panel.style.height=this.height+"px";this.panel.style.width=this.width+"px";this.stockChart.layoutManager.registerSpace(d,{width:this.width,height:this.height+2});this.bounds={x1:t,y1:s,x2:t+this.width,y2:s+this.height}}else d&&this.stockChart._canvasJSContainer.removeChild(this.panel)};A.prototype._updateSlider=function(d,k){var m=this.chart.axisX&&this.chart.axisX.length?
|
|
@@ -1068,12 +1068,12 @@ this.slider.handleBorderThickness;this.chart.overlaidCanvasCtx.strokeStyle=this.
|
|
|
1068
1068
|
this.slider.handleBorderThickness%2?(a+this.slider.handleBorderThickness/2<<0)+0.5:a)+Math.round(this.slider.handleBorderThickness),this.height/2-this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.lineTo((1===this.slider.handleBorderThickness%2?(a+this.slider.handleBorderThickness/2<<0)+0.5:a)+Math.round(this.slider.handleBorderThickness),this.height/2+this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.stroke();this.chart.overlaidCanvasCtx.restore()}};ga(M,ba);M.prototype._updateOptions=
|
|
1069
1069
|
function(){this.updateOption("maskColor");this.updateOption("maskInverted");this.updateOption("maskOpacity");this.updateOption("handleColor");this.updateOption("handleBorderColor");this.updateOption("handleBorderThickness");this.updateOption("handleWidth");this.updateOption("handleHeight");this.updateOption("outlineColor");this.updateOption("outlineThickness");this.updateOption("outlineInverted");this.updateOption("minimum");this.updateOption("maximum")};M.prototype._attachEvents=function(){var d=
|
|
1070
1070
|
this;v(this.panel,"mousedown",function(f){d.stockChart.isDrag=!0;f.target!==d.leftHandle&&f.target!==d.rightHandle&&(d.stockChart.navigatorClicked=!0,d.currentHandle=d.leftHandle,d.panMode=!0,d.startPosition=Ba(f),f.target===d.currentHandle?d.startPosition.x+=d.currentHandle.offsetLeft+d.currentHandle.clientWidth/2+d.panel.offsetLeft:f.target===d.panel&&(d.startPosition.x+=d.panel.offsetLeft),d.startWidth=d.panel.clientWidth,d.startLeft=d.panel.offsetLeft)},this.stockChart.allDOMEventHandlers);v(this.panel,
|
|
1071
|
-
window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",function(f){d.stockChart._touchEventHandler(f)},this.stockChart.allDOMEventHandlers);v(this.navigator.panel,"mousedown",function(k){if(k.target!==d.navigator.slider.panel&&k.target!==d.leftHandle&&k.target!==d.rightHandle){d.stockChart.navigatorClicked=!0;var m=Ba(k),s,a;s=0;var
|
|
1072
|
-
k);s=k+d.navigator.slider.width;a=m.x-(k+s)/2;if(m.x<k||m.x>s){var m=Math.max(0,k+a),c=Math.min(s+a,d.navigator.width);s+a>d.navigator.width&&(s=s+a-d.navigator.width,m-=s);0>k+a&&(s=Math.abs(k+a),c+=s);d.stockChart._rangeEventParameter={stockChart:d.stockChart,source:"navigator",index:null,minimum:
|
|
1073
|
-
(d.stockChart._rangeEventParameter.type="rangeChanging",d.stockChart.dispatchEvent("rangeChanging",d.stockChart._rangeEventParameter,d.stockChart),d.stockChart._syncCharts(
|
|
1071
|
+
window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",function(f){d.stockChart._touchEventHandler(f)},this.stockChart.allDOMEventHandlers);v(this.navigator.panel,"mousedown",function(k){if(k.target!==d.navigator.slider.panel&&k.target!==d.leftHandle&&k.target!==d.rightHandle){d.stockChart.navigatorClicked=!0;var m=Ba(k),s,a;s=0;var g=d.navigator.chart.axisX&&d.navigator.chart.axisX.length?d.navigator.chart.axisX[0]:d.navigator.chart.axisX2[0];k=d.navigator.slider.left;f(d.startLeft)&&(d.startLeft=
|
|
1072
|
+
k);s=k+d.navigator.slider.width;a=m.x-(k+s)/2;if(m.x<k||m.x>s){var m=Math.max(0,k+a),c=Math.min(s+a,d.navigator.width);s+a>d.navigator.width&&(s=s+a-d.navigator.width,m-=s);0>k+a&&(s=Math.abs(k+a),c+=s);d.stockChart._rangeEventParameter={stockChart:d.stockChart,source:"navigator",index:null,minimum:g.convertPixelToValue(m),maximum:g.convertPixelToValue(c)};d.stockChart.sessionVariables._axisXMin=g.convertPixelToValue(m);d.stockChart.sessionVariables._axisXMax=g.convertPixelToValue(c);d.navigator.dynamicUpdate?
|
|
1073
|
+
(d.stockChart._rangeEventParameter.type="rangeChanging",d.stockChart.dispatchEvent("rangeChanging",d.stockChart._rangeEventParameter,d.stockChart),d.stockChart._syncCharts(g.convertPixelToValue(m),g.convertPixelToValue(c)),d.stockChart._rangeEventParameter.type="rangeChanged",d.stockChart.dispatchEvent("rangeChanged",d.stockChart._rangeEventParameter,d.stockChart)):d.navigator._updateSlider(d.stockChart.sessionVariables._axisXMin,d.stockChart.sessionVariables._axisXMax)}}},this.navigator.stockChart.allDOMEventHandlers);
|
|
1074
1074
|
v(this.navigator.panel,window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",function(f){d.stockChart._touchEventHandler(f)},this.navigator.stockChart.allDOMEventHandlers);v(this.navigator.stockChart.container,"mousemove",function(k){var m=d.navigator.chart.axisX&&d.navigator.chart.axisX.length?d.navigator.chart.axisX[0]:d.navigator.chart.axisX2[0];if(!f(d.currentHandle)&&d.startPosition){d.navigator.chart.overlaidCanvas.style.cursor=d.navigator.chart.container.style.cursor=d.navigator.panel.style.cursor=
|
|
1075
1075
|
"ew-resize";var s;s=d.currentHandle===d.leftHandle?1:-1;var a=Ba(k);k=k.target||k.srcElement;a.x=k===d.currentHandle?a.x+(d.currentHandle.offsetLeft+d.currentHandle.clientWidth/2+d.panel.offsetLeft):k===d.mask||k===d.panel?a.x+d.panel.offsetLeft:k===d.rightHandle&&d.currentHandle===d.leftHandle?a.x+(d.rightHandle.offsetLeft+d.rightHandle.clientWidth/2+d.panel.offsetLeft):k===d.leftHandle&&d.currentHandle===d.rightHandle?a.x+d.panel.offsetLeft:a.x+("canvasjs-chart-toolbar"===k.parentElement.className?
|
|
1076
|
-
k.offsetParent.offsetLeft+k.offsetLeft-d.stockChart._chartsPlotAreaX1:k.parentElement.parentElement.parentElement===d.navigator.panel?k.offsetLeft:k.offsetLeft-d.stockChart._chartsPlotAreaX1);var
|
|
1076
|
+
k.offsetParent.offsetLeft+k.offsetLeft-d.stockChart._chartsPlotAreaX1:k.parentElement.parentElement.parentElement===d.navigator.panel?k.offsetLeft:k.offsetLeft-d.stockChart._chartsPlotAreaX1);var g=a.x-d.startPosition.x;if(0!==g){k=d.panel.offsetLeft;var c=d.panel.clientWidth;0<s&&(k=Math.max(d.startLeft+s*g,d._left));d.panMode||(c=Math.min(d.startWidth-s*g,d.fullWidth),s*g>d.startWidth?(k=0<s?d.startLeft+d.startWidth:Math.max(a.x,d._left),c=(0<s?a.x:d.startLeft)-parseFloat(k)):0>s&&(k=d.startLeft));
|
|
1077
1077
|
k+c<=d._left+d.fullWidth&&(2<Math.abs(d.startLeft-k)||2<Math.abs(d.startWidth-parseFloat(c)))&&(0<s&&(d.left=k,d.panel.style.left=d.left+"px"),d.panMode||(d.panel.style.width=d.width=c+"px"),f(m)||(s=m.convertPixelToValue(Math.max(m.bounds.x1,parseFloat(k))),m=m.convertPixelToValue(parseFloat(k)+parseFloat(c)),d.stockChart.sessionVariables._axisXMin=s,d.stockChart.sessionVariables._axisXMax=m,d.stockChart.rangeSelector&&!d.panMode&&d.stockChart.rangeSelector.resetRangeButtons(),d.stockChart._rangeEventParameter=
|
|
1078
1078
|
{stockChart:d.stockChart,source:"navigator",index:null,minimum:s,maximum:m},d.navigator.dynamicUpdate?(d.stockChart._rangeEventParameter.type="rangeChanging",d.stockChart.dispatchEvent("rangeChanging",d.stockChart._rangeEventParameter,d.stockChart),d.stockChart._syncCharts(s,m),d.stockChart._rangeEventParameter.type="rangeChanged",d.stockChart.dispatchEvent("rangeChanged",d.stockChart._rangeEventParameter,d.stockChart)):d.navigator._updateSlider(d.stockChart.sessionVariables._axisXMin,d.stockChart.sessionVariables._axisXMax)))}}else d.navigator.chart.overlaidCanvas.style.cursor=
|
|
1079
1079
|
d.navigator.chart.container.style.cursor=d.navigator.panel.style.cursor="auto"},this.navigator.stockChart.allDOMEventHandlers);v(this.navigator.stockChart.container,window.navigator.msPointerEnabled?"MSPointerMove":"touchmove",function(f){d.stockChart._touchEventHandler(f)},this.navigator.stockChart.allDOMEventHandlers)};M.prototype._initialize=function(){var d=this,k;this._updateOptions();V&&(this.eventsAttached||(this._attachEvents(),this.eventsAttached=!0),this.handleWidth=this.options.handleWidth?
|
|
@@ -1085,18 +1085,18 @@ padding:"0px",backgroundColor:"transparent",color:"transparent",fontSize:"12px",
|
|
|
1085
1085
|
v(document,"mousedown",function(f){if(d.stockChart.rangeSelector&&d.stockChart.rangeSelector.inputFields&&d.stockChart.rangeSelector.inputFields.enabled)for(var k=0;k<d.stockChart.rangeSelector.inputFields.elements.length;k++)f.target!=d.stockChart.rangeSelector.inputFields.elements[k]&&d.stockChart.rangeSelector.inputFields.elements[k].focused&&d.stockChart.rangeSelector.inputFields.elements[k].blur()},this.navigator.stockChart.allDOMEventHandlers),v(document,window.navigator.msPointerEnabled?"MSPointerDown":
|
|
1086
1086
|
"touchstart",function(d){a:{var f=d.changedTouches,f=f?f[0]:d,a="";switch(d.type){case "touchstart":case "MSPointerDown":a="mousedown";break;case "touchmove":case "MSPointerMove":a="mousemove";break;case "touchend":case "MSPointerUp":a="mouseup";break;default:break a}d=document.createEvent("MouseEvent");d.initMouseEvent(a,!0,!0,window,1,f.screenX,f.screenY,f.clientX,f.clientY,!1,!1,!1,!1,0,null);f.target.dispatchEvent(d)}},this.navigator.stockChart.allDOMEventHandlers),v(document,"mouseup",function(m){d.panMode=
|
|
1087
1087
|
!1;d.navigator.stockChart.isDrag=!1;if(d.stockChart.navigatorClicked){m=Math.min(d.stockChart.sessionVariables._axisXMin,d.stockChart.sessionVariables._axisXMax);var s=Math.max(d.stockChart.sessionVariables._axisXMin,d.stockChart.sessionVariables._axisXMax);f(d.stockChart._rangeEventParameter)&&(d.stockChart._rangeEventParameter={stockChart:d.stockChart,source:"navigator",index:null,minimum:m,maximum:s});if(2<Math.abs(d.startLeft-d.left)||2<Math.abs(d.startWidth-parseFloat(d.width))){d.navigator.dynamicUpdate||
|
|
1088
|
-
(d.stockChart._rangeEventParameter.type="rangeChanging",d.stockChart.dispatchEvent("rangeChanging",d.stockChart._rangeEventParameter,d.stockChart));for(var a=0;a<d.stockChart.charts.length;a++){k=d.stockChart.charts[a];k.toolTip&&k.toolTip.enabled&&k.toolTip.hide();for(var
|
|
1088
|
+
(d.stockChart._rangeEventParameter.type="rangeChanging",d.stockChart.dispatchEvent("rangeChanging",d.stockChart._rangeEventParameter,d.stockChart));for(var a=0;a<d.stockChart.charts.length;a++){k=d.stockChart.charts[a];k.toolTip&&k.toolTip.enabled&&k.toolTip.hide();for(var g=0;g<k.axisX.length;g++)k.axisX[g].setViewPortRange(m,s);for(g=0;g<k.axisX2.length;g++)k.axisX2[g].setViewPortRange(m,s);k.render()}d.stockChart.rangeSelector&&(d.stockChart.rangeSelector.enabled&&d.stockChart.rangeSelector.inputFields&&
|
|
1089
1089
|
d.stockChart.rangeSelector.inputFields.enabled)&&d.stockChart.rangeSelector._updateInputFields(m,s);d.navigator.dynamicUpdate||(d.stockChart._rangeEventParameter.type="rangeChanged",d.stockChart.dispatchEvent("rangeChanged",d.stockChart._rangeEventParameter,d.stockChart))}}d.stockChart.navigatorClicked=d.currentHandle=d.startPosition=d.startWidth=d.startLeft=null},this.navigator.stockChart.allDOMEventHandlers),v(document,window.navigator.msPointerEnabled?"MSPointerUp":"touchend",function(m){d.panMode=
|
|
1090
1090
|
!1;d.navigator.stockChart.isDrag=!1;if(d.stockChart.navigatorClicked){m=Math.min(d.stockChart.sessionVariables._axisXMin,d.stockChart.sessionVariables._axisXMax);var s=Math.max(d.stockChart.sessionVariables._axisXMin,d.stockChart.sessionVariables._axisXMax);f(d.stockChart._rangeEventParameter)&&(d.stockChart._rangeEventParameter={stockChart:d.stockChart,source:"navigator",index:null,minimum:m,maximum:s});d.navigator.dynamicUpdate||(d.stockChart._rangeEventParameter.type="rangeChanging",d.stockChart.dispatchEvent("rangeChanging",
|
|
1091
|
-
d.stockChart._rangeEventParameter,d.stockChart));for(var a=0;a<d.stockChart.charts.length;a++){k=d.stockChart.charts[a];k.toolTip&&k.toolTip.enabled&&k.toolTip.hide();for(var
|
|
1091
|
+
d.stockChart._rangeEventParameter,d.stockChart));for(var a=0;a<d.stockChart.charts.length;a++){k=d.stockChart.charts[a];k.toolTip&&k.toolTip.enabled&&k.toolTip.hide();for(var g=0;g<k.axisX.length;g++)k.axisX[g].setViewPortRange(m,s);for(g=0;g<k.axisX2.length;g++)k.axisX2[g].setViewPortRange(m,s);k.render()}d.stockChart.rangeSelector&&(d.stockChart.rangeSelector.enabled&&d.stockChart.rangeSelector.inputFields&&d.stockChart.rangeSelector.inputFields.enabled)&&d.stockChart.rangeSelector._updateInputFields(m,
|
|
1092
1092
|
s);d.navigator.dynamicUpdate||(d.stockChart._rangeEventParameter.type="rangeChanged",d.stockChart.dispatchEvent("rangeChanged",d.stockChart._rangeEventParameter,d.stockChart))}d.stockChart.navigatorClicked=d.currentHandle=d.startPosition=d.startWidth=d.startLeft=null},this.navigator.stockChart.allDOMEventHandlers))};M.prototype.initHandle=function(d,f){var k=this;d&&(v(d,"mousedown",function(d){k.stockChart.navigatorClicked=!0;k.currentHandle=this;k.startPosition=Ba(d);d.target===k.currentHandle?
|
|
1093
1093
|
k.startPosition.x+=k.currentHandle.offsetLeft+k.currentHandle.clientWidth/2+k.panel.offsetLeft:d.target===k.panel&&(k.startPosition.x+=k.panel.offsetLeft);k.startWidth=k.panel.clientWidth;k.startLeft=k.panel.offsetLeft;d.preventDefault&&d.preventDefault();d.stopPropagation&&d.stopPropagation()},this.navigator.stockChart.allDOMEventHandlers),v(d,window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",function(d){k.stockChart._touchEventHandler(d)},this.navigator.stockChart.allDOMEventHandlers))};
|
|
1094
1094
|
ga(R,ba);R.prototype._updateOptions=function(){this.updateOption("enabled");this.updateOption("verticalAlign");this.updateOption("horizontalAlign");this.updateOption("width");this.updateOption("height");this.updateOption("label");this.updateOption("selectedRangeButtonIndex")};R.prototype._initialize=function(){var d=0;this._updateOptions();this._label={};this.buttons=[];if(V&&this.enabled){if(this.options.buttons)for(var k=0;k<this.options.buttons.length;k++)this.buttons.push(new N(this.stockChart,
|
|
1095
1095
|
k,this.options.buttons[k]));else{for(k=0;6>k;k++)this.buttons.push(new N(this.stockChart,k));this.buttonLabels="1m 3m 6m YTD 1y All".split(" ")}this._wrapElements=!1;var m=this.stockChart.layoutManager.getFreeSpace(),s=m.x1,k=m.y1;this.width=this.options.width?this.width:m.width;f(this.buttonStyle.options.labelFontSize)&&(this.buttonStyle.labelFontSize=this.stockChart.getAutoFontSize(this.buttonStyle.labelFontSize));this.rangeButtonsWidth=0;this.buttonStyle.maxWidth=this.buttonStyle.options.maxWidth?
|
|
1096
1096
|
this.buttonStyle.options.maxWidth:this.stockChart.width/this.buttons.length;if(this.buttons&&0<this.buttons.length){var a=new ma(this.ctx,{x:0,y:0,backgroundColor:this.stockChart.backgroundColor,borderThickness:0,cornerRadius:0,maxWidth:0.2*this.stockChart.width,maxHeight:2*this.buttonStyle.labelFontSize,angle:0,padding:{left:5,right:5,top:2,bottom:2},text:f(this.stockChart.options.culture)||f(this.stockChart._cultureInfo.rangeSelector.rangeText)?this.label:this.stockChart._cultureInfo.rangeSelector.rangeText,
|
|
1097
|
-
horizontalAlign:"left",fontSize:this.buttonStyle.labelFontSize,fontFamily:this.buttonStyle.labelFontFamily,fontWeight:this.buttonStyle.labelFontWeight,fontColor:this.buttonStyle.labelFontColor,fontStyle:this.buttonStyle.labelFontStyle,textBaseline:"middle"});this._label.textBlock=a}for(k=0;k<this.buttons.length;k++){var
|
|
1098
|
-
cornerRadius:0,maxWidth:this.buttonStyle.options.width?this.buttonStyle.width:this.buttonStyle.maxWidth,maxHeight:2*this.buttonStyle.labelFontSize,angle:0,padding:this.buttonStyle.padding,text:this.options.buttons&&this.options.buttons.length?f(
|
|
1099
|
-
textBaseline:"middle"});
|
|
1097
|
+
horizontalAlign:"left",fontSize:this.buttonStyle.labelFontSize,fontFamily:this.buttonStyle.labelFontFamily,fontWeight:this.buttonStyle.labelFontWeight,fontColor:this.buttonStyle.labelFontColor,fontStyle:this.buttonStyle.labelFontStyle,textBaseline:"middle"});this._label.textBlock=a}for(k=0;k<this.buttons.length;k++){var g=this.buttons[k];g._index=k;a=new ma(this.ctx,{x:0,y:0,backgroundColor:this.buttonStyle.backgroundColor,borderColor:this.buttonStyle.borderColor,borderThickness:this.buttonStyle.borderThickness,
|
|
1098
|
+
cornerRadius:0,maxWidth:this.buttonStyle.options.width?this.buttonStyle.width:this.buttonStyle.maxWidth,maxHeight:2*this.buttonStyle.labelFontSize,angle:0,padding:this.buttonStyle.padding,text:this.options.buttons&&this.options.buttons.length?f(g.label)?"":g.label:this.buttonLabels[k],horizontalAlign:"center",textAlign:"center",fontSize:this.buttonStyle.labelFontSize,fontFamily:this.buttonStyle.labelFontFamily,fontWeight:this.buttonStyle.labelFontWeight,fontColor:this.buttonStyle.labelFontColor,fontStyle:this.buttonStyle.labelFontStyle,
|
|
1099
|
+
textBaseline:"middle"});g.state=f(this.selectedRangeButtonIndex)||this.selectedRangeButtonIndex!==k?"off":"on";g.textBlock=a;g.bounds={x1:null,x2:null,y1:null,y2:null,width:null,height:null};a.measureText();this.rangeButtonsWidth+=a.width+this.buttonStyle.spacing;this.rangeButtonsHeight=a.height;d=d<a.height?a.height:d;g=this.buttons[k];g.id=++this.stockChart._eventManager.lastObjectId;this.stockChart._eventManager.objectMap[g.id]={id:g.id,objectType:"rangeButton",rangeButtonIndex:k}}this.height<
|
|
1100
1100
|
this.inputFieldsHeight+2*this.inputFields.style.borderThickness&&(this.height=this.inputFieldsHeight+2*this.inputFields.style.borderThickness);this.height<d+2*this.buttonStyle.borderThickness+5&&(this.height=d+2*this.buttonStyle.borderThickness+5);this._label&&(this._label.textBlock&&this.rangeButtonsWidth&&this.inputFieldsWidth)&&this.rangeButtonsWidth+this._label.textBlock.measureText().width+this.inputFieldsWidth>=this.stockChart.width&&(this.height=this.options.height?this.height:2*this.height,
|
|
1101
1101
|
this._wrapElements=!0);"bottom"===this.verticalAlign?(k=m.y2-this.height,d="bottom"):(k=m.y1,d="top");"left"===this.horizontalAlign?s=m.x1+2:"center"===this.horizontalAlign?s=m.x1+m.width/2-this.width/2:"right"===this.horizontalAlign&&(s=m.x2-2-this.width);this.stockChart.layoutManager.registerSpace(d,{width:this.width,height:this.height});this.bounds={x1:s,y1:k,x2:s+this.width,y2:k+this.height,width:this.width,height:this.height};for(k=0;k<this.buttons.length;k++)this.buttons[k]._initialize(k)}};
|
|
1102
1102
|
R.prototype.render=function(){var d;this.setButtonsLayout();ca(this.ctx,this.bounds.x1,this.bounds.y1,this.bounds.x2,this.bounds.y2,this.stockChart.backgroundColor,0,null,0,0,0,0,1);this._label&&this._label.textBlock&&this._label.textBlock.render(!0);for(d=0;d<this.buttons.length;d++)this.buttons[d].enabled||(this.buttons[d].textBlock.backgroundColor=this.buttons[d].backgroundColorDisabled,this.buttons[d].textBlock.borderColor=this.buttons[d].backgroundColorDisabled),this.buttons[d].render(!0);this.inputFields&&
|
|
@@ -1117,7 +1117,7 @@ k[d]:this.label};N.prototype.render=function(){this.textBlock.render(!0)};ga(T,b
|
|
|
1117
1117
|
this.style.fontFamily,this.elements[d].style.fontWeight=this.style.fontWeight,this.elements[d].style.lineHeight=1,isNaN(this.style.padding)?(this.elements[d].style.paddingTop=this.style.padding.top+"px",this.elements[d].style.paddingRight=this.style.padding.right+"px",this.elements[d].style.paddingBottom=this.style.padding.bottom+"px",this.elements[d].style.paddingLeft=this.style.padding.left+"px"):this.elements[d].style.padding=this.style.padding+"px",this.elements[d].style.mozAppearance=this.elements[d].style.webkitAppearance=
|
|
1118
1118
|
this.elements[d].style.appearance="none",this.elements[d].style.webkitBorderRadius=0,this.elements[d].style.mozBorderRadius=0,this.elements[d].style.borderRadius=0,this.elements[d].style.boxSizing="content-box";this.parent=this.rangeSelector=this.stockChart.rangeSelector}};ga(X,ba);X.prototype._updateOptions=function(){this.updateOption("backgroundColor");this.updateOption("backgroundColorOnHover");this.updateOption("backgroundColorOnSelect");this.updateOption("borderColor");this.updateOption("borderThickness");
|
|
1119
1119
|
this.updateOption("labelFontColor");this.updateOption("labelFontColorOnHover");this.updateOption("labelFontSize");this.updateOption("labelFontStyle");this.updateOption("labelFontFamily");this.updateOption("labelFontWeight");this.updateOption("width");this.updateOption("maxWidth");this.updateOption("padding");this.updateOption("spacing");this.updateOption("cursor")};ga(Y,ba);Y.prototype._updateOptions=function(){this.updateOption("backgroundColor");this.updateOption("borderColor");this.updateOption("borderThickness");
|
|
1120
|
-
this.updateOption("borderColorOnFocus");this.updateOption("fontColor");this.updateOption("fontSize");this.updateOption("fontStyle");this.updateOption("fontFamily");this.updateOption("fontWeight");this.updateOption("width");this.updateOption("maxWidth");this.updateOption("padding");this.updateOption("spacing");this.updateOption("cursor")};return H}();T.version="v1.7.
|
|
1120
|
+
this.updateOption("borderColorOnFocus");this.updateOption("fontColor");this.updateOption("fontSize");this.updateOption("fontStyle");this.updateOption("fontFamily");this.updateOption("fontWeight");this.updateOption("width");this.updateOption("maxWidth");this.updateOption("padding");this.updateOption("spacing");this.updateOption("cursor")};return H}();T.version="v1.7.41 GA";window.CanvasJS&&(T&&(!window.CanvasJS.StockChart&&window.CanvasJS.Chart)&&(window.CanvasJS.StockChart=T),T&&!window.CanvasJS.Chart&&
|
|
1121
1121
|
(window.CanvasJS.Chart=Ka,window.CanvasJS.StockChart=T))})();
|
|
1122
1122
|
|
|
1123
1123
|
/*
|