@canvasjs/charts 3.7.24 → 3.7.25
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +1 -1
- package/canvasjs.min.js +46 -46
- package/package.json +1 -1
package/LICENSE
CHANGED
package/canvasjs.min.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
CanvasJS Chart - v3.7.
|
|
2
|
+
CanvasJS Chart - v3.7.25 GA - https://canvasjs.com/
|
|
3
3
|
Copyright 2023 fenopix
|
|
4
4
|
|
|
5
5
|
--------------------- License Information --------------------
|
|
@@ -90,17 +90,17 @@ tickColor:K,gridThickness:1,gridColor:K,stripLines:[{labelFontFamily:B,labelFont
|
|
|
90
90
|
fontColor:aa,fontWeight:"bold",verticalAlign:"bottom",horizontalAlign:"center"},toolTip:{fontFamily:B,fontSize:14,fontStyle:"normal",cornerRadius:0,borderThickness:1,fontColor:Q,backgroundColor:"rgba(0, 0, 0, .7)"}},theme1:Wa,theme2:bb,theme3:Wa},T={numberDuration:1,yearDuration:314496E5,monthDuration:2592E6,weekDuration:6048E5,dayDuration:864E5,hourDuration:36E5,minuteDuration:6E4,secondDuration:1E3,millisecondDuration:1,dayOfWeekFromInt:"Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" ")};
|
|
91
91
|
(function(){va.fSDec=function(h){for(var n="",s=0;s<h.length;s++)n+=String.fromCharCode(Math.ceil(h.length/57/5)^h.charCodeAt(s));return n};delete pa[va.fSDec("Bi`su")][va.fSDec("bsdehuIsdg")];va.pro={sCH:pa[va.fSDec("Bi`su")][va.fSDec("bsdehuIsdg")]}})();var gb=function(){var h=!1;try{var n=Object.defineProperty&&Object.defineProperty({},"passive",{get:function(){h=!0;return!1}});window.addEventListener&&(window.addEventListener("test",null,n),window.removeEventListener("test",null,n))}catch(s){h=
|
|
92
92
|
!1}return h}(),Za={},ra=null,lb=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))},ya=function(h){h.width=1;h.height=1;h.getContext("2d")&&h.getContext("2d").clearRect(0,0,1,1)},mb=function(h,n,s){n=Math.min(this.width,this.height);return Math.max("theme4"===this.theme?0:300<=n?12:11,Math.round(n*(h/400)))},Ba=function(){var h=/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,
|
|
93
|
-
n="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),s="Sun Mon Tue Wed Thu Fri Sat".split(" "),w="January February March April May June July August September October November December".split(" "),ha="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),B=/\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,J,
|
|
94
|
-
s,T=
|
|
93
|
+
n="Sunday Monday Tuesday Wednesday Thursday Friday Saturday".split(" "),s="Sun Mon Tue Wed Thu Fri Sat".split(" "),w="January February March April May June July August September October November December".split(" "),ha="Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec".split(" "),B=/\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,J,N){var K=N?N.days:n,X=N?N.months:w,P=N?N.shortDays:
|
|
94
|
+
s,T=N?N.shortMonths:ha;N="";var V=!1;v=v&&v.getTime?v:v?new Date(v):new Date;if(isNaN(v))throw SyntaxError("invalid date");"UTC:"===J.slice(0,4)&&(J=J.slice(4),V=!0);N=V?"getUTC":"get";var G=v[N+"Date"](),M=v[N+"Day"](),W=v[N+"Month"](),a=v[N+"FullYear"](),d=v[N+"Hours"](),c=v[N+"Minutes"](),b=v[N+"Seconds"](),e=v[N+"Milliseconds"](),f=V?0:v.getTimezoneOffset();return N=J.replace(h,function(l){switch(l){case "D":return G;case "DD":return ca(G,2);case "DDD":return P[M];case "DDDD":return K[M];case "M":return W+
|
|
95
95
|
1;case "MM":return ca(W+1,2);case "MMM":return T[W];case "MMMM":return X[W];case "Y":return parseInt(String(a).slice(-2));case "YY":return ca(String(a).slice(-2),2);case "YYY":return ca(String(a).slice(-3),3);case "YYYY":return ca(a,4);case "h":return d%12||12;case "hh":return ca(d%12||12,2);case "H":return d;case "HH":return ca(d,2);case "m":return c;case "mm":return ca(c,2);case "s":return b;case "ss":return ca(b,2);case "f":return ca(String(e),3).slice(0,1);case "ff":return ca(String(e),3).slice(0,
|
|
96
96
|
2);case "fff":return ca(String(e),3).slice(0,3);case "t":return 12>d?"a":"p";case "tt":return 12>d?"am":"pm";case "T":return 12>d?"A":"P";case "TT":return 12>d?"AM":"PM";case "K":return V?"UTC":(String(v).match(B)||[""]).pop().replace(A,"");case "z":return(0<f?"-":"+")+Math.floor(Math.abs(f)/60);case "zz":return(0<f?"-":"+")+ca(Math.floor(Math.abs(f)/60),2);case "zzz":return(0<f?"-":"+")+ca(Math.floor(Math.abs(f)/60),2)+ca(Math.abs(f)%60,2);default:return l.slice(1,l.length-1)}})}}(),nb=function(h){var n=
|
|
97
|
-
0>h;if(1>Math.abs(h)){var s=parseInt(h.toString().split("e-")[1]);s&&(h=(n?-1*h:h)*Math.pow(10,s-1),h="0."+Array(s).join("0")+h.toString().substring(2),h=n?"-"+h:h)}else s=parseInt(h.toString().split("+")[1]),20<s&&(s-=20,h/=Math.pow(10,s),h=h.toString()+Array(s+1).join("0"));return String(h)},da=function(h,n,s){if(null===h)return"";if(!isFinite(h))return h;h=Number(h);var w=0>h?!0:!1;w&&(h*=-1);var B=s?s.decimalSeparator:".",v=s?s.digitGroupSeparator:",",A="";n=String(n);var A=1,J=s="",K=-1,
|
|
98
|
-
X=[],P=0,T=0,V=0,G=!1,Q=0,J=n.match(/"[^"]*"|'[^']*'|[eE][+-]*[0]+|[,]+[.]|\u2030|./g);n=null;for(var M=0;J&&M<J.length;M++)if(n=J[M],"."===n&&0>K)K=M;else{if("%"===n)A*=100;else if("\u2030"===n){A*=1E3;continue}else if(","===n[0]&&"."===n[n.length-1]){A/=Math.pow(1E3,n.length-1);K=M+n.length-1;continue}else"E"!==n[0]&&"e"!==n[0]||"0"!==n[n.length-1]||(G=!0);0>K?(
|
|
99
|
-
1),Q=0===h?0:0===n?-(P+J):nb(n).length-P,A/=Math.pow(10,Q));0>K&&(K=M);A=(h*A).toFixed(T);n=A.split(".");A=(n[0]+"").split("");h=(n[1]+"").split("");A&&"0"===A[0]&&A.shift();for(G=J=M=T=K=0;0<
|
|
100
|
-
n[0]&&"e"!==n[0]||"0"!==n[n.length-1]||!/[eE][+-]*[0]+/.test(n)?","===n?(M++,J=G,G=0,0<A.length&&(s=v+s)):s=1<n.length&&('"'===n[0]&&'"'===n[n.length-1]||"'"===n[0]&&"'"===n[n.length-1])?n.slice(1,n.length-1)+s:n+s:(n=0>Q?n.replace("+","").replace("-",""):n.replace("-",""),s+=n.replace(/[0]+/,function(a){return ca(Q,a.length)}));v="";for(
|
|
101
|
-
1]||"'"===n[0]&&"'"===n[n.length-1])?v+=n.slice(1,n.length-1):"E"!==n[0]&&"e"!==n[0]||"0"!==n[n.length-1]||!/[eE][+-]*[0]+/.test(n)?v+=n:(n=0>Q?n.replace("+","").replace("-",""):n.replace("-",""),v+=n.replace(/[0]+/,function(a){return ca(Q,a.length)}));s+=(
|
|
102
|
-
ab=!0,Sa=window.devicePixelRatio||1,Oa=1,la=ab?Sa/Oa:1,Y=function(h,n,s,w,v,B,A,J,K,
|
|
103
|
-
G,s+G),h.lineTo(w,s),h.closePath(),A=h.createLinearGradient((w+n)/2,s+G,(w+n)/2,s),A.addColorStop(0,B),A.addColorStop(1,"rgba(255, 255, 255, .4)"),h.fillStyle=A,h.fill(),h.restore());!0===
|
|
97
|
+
0>h;if(1>Math.abs(h)){var s=parseInt(h.toString().split("e-")[1]);s&&(h=(n?-1*h:h)*Math.pow(10,s-1),h="0."+Array(s).join("0")+h.toString().substring(2),h=n?"-"+h:h)}else s=parseInt(h.toString().split("+")[1]),20<s&&(s-=20,h/=Math.pow(10,s),h=h.toString()+Array(s+1).join("0"));return String(h)},da=function(h,n,s){if(null===h)return"";if(!isFinite(h))return h;h=Number(h);var w=0>h?!0:!1;w&&(h*=-1);var B=s?s.decimalSeparator:".",v=s?s.digitGroupSeparator:",",A="";n=String(n);var A=1,J=s="",K=-1,N=[],
|
|
98
|
+
X=[],P=0,T=0,V=0,G=!1,Q=0,J=n.match(/"[^"]*"|'[^']*'|[eE][+-]*[0]+|[,]+[.]|\u2030|./g);n=null;for(var M=0;J&&M<J.length;M++)if(n=J[M],"."===n&&0>K)K=M;else{if("%"===n)A*=100;else if("\u2030"===n){A*=1E3;continue}else if(","===n[0]&&"."===n[n.length-1]){A/=Math.pow(1E3,n.length-1);K=M+n.length-1;continue}else"E"!==n[0]&&"e"!==n[0]||"0"!==n[n.length-1]||(G=!0);0>K?(N.push(n),"#"===n||"0"===n?P++:","===n&&V++):(X.push(n),"#"!==n&&"0"!==n||T++)}G&&(n=Math.floor(h),J=-Math.floor(Math.log(h)/Math.LN10+
|
|
99
|
+
1),Q=0===h?0:0===n?-(P+J):nb(n).length-P,A/=Math.pow(10,Q));0>K&&(K=M);A=(h*A).toFixed(T);n=A.split(".");A=(n[0]+"").split("");h=(n[1]+"").split("");A&&"0"===A[0]&&A.shift();for(G=J=M=T=K=0;0<N.length;)if(n=N.pop(),"#"===n||"0"===n)if(K++,K===P){var W=A,A=[];if("0"===n)for(n=P-T-(W?W.length:0);0<n;)W.unshift("0"),n--;for(;0<W.length;)s=W.pop()+s,G++,0===G%J&&(M===V&&0<W.length)&&(s=v+s)}else 0<A.length?(s=A.pop()+s,T++,G++):"0"===n&&(s="0"+s,T++,G++),0===G%J&&(M===V&&0<A.length)&&(s=v+s);else"E"!==
|
|
100
|
+
n[0]&&"e"!==n[0]||"0"!==n[n.length-1]||!/[eE][+-]*[0]+/.test(n)?","===n?(M++,J=G,G=0,0<A.length&&(s=v+s)):s=1<n.length&&('"'===n[0]&&'"'===n[n.length-1]||"'"===n[0]&&"'"===n[n.length-1])?n.slice(1,n.length-1)+s:n+s:(n=0>Q?n.replace("+","").replace("-",""):n.replace("-",""),s+=n.replace(/[0]+/,function(a){return ca(Q,a.length)}));v="";for(N=!1;0<X.length;)n=X.shift(),"#"===n||"0"===n?0<h.length&&0!==Number(h.join(""))?(v+=h.shift(),N=!0):"0"===n&&(v+="0",N=!0):1<n.length&&('"'===n[0]&&'"'===n[n.length-
|
|
101
|
+
1]||"'"===n[0]&&"'"===n[n.length-1])?v+=n.slice(1,n.length-1):"E"!==n[0]&&"e"!==n[0]||"0"!==n[n.length-1]||!/[eE][+-]*[0]+/.test(n)?v+=n:(n=0>Q?n.replace("+","").replace("-",""):n.replace("-",""),v+=n.replace(/[0]+/,function(a){return ca(Q,a.length)}));s+=(N?B:"")+v;return w?"-"+s:s},Pa=function(h){var n=0,s=0;h=h||window.event;h.offsetX||0===h.offsetX?(n=h.offsetX,s=h.offsetY):h.layerX||0==h.layerX?(n=h.layerX,s=h.layerY):(n=h.pageX-h.target.offsetLeft,s=h.pageY-h.target.offsetTop);return{x:n,y:s}},
|
|
102
|
+
ab=!0,Sa=window.devicePixelRatio||1,Oa=1,la=ab?Sa/Oa:1,Y=function(h,n,s,w,v,B,A,J,K,N,X,T,P){"undefined"===typeof P&&(P=1);A=A||0;J=J||"black";var G=15<w-n&&15<v-s?8:0.35*Math.min(w-n,v-s);h.beginPath();h.moveTo(n,s);h.save();h.fillStyle=B;h.globalAlpha=P;h.fillRect(n,s,w-n,v-s);h.globalAlpha=1;0<A&&(P=0===A%2?0:0.5,h.beginPath(),h.lineWidth=A,h.strokeStyle=J,h.moveTo(n,s),h.rect(n-P,s-P,w-n+2*P,v-s+2*P),h.stroke());h.restore();!0===K&&(h.save(),h.beginPath(),h.moveTo(n,s),h.lineTo(n+G,s+G),h.lineTo(w-
|
|
103
|
+
G,s+G),h.lineTo(w,s),h.closePath(),A=h.createLinearGradient((w+n)/2,s+G,(w+n)/2,s),A.addColorStop(0,B),A.addColorStop(1,"rgba(255, 255, 255, .4)"),h.fillStyle=A,h.fill(),h.restore());!0===N&&(h.save(),h.beginPath(),h.moveTo(n,v),h.lineTo(n+G,v-G),h.lineTo(w-G,v-G),h.lineTo(w,v),h.closePath(),A=h.createLinearGradient((w+n)/2,v-G,(w+n)/2,v),A.addColorStop(0,B),A.addColorStop(1,"rgba(255, 255, 255, .4)"),h.fillStyle=A,h.fill(),h.restore());!0===X&&(h.save(),h.beginPath(),h.moveTo(n,s),h.lineTo(n+G,s+
|
|
104
104
|
G),h.lineTo(n+G,v-G),h.lineTo(n,v),h.closePath(),A=h.createLinearGradient(n+G,(v+s)/2,n,(v+s)/2),A.addColorStop(0,B),A.addColorStop(1,"rgba(255, 255, 255, 0.1)"),h.fillStyle=A,h.fill(),h.restore());!0===T&&(h.save(),h.beginPath(),h.moveTo(w,s),h.lineTo(w-G,s+G),h.lineTo(w-G,v-G),h.lineTo(w,v),A=h.createLinearGradient(w-G,(v+s)/2,w,(v+s)/2),A.addColorStop(0,B),A.addColorStop(1,"rgba(255, 255, 255, 0.1)"),h.fillStyle=A,A.addColorStop(0,B),A.addColorStop(1,"rgba(255, 255, 255, 0.1)"),h.fillStyle=A,h.fill(),
|
|
105
105
|
h.closePath(),h.restore())},ia=function(h){for(var n="",s=0;s<h.length;s++)n+=String.fromCharCode(Math.ceil(h.length/57/5)^h.charCodeAt(s));return n},jb=window&&(window[ia("mnb`uhno")]&&window[ia("mnb`uhno")].href&&window[ia("mnb`uhno")].href.indexOf&&(-1!==window[ia("mnb`uhno")].href.indexOf(ia("b`ow`rkr/bnl"))||-1!==window[ia("mnb`uhno")].href.indexOf(ia("gdonqhy/bnl"))||-1!==window[ia("mnb`uhno")].href.indexOf(ia("gheemd"))))&&-1===window[ia("mnb`uhno")].href.indexOf(ia("gheemd")),kb={reset:{image:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACIAAAAeCAYAAABJ/8wUAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAPjSURBVFhHxVdJaFNRFP1J/jwkP5MxsbaC1WJEglSxOFAXIsFpVRE3ggi1K90obioRRBA33XXnQnciirhQcMCdorgQxBkXWlREkFKsWkv5npvckp/XnzRpKh64kLw733fffe9L/wrL0+mVUdO8uTSZ3MBL/we2qg4rkuSpodCELstXE46ziVkLQ6FQcGOmeSSq6wd4aV50d3drWjj8kQKZJTUc9kxFGenv79dZrDksTSTWWJp2QYtEPiErysyzdX0LsxsCQR8keX8gs6RHIk8ysdgKFg2G53mhuOPsshTlBjKaFo1g7SqLNoShKLdFXT8huQ/paLSbxatYnc2mHMM4hr18Vi8TIvCmXF3vYrW6cF23gGTOk0M1wA4RKvOmq6vLZRVJipvmSWT6tZ6CSEYkco5V50VPT4+D7RwOqi6RiSZm0fJ+vggSqkeoypdsNmuyelNwbXsbgvkWYMtzDWNvWaijoyOBqE+hVK8abcssUeXQ/YfKyi0gFYv1Ipgfoj34fYGTJLOYJA0ODirok32GLN8XhUWCwSes1hIwBg6LydJ/tEeRRapAdUp+wSAiZchtZZWWgAZ+JNpD8peYXQVK9UwUxNpzOK8pq97kURZhYTCKBwPD7h2zK+js7Myi7D8Fod+0TkMI8+EMAngLGc/WtBFWawkFHFnoj/t9KLgGmF0B3QfkxC+EarxkdhnFYlFLY06USqUwL7UMjICHfh/wOc2sCqhpxGbCkLvL7EUDbF73+6DkmVWB6zi7xUDQSLeYvWjAILvm9zEnkJhlbRcDQZcv6Kg2AipyT/Axw6wKlqVSqxDdjF8Izfod13qURdrG/nxehY+xGh+h0CSzKygGvSNQIcc097BI24jb9hax6kj2E7OrMFX1il+ICEf2NrPbhiXLl+fYl+U7zK4iYdsDcyLGf+ofFlkwcN+s10KhmpuYhhtm0hCLVIFL0MDsqNlDIqy9x2CLs1jL6OvrI7vPRbtohXG6eFmsFnHDGAp6n9AgyuVySRZrGvROxRgIfLXhzjrNYnNBUxNX/dMgRWT1mt4XLDovaApD53E9W3ilNX5M55LJHpRtIsgAvciR4WWcgK2Dvb1YqgXevmF8z2zEBTcKG39EfSKsT9EbhVUaI2FZO+oZIqImxol6j66/hcAu4sSN4vc1ZPoKeoE6RGhYL2YYA+ymOSSi0Z0wWntbtkGUWCvfSDXIxONraZ/FY90KUfNTpfC5spnNLgxoYNnR9RO4F8ofXEHOgogCQE99w+fF2Xw+b7O59rEOsyRqGEfpVoaDMQQ1CZrG46bcM6AZ0C/wPqNfHliqejyTySxh9TqQpL+xmbIlkB9SlAAAAABJRU5ErkJggg=="},
|
|
106
106
|
pan:{image:"data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAeCAYAAAA7MK6iAAAAIGNIUk0AAHolAACAgwAA+f8AAIDpAAB1MAAA6mAAADqYAAAXb5JfxUYAAAAJcEhZcwAADsMAAA7DAcdvqGQAAAICSURBVEhLxZbPahNRGMUn/5MpuAiBEAIufQGfzr5E40YptBXajYzudCEuGqS+gGlrFwquDGRTutBdYfydzJ3LzeQmJGZue+Dw/Z17Mnfmu5Pof9Hr9Z61Wq0bWZMKj263O6xWq99wU9lOpzPMKgEhEcRucNOcioOK+0RzBhNvt9tPV4nmVF19+OWhVqt9xXgFXZq+8lCv119UKpUJ7iX2FmvFTKz8RH34YdBsNk8wVtjE4fGYwm8wrrDi3WBG5oKXZGRSS9hGuNFojLTe2lFz5xThWZIktayyiE2FdT3rzXBXz7krKiL8c17wAKFDjCus2AvW+YGZ9y2JF0VFRuMPfI//rsCE/C+s26s4gQu9ul7r4NteKx7H8XOC724xNNGbaNu++IrBqbOV7Tj3FgMRvc/YKOr3+3sE47wgEt/Bl/gaK5cHbNU11vYSXylfpK7XOvjuumPp4Wcoipu30Qsez2uMXYz4lfI+mOmwothY+SLiXJy7mKVpWs3Si0CoOMfeI9Od43Wic+jO+ZVv+crsm9QSNhUW9LXSeoPBYLXopthGuFQgdIxxhY+UDwlt1x5CZ1hX+NTUdt/OIvjKaDSmuOJfaIVNPKX+W18j/PLA2/kR44p5Sd8HbHngT/yTfNRWUXX14ZcL3wmX0+TLf8YO7CGT8yFE5zB3/gney25/OETRP9CtPDFe5jShAAAAAElFTkSuQmCC"},
|
|
@@ -124,11 +124,11 @@ null};ja.prototype.measureText=function(){this._lineHeight=Ya(this.fontFamily,th
|
|
|
124
124
|
if(s<n)w=B+1;else if(s>n)v=B-1;else break}s>n&&1<A.length&&(A=A.substr(0,A.length-1),s=this.ctx.measureText(A).width);n=!0;if(A.length===h.length||" "===h[A.length])n=!1;n&&(h=A.split(" "),1<h.length&&h.pop(),A=h.join(" "),s=this.ctx.measureText(A).width);return{text:A,width:s}};ja.prototype._wrapText=function(){var h=new String(Ha(String(this.text))),s=[],w=this.ctx.font,v=0,B=0;this.ctx.font=this._getFontString();if(0===this.frontSize)B=v=0;else for(;0<h.length;){var J=this.maxHeight-(this.topPadding+
|
|
125
125
|
this.bottomPadding),A=this._getLineWithWidth(h,this.maxWidth-(this.leftPadding+this.rightPadding),!1);A.height=this._lineHeight;s.push(A);var G=B,B=Math.max(B,A.width),v=v+A.height,h=Ha(h.slice(A.text.length,h.length));J&&v>J&&(A=s.pop(),v-=A.height,B=G)}this._wrappedText={lines:s,width:B,height:v};this.width=B+(this.leftPadding+this.rightPadding);this.height=v+(this.topPadding+this.bottomPadding);this.ctx.font=w};ja.prototype._getFontString=function(){var h;h=""+(this.fontStyle?this.fontStyle+" ":
|
|
126
126
|
"");h+=this.fontWeight?this.fontWeight+" ":"";h+=this.fontSize?this.fontSize+"px ":"";var s=this.fontFamily?this.fontFamily+"":"";!w&&s&&(s=s.split(",")[0],"'"!==s[0]&&'"'!==s[0]&&(s="'"+s+"'"));return h+=s};oa(Ua,G);oa(za,G);za.prototype.setLayout=function(){if(this.text){var h=this.dockInsidePlotArea?this.chart.plotArea:this.chart,n=h.layoutManager.getFreeSpace(),w=n.x1,v=n.y1,B=0,J=0,A=this.chart._menuButton&&this.chart.exportEnabled&&"top"===this.verticalAlign?40:0,G,K;"top"===this.verticalAlign||
|
|
127
|
-
"bottom"===this.verticalAlign?(null===this.maxWidth&&(this.maxWidth=n.width-4-A*("center"===this.horizontalAlign?2:1)),J=0.5*n.height-this.margin-2,B=0):"center"===this.verticalAlign&&("left"===this.horizontalAlign||"right"===this.horizontalAlign?(null===this.maxWidth&&(this.maxWidth=n.height-4),J=0.5*n.width-this.margin-2):"center"===this.horizontalAlign&&(null===this.maxWidth&&(this.maxWidth=n.width-4),J=0.5*n.height-4));var
|
|
128
|
-
typeof this.padding||(
|
|
129
|
-
borderThickness:this.borderThickness,backgroundColor:this.backgroundColor,maxWidth:this.maxWidth,maxHeight:J,cornerRadius:this.cornerRadius,text:this.text,padding:this.padding,textBaseline:"middle"});
|
|
130
|
-
2-
|
|
131
|
-
(v=h.y1+(h.height/2-
|
|
127
|
+
"bottom"===this.verticalAlign?(null===this.maxWidth&&(this.maxWidth=n.width-4-A*("center"===this.horizontalAlign?2:1)),J=0.5*n.height-this.margin-2,B=0):"center"===this.verticalAlign&&("left"===this.horizontalAlign||"right"===this.horizontalAlign?(null===this.maxWidth&&(this.maxWidth=n.height-4),J=0.5*n.width-this.margin-2):"center"===this.horizontalAlign&&(null===this.maxWidth&&(this.maxWidth=n.width-4),J=0.5*n.height-4));var N;s(this.padding)||"number"!==typeof this.padding?s(this.padding)||"object"!==
|
|
128
|
+
typeof this.padding||(N=this.padding.top?this.padding.top:this.padding.bottom?this.padding.bottom:0,N+=this.padding.bottom?this.padding.bottom:this.padding.top?this.padding.top:0):N=2*this.padding;this.wrap||(J=Math.min(J,1.5*this.fontSize+N));J=new ja(this.ctx,{fontSize:this.fontSize,fontFamily:this.fontFamily,fontColor:this.fontColor,fontStyle:this.fontStyle,fontWeight:this.fontWeight,horizontalAlign:this.horizontalAlign,textAlign:this.horizontalAlign,verticalAlign:this.verticalAlign,borderColor:this.borderColor,
|
|
129
|
+
borderThickness:this.borderThickness,backgroundColor:this.backgroundColor,maxWidth:this.maxWidth,maxHeight:J,cornerRadius:this.cornerRadius,text:this.text,padding:this.padding,textBaseline:"middle"});N=J.measureText();"top"===this.verticalAlign||"bottom"===this.verticalAlign?("top"===this.verticalAlign?(v=n.y1+2+this.fontSize/2+4,K="top"):"bottom"===this.verticalAlign&&(v=n.y2-2-N.height+this.fontSize/2+4,K="bottom"),"left"===this.horizontalAlign?w=n.x1+2:"center"===this.horizontalAlign?w=n.x1+n.width/
|
|
130
|
+
2-N.width/2:"right"===this.horizontalAlign&&(w=n.x2-2-N.width-A),G=this.horizontalAlign,this.width=N.width,this.height=N.height):"center"===this.verticalAlign&&("left"===this.horizontalAlign?(w=n.x1+2+(this.fontSize/2+4),v=n.y2-2-(this.maxWidth/2-N.width/2),B=-90,K="left",this.width=N.height,this.height=N.width):"right"===this.horizontalAlign?(w=n.x2-2-(this.fontSize/2+4),v=n.y1+2+(this.maxWidth/2-N.width/2),B=90,K="right",this.width=N.height,this.height=N.width):"center"===this.horizontalAlign&&
|
|
131
|
+
(v=h.y1+(h.height/2-N.height/2)+this.fontSize/2+4,w=h.x1+(h.width/2-N.width/2),K="center",this.width=N.width,this.height=N.height),G="center");J.x=w;J.y=v;J.angle=B;J.horizontalAlign=G;this._textBlock=J;h.layoutManager.registerSpace(K,{width:this.width+("left"===K||"right"===K?this.margin+2:0),height:this.height+("top"===K||"bottom"===K?this.margin+2:0)});this.bounds={x1:w,y1:v,x2:w+this.width,y2:v+this.height};this.ctx.textBaseline="top"}};za.prototype.render=function(){this._textBlock&&this._textBlock.render(!0)};
|
|
132
132
|
oa(Ja,G);Ja.prototype.setLayout=za.prototype.setLayout;Ja.prototype.render=za.prototype.render;Va.prototype.get=function(h,s){var w=null;0<this.pool.length?(w=this.pool.pop(),Na(w,h,s)):w=ua(h,s);return w};Va.prototype.release=function(h){this.pool.push(h)};oa(Ka,G);var Qa={addTheme:function(h,s){cb[h]=s},addColorSet:function(h,s){Aa[h]=s},addCultureInfo:function(h,s){La[h]=s},formatNumber:function(h,s,w){w=w||"en";if(La[w])return da(h,s||"#,##0.##",new Ka(w));throw"Unknown Culture Name";},formatDate:function(h,
|
|
133
133
|
s,w){w=w||"en";if(La[w])return Ba(h,s||"DD MMM YYYY",new Ka(w));throw"Unknown Culture Name";}};"undefined"!==typeof module&&"undefined"!==typeof module.exports?module.exports=Qa:"function"===typeof define&&define.amd?define([],function(){return Qa}):(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:
|
|
134
134
|
Qa);B=Qa.Chart=function(){function h(a,d){return a.x-d.x}function n(a,d,c){d=d||{};s(c)?(this.predefinedThemes=cb,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=s(d.theme)||s(this.predefinedThemes[d.theme])?"light1":d.theme;n.base.constructor.call(this,"Chart",this.optionsName,d,this.index,this.parent);
|
|
@@ -150,7 +150,7 @@ this.lineHeight=Ya(this.fontFamily,this.fontSize,this.fontWeight);this.horizonta
|
|
|
150
150
|
this.maxWidth=0;this.labels=[];this.dataSeries=[];this._stripLineLabels=this._ticks=this._labels=null;this.dataInfo={min:Infinity,max:-Infinity,viewPortMin:Infinity,viewPortMax:-Infinity,minDiff:Infinity};this.isOptionsInArray=!0;"axisX"===e?("left"===f||"bottom"===f?(this.optionsName="axisX",s(this.chart.sessionVariables.axisX[b])&&(this.chart.sessionVariables.axisX[b]={}),this.sessionVariables=this.chart.sessionVariables.axisX[b]):(this.optionsName="axisX2",s(this.chart.sessionVariables.axisX2[b])&&
|
|
151
151
|
(this.chart.sessionVariables.axisX2[b]={}),this.sessionVariables=this.chart.sessionVariables.axisX2[b]),this.options.interval||(this.intervalType=null)):"left"===f||"bottom"===f?(this.optionsName="axisY",s(this.chart.sessionVariables.axisY[b])&&(this.chart.sessionVariables.axisY[b]={}),this.sessionVariables=this.chart.sessionVariables.axisY[b]):(this.optionsName="axisY2",s(this.chart.sessionVariables.axisY2[b])&&(this.chart.sessionVariables.axisY2[b]={}),this.sessionVariables=this.chart.sessionVariables.axisY2[b]);
|
|
152
152
|
"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=f;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-=
|
|
153
|
-
180:270<=this.labelAngle&&360>=this.labelAngle&&(this.labelAngle-=360);this.options.scaleBreaks&&(this.scaleBreaks=new fa(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
|
|
153
|
+
180:270<=this.labelAngle&&360>=this.labelAngle&&(this.labelAngle-=360);this.options.scaleBreaks&&(this.scaleBreaks=new fa(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 ca(this.chart,
|
|
154
154
|
this.options.crosshair,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===
|
|
155
155
|
this.viewportMaximum&&(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&&
|
|
156
156
|
(this.viewportMaximum=Math.min(this.viewportMaximum,this.maximum));this.trackChanges("viewportMinimum");this.trackChanges("viewportMaximum")}function fa(a,d,c,b){fa.base.constructor.call(this,"ScaleBreaks","scaleBreaks",d,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)?
|
|
@@ -158,7 +158,7 @@ this.viewportMaximum&&(this.options.viewportMaximum=void 0,this.sessionVariables
|
|
|
158
158
|
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."),
|
|
159
159
|
this._appliedBreaks.splice(a,2),a--)}}function aa(a,d,c,b,e,f){aa.base.constructor.call(this,"Break",d,c,b,f);this.id=e;this.chart=a;this.ctx=this.chart.ctx;this.scaleBreaks=f;this.optionsName=d;this.isOptionsInArray=!0;this.type=c.type?this.type:f.type;this.fillOpacity=s(c.fillOpacity)?f.fillOpacity:this.fillOpacity;this.lineThickness=s(c.lineThickness)?f.lineThickness:this.lineThickness;this.color=c.color?this.color:f.color;this.lineColor=c.lineColor?this.lineColor:f.lineColor;this.lineDashType=
|
|
160
160
|
c.lineDashType?this.lineDashType:f.lineDashType;!s(this.startValue)&&this.startValue.getTime&&(this.startValue=this.startValue.getTime());!s(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?f.spacing:c.spacing;"string"===typeof this.options.spacing?(this.spacing=
|
|
161
|
-
parseFloat(this.spacing),this.spacing=isNaN(this.spacing)?0:(10<this.spacing?10:this.spacing)+"%"):"number"!==typeof this.options.spacing&&(this.spacing=f.spacing);this.size=f.parent.logarithmic?1:0}function
|
|
161
|
+
parseFloat(this.spacing),this.spacing=isNaN(this.spacing)?0:(10<this.spacing?10:this.spacing)+"%"):"number"!==typeof this.options.spacing&&(this.spacing=f.spacing);this.size=f.parent.logarithmic?1:0}function N(a,d,c,b,e){N.base.constructor.call(this,"StripLine","stripLines",d,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=
|
|
162
162
|
e.logarithmic?Math.sqrt((this.startValue.getTime?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 ca(a,d,c){ca.base.constructor.call(this,"Crosshair","crosshair",d,null,c);this.chart=a;this.ctx=this.chart.ctx;this.axis=c;this.optionsName="crosshair";this._thicknessType="pixel"}
|
|
163
163
|
function U(a,d){U.base.constructor.call(this,"ToolTip","toolTip",d,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 Z(a){this.chart=a;this.lastObjectId=0;this.objectMap=[];this.rectangularRegionEventSubscriptions=[];this.previousDataPointEventObject=
|
|
164
164
|
null;this.ghostCanvas=ua(this.chart.width,this.chart.height,!0);this.ghostCtx=this.ghostCanvas.getContext("2d");this.mouseoveredObjectMaps=[]}function ia(a){this.chart=a;this.ctx=this.chart.plotArea.ctx;this.animations=[];this.animationRequestId=null}oa(n,G);n.prototype.destroy=function(){var a=this.allDOMEventHandlers;this._animator&&this._animator.cancelAllAnimations();this._panTimerId&&clearTimeout(this._panTimerId);for(var d=0;d<a.length;d++){var c=a[d][0],b=a[d][1],e=a[d][2],f=a[d][3],f=f||!1;
|
|
@@ -426,9 +426,9 @@ l&&(e=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,l));!thi
|
|
|
426
426
|
if(0<x.length)for(var z=5<r&&y.bevelEnabled?!0:!1,l=0;l<x.length;l++)if(x[l].getTime?g=x[l].x.getTime():g=x[l].x,!(g<a.axisX.dataInfo.viewPortMin||g>a.axisX.dataInfo.viewPortMax)&&!s(x[l].y)&&x[l].y.length&&"number"===typeof x[l].y[0]&&"number"===typeof x[l].y[1]&&"number"===typeof x[l].y[2]&&"number"===typeof x[l].y[3]&&"number"===typeof x[l].y[4]&&5===x[l].y.length){t=a.axisX.convertValueToPixel(g);h=a.axisY.convertValueToPixel(x[l].y[0]);k=a.axisY.convertValueToPixel(x[l].y[1]);m=a.axisY.convertValueToPixel(x[l].y[2]);
|
|
427
427
|
p=a.axisY.convertValueToPixel(x[l].y[3]);q=a.axisY.convertValueToPixel(x[l].y[4]);var v=t-r/2<<0,D=t+r/2<<0,e=x[l].color?x[l].color:y._colorSet[0],A=Math.round(Math.max(1,0.15*r)),B=0===A%2?0:0.5,L=x[l].whiskerColor?x[l].whiskerColor:x[l].color?y.whiskerColor?y.whiskerColor:x[l].color:y.whiskerColor?y.whiskerColor:e,S="number"===typeof x[l].whiskerThickness?x[l].whiskerThickness:"number"===typeof y.options.whiskerThickness?y.whiskerThickness:A,ea=x[l].whiskerDashType?x[l].whiskerDashType:y.whiskerDashType,
|
|
428
428
|
$=s(x[l].whiskerLength)?s(y.options.whiskerLength)?r:y.whiskerLength:x[l].whiskerLength,$="number"===typeof $?0>=$?0:$>=r?r:$:"string"===typeof $?parseInt($)*r/100>r?r:parseInt($)*r/100:r,ga=1===Math.round(S)%2?0.5:0,na=x[l].stemColor?x[l].stemColor:x[l].color?y.stemColor?y.stemColor:x[l].color:y.stemColor?y.stemColor:e,ka="number"===typeof x[l].stemThickness?x[l].stemThickness:"number"===typeof y.options.stemThickness?y.stemThickness:A,F=1===Math.round(ka)%2?0.5:0,E=x[l].stemDashType?x[l].stemDashType:
|
|
429
|
-
y.stemDashType,K=x[l].lineColor?x[l].lineColor:x[l].color?y.lineColor?y.lineColor:x[l].color:y.lineColor?y.lineColor:e,G="number"===typeof x[l].lineThickness?x[l].lineThickness:"number"===typeof y.options.lineThickness?y.lineThickness:A,
|
|
429
|
+
y.stemDashType,K=x[l].lineColor?x[l].lineColor:x[l].color?y.lineColor?y.lineColor:x[l].color:y.lineColor?y.lineColor:e,G="number"===typeof x[l].lineThickness?x[l].lineThickness:"number"===typeof y.options.lineThickness?y.lineThickness:A,N=x[l].lineDashType?x[l].lineDashType:y.lineDashType,O=1===Math.round(G)%2?0.5:0,P=y.upperBoxColor,Q=y.lowerBoxColor,ta=s(y.options.fillOpacity)?1:y.fillOpacity,R=y.dataPointIds[l];this._eventManager.objectMap[R]={id:R,objectType:"dataPoint",dataSeriesIndex:u,dataPointIndex:l,
|
|
430
430
|
x1:v,y1:h,x2:D,y2:k,x3:t,y3:m,x4:t,y4:p,y5:q,borderThickness:A,color:e,stemThickness:ka,stemColor:na,whiskerThickness:S,whiskerLength:$,whiskerColor:L,lineThickness:G,lineColor:K};c.save();0<ka&&(c.beginPath(),c.strokeStyle=na,c.lineWidth=ka,c.setLineDash&&c.setLineDash(J(E,ka)),c.moveTo(t-F,k),c.lineTo(t-F,h),c.stroke(),c.moveTo(t-F,p),c.lineTo(t-F,m),c.stroke());c.restore();b.lineWidth=Math.max(A,4);c.beginPath();Y(c,v,Math.min(q,k),D,Math.max(k,q),Q,0,e,n?z:!1,n?!1:z,!1,!1,ta);c.beginPath();Y(c,
|
|
431
|
-
v,Math.min(m,q),D,Math.max(q,m),P,0,e,n?!1:z,n?z:!1,!1,!1,ta);c.beginPath();c.lineWidth=A;c.strokeStyle=e;c.rect(v-B,Math.min(k,m)-B,D-v+2*B,Math.max(k,m)-Math.min(k,m)+2*B);c.stroke();c.save();0<G&&(c.beginPath(),c.globalAlpha=1,c.setLineDash&&c.setLineDash(J(
|
|
431
|
+
v,Math.min(m,q),D,Math.max(q,m),P,0,e,n?!1:z,n?z:!1,!1,!1,ta);c.beginPath();c.lineWidth=A;c.strokeStyle=e;c.rect(v-B,Math.min(k,m)-B,D-v+2*B,Math.max(k,m)-Math.min(k,m)+2*B);c.stroke();c.save();0<G&&(c.beginPath(),c.globalAlpha=1,c.setLineDash&&c.setLineDash(J(N,G)),c.strokeStyle=K,c.lineWidth=G,c.moveTo(v,q-O),c.lineTo(D,q-O),c.stroke());c.restore();c.save();0<S&&(c.beginPath(),c.setLineDash&&c.setLineDash(J(ea,S)),c.strokeStyle=L,c.lineWidth=S,c.moveTo(t-$/2<<0,p-ga),c.lineTo(t+$/2<<0,p-ga),c.stroke(),
|
|
432
432
|
c.moveTo(t-$/2<<0,h+ga),c.lineTo(t+$/2<<0,h+ga),c.stroke());c.restore();w&&(e=X(R),b.strokeStyle=e,b.lineWidth=ka,0<ka&&(b.moveTo(t-B-F,k),b.lineTo(t-B-F,Math.max(h,p)),b.stroke(),b.moveTo(t-B-F,Math.min(h,p)),b.lineTo(t-B-F,m),b.stroke()),Y(b,v,Math.max(k,m),D,Math.min(k,m),e,0,null,!1,!1,!1,!1),0<S&&(b.beginPath(),b.lineWidth=S,b.moveTo(t+$/2,p-ga),b.lineTo(t-$/2,p-ga),b.stroke(),b.moveTo(t+$/2,h+ga),b.lineTo(t-$/2,h+ga),b.stroke()));(x[l].indexLabel||y.indexLabel||x[l].indexLabelFormatter||y.indexLabelFormatter)&&
|
|
433
433
|
this._indexLabels.push({chartType:y.type,dataPoint:x[l],dataSeries:y,point:{x:v+(D-v)/2,y:a.axisY.reversed?h:p},direction:1,bounds:{x1:v,y1:Math.min(h,p),x2:D,y2:Math.max(h,p)},color:e})}}w&&(d.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,
|
|
434
434
|
0,0,this.width,this.height),c.clearRect(f.x1,f.y1,f.width,f.height),b.restore());c.restore();return{source:d,dest:this.plotArea.ctx,animationCallback:M.fadeInAnimation,easingFunction:M.easing.easeInQuad,animationBase:0}}};n.prototype.renderRangeColumn=function(a){var d=a.targetCanvasCtx||this.plotArea.ctx,c=w?this._preRenderCtx:d;if(!(0>=a.dataSeriesIndexes.length)){var b=null,e=this.plotArea,f=0,l,t,h,f=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:
|
|
@@ -514,7 +514,7 @@ null!==k.innerRadius?Ta(k.innerRadius,D):0.7*D;k.radius=D;"doughnut"===k.type&&(
|
|
|
514
514
|
!0;this._animator.animate(0,this.animatedRender?this.animationDuration:0,function(a){var b=n.plotArea.ctx;b.clearRect(q.x1,q.y1,q.width,q.height);b.fillStyle=n.backgroundColor;b.fillRect(q.x1,q.y1,q.width,q.height);for(var b=g[0].startAngle+2*Math.PI*a,c=0;c<m.length;c++){var d=0===c?g[c].startAngle:e,e=d+(g[c].endAngle-g[c].startAngle),f=!1;e>b&&(e=b,f=!0);var l=m[c].color?m[c].color:k._colorSet[c%k._colorSet.length];e>d&&pa(n.plotArea.ctx,g[c].center,g[c].radius,l,k.type,d,e,k.fillOpacity,g[c].percentInnerRadius);
|
|
515
515
|
if(f)break}h();n.dispatchEvent("dataAnimationIterationEnd",{chart:n});1<=a&&n.dispatchEvent("dataAnimationEnd",{chart:n})},function(){n.disableToolTip=!1;n._animator.animate(0,n.animatedRender?500:0,function(a){c(a);h();n.dispatchEvent("dataAnimationIterationEnd",{chart:n})});n.dispatchEvent("dataAnimationEnd",{chart:n})})}}};var ra=function(a,d,c,b){"undefined"===typeof c&&(c=1);0>=Math.round(d.y4-d.y1)||(a.save(),a.globalAlpha=c,a.beginPath(),a.moveTo(Math.round(d.x1),Math.round(d.y1)),a.lineTo(Math.round(d.x2),
|
|
516
516
|
Math.round(d.y2)),a.lineTo(Math.round(d.x3),Math.round(d.y3)),a.lineTo(Math.round(d.x4),Math.round(d.y4)),"undefined"!==d.x5&&(a.lineTo(Math.round(d.x5),Math.round(d.y5)),a.lineTo(Math.round(d.x6),Math.round(d.y6))),a.closePath(),a.fillStyle=b?b:d.color,a.fill(),a.globalAplha=1,a.restore())};n.prototype.renderFunnel=function(a){function d(){for(var a=0,b=[],c=0;c<y.length;c++){if("undefined"===typeof y[c].y)return-1;y[c].y="number"===typeof y[c].y?y[c].y:0;a+=Math.abs(y[c].y)}if(0===a)return-1;for(c=
|
|
517
|
-
b[0]=0;c<y.length;c++)b.push(Math.abs(y[c].y)*E/a);return b}function c(){var a=T,b=V,c=
|
|
517
|
+
b[0]=0;c<y.length;c++)b.push(Math.abs(y[c].y)*E/a);return b}function c(){var a=T,b=V,c=O,d=W,e,f;e=$;f=N-Q;d=Math.abs((f-e)*(b-a+(d-c))/2);c=W-O;e=f-e;f=c*(f-N);f=Math.abs(f);f=d+f;for(var d=[],g=0,l=0;l<y.length;l++){if("undefined"===typeof y[l].y)return-1;y[l].y="number"===typeof y[l].y?y[l].y:0;g+=Math.abs(y[l].y)}if(0===g)return-1;for(var k=d[0]=0,h=0,m,p,b=b-a,k=!1,l=0;l<y.length;l++)a=Math.abs(y[l].y)*f/g,k?m=0==Number(c.toFixed(3))?0:a/c:(p=aa*aa*b*b-4*Math.abs(aa)*a,0>p?(p=c,k=(b+p)*(e-h)/
|
|
518
518
|
2,a-=k,m=e-h,h+=e-h,m+=0==p?0:a/p,h+=a/p,k=!0):(m=(Math.abs(aa)*b-Math.sqrt(p))/2,p=b-2*m/Math.abs(aa),h+=m,h>e&&(h-=m,p=c,k=(b+p)*(e-h)/2,a-=k,m=e-h,h+=e-h,m+=a/p,h+=a/p,k=!0),b=p)),d.push(m);return d}function b(){if(u&&y){for(var a,b,c,d,e,f,l,k,h,m,p,q,t,n,r,C=[],x=[],v={percent:null,total:null},z=null,D=0;D<y.length;D++)r=R[D],r="undefined"!==typeof r.x5?(r.y2+r.y4)/2:(r.y2+r.y3)/2,r=g(r).x2+1,C[D]=K-r-X;r=0.5*X;for(var D=0,B=y.length-1;D<y.length||0<=B;D++,B--){b=u.reversed?y[B]:y[D];a=b.color?
|
|
519
519
|
b.color:u.reversed?u._colorSet[(y.length-1-D)%u._colorSet.length]:u._colorSet[D%u._colorSet.length];c=b.indexLabelPlacement||u.indexLabelPlacement||"outside";n=b.indexLabelTextAlign||u.indexLabelTextAlign||"left";d=b.indexLabelBackgroundColor||u.indexLabelBackgroundColor||(w?"transparent":null);e=b.indexLabelFontColor||u.indexLabelFontColor||"#979797";f=s(b.indexLabelFontSize)?u.indexLabelFontSize:b.indexLabelFontSize;l=b.indexLabelFontStyle||u.indexLabelFontStyle||"normal";k=b.indexLabelFontFamily||
|
|
520
520
|
u.indexLabelFontFamily||"arial";h=b.indexLabelFontWeight||u.indexLabelFontWeight||"normal";a=b.indexLabelLineColor||u.options.indexLabelLineColor||a;m="number"===typeof b.indexLabelLineThickness?b.indexLabelLineThickness:"number"===typeof u.indexLabelLineThickness?u.indexLabelLineThickness:2;p=b.indexLabelLineDashType||u.indexLabelLineDashType||"solid";q="undefined"!==typeof b.indexLabelWrap?b.indexLabelWrap:"undefined"!==typeof u.indexLabelWrap?u.indexLabelWrap:!0;t=u.dataPointIds[D];A._eventManager.objectMap[t]=
|
|
@@ -525,7 +525,7 @@ b=(a=q(k)<R.length?I[q(k)]:null)?a.textBlock:null;c=c.height;a&&d.y+c+da>b.y&&(e
|
|
|
525
525
|
(a.y2+a.y4)/2:(a.y2+a.y3)/2,I[k].textBlock.y=c-I[k].height/2,u.reversed?(I[k].textBlock.y+I[k].height>U+z&&(I[k].textBlock.y=U+z-I[k].height),I[k].textBlock.y<ta-z&&(I[k].textBlock.y=ta-z)):(I[k].textBlock.y<U-z&&(I[k].textBlock.y=U-z),I[k].textBlock.y+I[k].height>ta+z&&(I[k].textBlock.y=ta+z-I[k].height))}function f(){var a,b,c,d;if("inside"!==u.indexLabelPlacement)for(var e=0;e<R.length;e++)0==I[e].textBlock.text.length?I[e].isDirty=!0:(a=R[e],c="undefined"!==typeof a.x5?(a.y2+a.y4)/2:(a.y2+a.y3)/
|
|
526
526
|
2,b=u.reversed?"undefined"!==typeof a.x5?c>Ca?g(c).x2+1:(a.x2+a.x3)/2+1:(a.x2+a.x3)/2+1:"undefined"!==typeof a.x5?c<Ca?g(c).x2+1:(a.x4+a.x3)/2+1:(a.x2+a.x3)/2+1,I[e].textBlock.x=b+X,I[e].textBlock.y=c-I[e].height/2,u.reversed?(I[e].textBlock.y+I[e].height>U+z&&(I[e].textBlock.y=U+z-I[e].height),I[e].textBlock.y<ta-z&&(I[e].textBlock.y=ta-z)):(I[e].textBlock.y<U-z&&(I[e].textBlock.y=U-z),I[e].textBlock.y+I[e].height>ta+z&&(I[e].textBlock.y=ta+z-I[e].height)));else for(e=0;e<R.length;e++)0==I[e].textBlock.text.length?
|
|
527
527
|
I[e].isDirty=!0:(a=R[e],b=a.height,c=I[e].height,d=I[e].width,b>=c?(b=e!=ca?(a.x4+a.x3)/2-d/2:(a.x5+a.x4)/2-d/2,c=e!=ca?(a.y1+a.y3)/2-c/2:(a.y1+a.y4)/2-c/2,I[e].textBlock.x=b,I[e].textBlock.y=c):I[e].isDirty=!0)}function l(){function a(b,c){var d;if(0>b||b>=I.length)return 0;var e,f=I[b].textBlock;if(0>c){c*=-1;e=p(b);d=h(e,b);if(d>=c)return f.y-=c,c;if(0==b)return 0<d&&(f.y-=d),d;d+=a(e,-(c-d));0<d&&(f.y-=d);return d}e=q(b);d=h(b,e);if(d>=c)return f.y+=c,c;if(b==R.length-1)return 0<d&&(f.y+=d),d;
|
|
528
|
-
d+=a(e,c-d);0<d&&(f.y+=d);return d}function b(){var a,d,e,f,g=0,l;f=(
|
|
528
|
+
d+=a(e,c-d);0<d&&(f.y+=d);return d}function b(){var a,d,e,f,g=0,l;f=(N-$+2*z)/m;l=m;for(var k,h=1;h<l;h++){e=h*f;for(var t=I.length-1;0<=t;t--)!I[t].isDirty&&(I[t].textBlock.y<e&&I[t].textBlock.y+I[t].height>e)&&(k=q(t),!(k>=I.length-1)&&I[t].textBlock.y+I[t].height+da>I[k].textBlock.y&&(I[t].textBlock.y=I[t].textBlock.y+I[t].height-e>e-I[t].textBlock.y?e+1:e-I[t].height-1))}for(k=R.length-1;0<k;k--)if(!I[k].isDirty){e=p(k);if(0>e&&(e=0,I[e].isDirty))break;if(I[k].textBlock.y<I[e].textBlock.y+I[e].height){d=
|
|
529
529
|
d||k;f=k;for(l=0;I[f].textBlock.y<I[e].textBlock.y+I[e].height+da;){a=a||I[f].textBlock.y+I[f].height;l+=I[f].height;l+=da;f=e;if(0>=f){f=0;l+=I[f].height;break}e=p(f);if(0>e){f=0;l+=I[f].height;break}}if(f!=k){g=I[f].textBlock.y;a-=g;a=l-a;g=c(a,d,f);break}}}return g}function c(a,b,d){var e=[],f=0,g=0;for(a=Math.abs(a);d<=b;d++)e.push(R[d]);e.sort(function(a,b){return a.height-b.height});for(d=0;d<e.length;d++)if(b=e[d],f<a)g++,f+=I[b.id].height+da,I[b.id].textBlock.text="",I[b.id].indexLabelText=
|
|
530
530
|
"",I[b.id].isDirty=!0,I[b.id].textBlock.measureText();else break;return g}for(var d,e,f,g,l,k,m=1,r=0;r<2*m;r++){for(var n=I.length-1;0<=n&&!(0<=p(n)&&p(n),f=I[n],g=f.textBlock,k=(l=q(n)<R.length?I[q(n)]:null)?l.textBlock:null,d=+f.height.toFixed(6),e=+g.y.toFixed(6),!f.isDirty&&(l&&e+d+da>+k.y.toFixed(6))&&(d=g.y+d+da-k.y,e=a(n,-d),e<d&&(0<e&&(d-=e),e=a(q(n),d),e!=d)));n--);b()}}function h(a,b){return(b<R.length?I[b].textBlock.y:u.reversed?U+z:ta+z)-(0>a?u.reversed?ta-z:U-z:I[a].textBlock.y+I[a].height+
|
|
531
531
|
da)}function n(a,b,c){var d,e,g,l=[],h=z,p=[];-1!==b&&(0<=Z.indexOf(b)?(e=Z.indexOf(b),Z.splice(e,1)):(Z.push(b),Z=Z.sort(function(a,b){return a-b})));if(0===Z.length)l=ia;else{e=z*(1!=Z.length||0!=Z[0]&&Z[0]!=R.length-1?2:1)/k();for(var q=0;q<R.length;q++){if(1==Z.length&&0==Z[0]){if(0===q){l.push(ia[q]);d=h;continue}}else 0===q&&(d=-1*h);l.push(ia[q]+d);if(0<=Z.indexOf(q)||q<R.length&&0<=Z.indexOf(q+1))d+=e}}g=function(){for(var a=[],b=0;b<R.length;b++)a.push(l[b]-R[b].y1);return a}();var t={startTime:(new Date).getTime(),
|
|
@@ -535,9 +535,9 @@ b);var e={};e.dataSeries=u;e.dataPoint=u.reversed?u.dataPoints[y.length-1-b]:u.d
|
|
|
535
535
|
a){b=R[c];break}return b?(a=b.y6?a>b.y6?b.x3+(b.x4-b.x3)/(b.y4-b.y3)*(a-b.y3):b.x2+(b.x3-b.x2)/(b.y3-b.y2)*(a-b.y2):b.x2+(b.x3-b.x2)/(b.y3-b.y2)*(a-b.y2),{x1:a,x2:a}):-1}function r(a){for(var b=0;b<R.length;b++)I[b].isDirty||(a&&(I[b].textBlock.ctx=a),I[b].textBlock.render(!0))}function v(a){A.plotArea.layoutManager.reset();a.roundRect||Da(a);A.title&&(A.title.dockInsidePlotArea||"center"===A.title.horizontalAlign&&"center"===A.title.verticalAlign)&&(A.title.ctx=a,A.title.render());if(A.subtitles)for(var b=
|
|
536
536
|
0;b<A.subtitles.length;b++){var c=A.subtitles[b];if(c.dockInsidePlotArea||"center"===c.horizontalAlign&&"center"===c.verticalAlign)A.subtitles.ctx=a,c.render()}A.legend&&(A.legend.dockInsidePlotArea||"center"===A.legend.horizontalAlign&&"center"===A.legend.verticalAlign)&&(A.legend.ctx=a,A.legend.setLayout(),A.legend.render());va.fNg&&va.fNg(A)}var A=this;if(!(0>=a.dataSeriesIndexes.length)){for(var u=this.data[a.dataSeriesIndexes[0]],y=u.dataPoints,x=this.plotArea,z=0.025*x.width,B=0.01*x.width,
|
|
537
537
|
D=0,E=x.height-2*z,G=Math.min(x.width-2*B,2.8*x.height),L=!1,S=0;S<y.length;S++)if(!L&&("undefined"!==typeof y[S].indexLabel&&null!==y[S].indexLabel&&0<y[S].indexLabel.toString().length)&&(L=!0),!L&&("undefined"!==typeof y[S].label&&null!==y[S].label&&0<y[S].label.toString().length)&&(L=!0),!L&&"function"===typeof u.indexLabelFormatter||"function"===typeof y[S].indexLabelFormatter)L=!0;L=L||"undefined"!==typeof u.indexLabel&&null!==u.indexLabel&&0<u.indexLabel.toString().length;"inside"!==u.indexLabelPlacement&&
|
|
538
|
-
L||(B=(x.width-0.75*G)/2);var S=x.x1+B,K=x.x2-B,$=x.y1+z,
|
|
539
|
-
0>=F&&(F=0)):"pyramid"===u.type&&(F=Q=0,u.reversed=u.reversed?!1:!0);var B=S+a/2,T=S,V=S+a,U=u.reversed?O
|
|
540
|
-
aa),B.push((G[F]-U+fa*V)/fa));else for(F=0;F<S.length;F++)G[F]<Ca?(a.push((G[F]-U+aa*T)/aa),B.push((G[F]-U+fa*V)/fa),ca=F):(a.push(
|
|
538
|
+
L||(B=(x.width-0.75*G)/2);var S=x.x1+B,K=x.x2-B,$=x.y1+z,N=x.y2-z,P=a.targetCanvasCtx||this.plotArea.ctx||this.ctx;if(0!=u.length&&(u.dataPoints&&u.visible)&&0!==y.length){var Q,F;a=75*G/100;var X=30*(K-a)/100;"funnel"===u.type?(Q=s(u.options.neckHeight)?0.35*E:u.neckHeight,F=s(u.options.neckWidth)?0.25*a:u.neckWidth,"string"===typeof Q&&Q.match(/%$/)?(Q=parseInt(Q),Q=Q*E/100):Q=parseInt(Q),"string"===typeof F&&F.match(/%$/)?(F=parseInt(F),F=F*a/100):F=parseInt(F),Q>E?Q=E:0>=Q&&(Q=0),F>a?F=a-0.5:
|
|
539
|
+
0>=F&&(F=0)):"pyramid"===u.type&&(F=Q=0,u.reversed=u.reversed?!1:!0);var B=S+a/2,T=S,V=S+a,U=u.reversed?N:$,O=B-F/2,W=B+F/2,Ca=u.reversed?$+Q:N-Q,ta=u.reversed?$:N;a=[];var B=[],R=[],G=[],Y=$,ca,aa=(Ca-U)/(O-T),fa=-aa,S="area"===(u.valueRepresents?u.valueRepresents:"height")?c():d();if(-1!==S){if(u.reversed)for(G.push(Y),F=S.length-1;0<F;F--)Y+=S[F],G.push(Y);else for(F=0;F<S.length;F++)Y+=S[F],G.push(Y);if(u.reversed)for(F=0;F<S.length;F++)G[F]<Ca?(a.push(O),B.push(W),ca=F):(a.push((G[F]-U+aa*T)/
|
|
540
|
+
aa),B.push((G[F]-U+fa*V)/fa));else for(F=0;F<S.length;F++)G[F]<Ca?(a.push((G[F]-U+aa*T)/aa),B.push((G[F]-U+fa*V)/fa),ca=F):(a.push(O),B.push(W));for(F=0;F<S.length-1;F++)Y=u.reversed?y[y.length-1-F].color?y[y.length-1-F].color:u._colorSet[(y.length-1-F)%u._colorSet.length]:y[F].color?y[F].color:u._colorSet[F%u._colorSet.length],F===ca?R.push({x1:a[F],y1:G[F],x2:B[F],y2:G[F],x3:W,y3:Ca,x4:B[F+1],y4:G[F+1],x5:a[F+1],y5:G[F+1],x6:O,y6:Ca,id:F,height:G[F+1]-G[F],color:Y}):R.push({x1:a[F],y1:G[F],x2:B[F],
|
|
541
541
|
y2:G[F],x3:B[F+1],y3:G[F+1],x4:a[F+1],y4:G[F+1],id:F,height:G[F+1]-G[F],color:Y});var da=2,I=[],ha=!1,Z=[],ia=[],S=!1;a=a=0;Ea(Z);for(F=0;F<y.length;F++)y[F].exploded&&(S=!0,u.reversed?Z.push(y.length-1-F):Z.push(F));P.clearRect(x.x1,x.y1,x.width,x.height);P.fillStyle=A.backgroundColor;P.fillRect(x.x1,x.y1,x.width,x.height);if(L&&u.visible&&(b(),f(),e(),"inside"!==u.indexLabelPlacement)){l();for(F=0;F<y.length;F++)I[F].isDirty||(a=I[F].textBlock.x+I[F].width,a=(K-a)/2,0==F&&(D=a),D>a&&(D=a));for(F=
|
|
542
542
|
0;F<R.length;F++)R[F].x1+=D,R[F].x2+=D,R[F].x3+=D,R[F].x4+=D,R[F].x5&&(R[F].x5+=D,R[F].x6+=D),I[F].textBlock.x+=D}for(F=0;F<R.length;F++)D=R[F],ra(P,D,u.fillOpacity),ia.push(D.y1);v(P);L&&u.visible&&("inside"===u.indexLabelPlacement||A.animationEnabled||m(P),A.animationEnabled||r());if(!L)for(F=0;F<y.length;F++)D=u.dataPointIds[F],a={id:D,objectType:"dataPoint",dataPointIndex:F,dataSeriesIndex:0,funnelSection:R[u.reversed?y.length-1-F:F]},A._eventManager.objectMap[D]=a;!A.animationEnabled&&S?n(A,
|
|
543
543
|
-1,0):A.animationEnabled&&!A.animatedRender&&n(A,-1,0);this.funnelPyramidClickHandler=function(a){var b=-1;if(!ha&&!A.isAnimating&&(s(a.dataSeries.explodeOnClick)||a.dataSeries.explodeOnClick)&&(b=u.reversed?y.length-1-a.dataPointIndex:a.dataPointIndex,0<=b)){a=b;if("funnel"===u.type||"pyramid"===u.type)u.reversed?y[y.length-1-a].exploded=y[y.length-1-a].exploded?!1:!0:y[a].exploded=y[a].exploded?!1:!0;n(A,b,500)}};return{source:P,dest:this.plotArea.ctx,animationCallback:function(a,b){M.fadeInAnimation(a,
|
|
@@ -638,43 +638,43 @@ this._stripLineLabels[c].stripLine.value<=this.viewportMaximum)&&(d=this._stripL
|
|
|
638
638
|
2:0)+a+("inside"===this.tickPlacement?0<this._index?this.tickLength:0:this.tickLength)+b};A.setLayout=function(a,d,c,b,e,f){var l,h,n,k,m=a[0]?a[0].chart:d[0].chart,p=m.isNavigator?0:10,q=m._axes;if(a&&0<a.length)for(var g=0;g<a.length;g++)a[g]&&a[g].calculateAxisParameters();if(d&&0<d.length)for(g=0;g<d.length;g++)d[g].calculateAxisParameters();if(c&&0<c.length)for(g=0;g<c.length;g++)c[g].calculateAxisParameters();if(b&&0<b.length)for(g=0;g<b.length;g++)b[g].calculateAxisParameters();for(g=0;g<q.length;g++)if(q[g]&&
|
|
639
639
|
q[g].scaleBreaks&&q[g].scaleBreaks._appliedBreaks.length)for(var r=q[g].scaleBreaks._appliedBreaks,w=0;w<r.length&&!(r[w].startValue>q[g].viewportMaximum);w++)r[w].endValue<q[g].viewportMinimum||(s(q[g].scaleBreaks.firstBreakIndex)&&(q[g].scaleBreaks.firstBreakIndex=w),r[w].startValue>=q[g].viewPortMinimum&&(q[g].scaleBreaks.lastBreakIndex=w));for(var v=w=0,u=0,y=0,x=0,z=0,A=0,D,B,E=h=0,G,J,K,r=G=J=K=!1,g=0;g<q.length;g++)q[g]&&q[g].title&&(q[g]._titleTextBlock=new ja(q[g].ctx,{text:q[g].title,horizontalAlign:"center",
|
|
640
640
|
fontSize:q[g].titleFontSize,fontFamily:q[g].titleFontFamily,fontWeight:q[g].titleFontWeight,fontColor:q[g].titleFontColor,fontStyle:q[g].titleFontStyle,borderColor:q[g].titleBorderColor,borderThickness:q[g].titleBorderThickness,backgroundColor:q[g].titleBackgroundColor,cornerRadius:q[g].titleCornerRadius,textBaseline:"top"}));for(g=0;g<q.length;g++)if(q[g].title)switch(q[g]._position){case "left":q[g]._titleTextBlock.maxWidth=q[g].titleMaxWidth||f.height;q[g]._titleTextBlock.maxHeight=q[g].titleWrap?
|
|
641
|
-
0.8*f.width:1.5*q[g].titleFontSize;q[g]._titleTextBlock.angle=-90;break;case "right":q[g]._titleTextBlock.maxWidth=q[g].titleMaxWidth||f.height;q[g]._titleTextBlock.maxHeight=q[g].titleWrap?0.8*f.width:1.5*q[g].titleFontSize;q[g]._titleTextBlock.angle=90;break;default:q[g]._titleTextBlock.maxWidth=q[g].titleMaxWidth||f.width,q[g]._titleTextBlock.maxHeight=q[g].titleWrap?0.8*f.height:1.5*q[g].titleFontSize,q[g]._titleTextBlock.angle=0}if("normal"===e){for(var y=[],x=[],z=[],A=[],M=[],Q=[],
|
|
642
|
-
w;){var F=0,X=0,T=0,U=0,V=e=0,
|
|
643
|
-
l=Math.round(f.x1+R+
|
|
641
|
+
0.8*f.width:1.5*q[g].titleFontSize;q[g]._titleTextBlock.angle=-90;break;case "right":q[g]._titleTextBlock.maxWidth=q[g].titleMaxWidth||f.height;q[g]._titleTextBlock.maxHeight=q[g].titleWrap?0.8*f.width:1.5*q[g].titleFontSize;q[g]._titleTextBlock.angle=90;break;default:q[g]._titleTextBlock.maxWidth=q[g].titleMaxWidth||f.width,q[g]._titleTextBlock.maxHeight=q[g].titleWrap?0.8*f.height:1.5*q[g].titleFontSize,q[g]._titleTextBlock.angle=0}if("normal"===e){for(var y=[],x=[],z=[],A=[],M=[],Q=[],N=[],P=[];4>
|
|
642
|
+
w;){var F=0,X=0,T=0,U=0,V=e=0,O=0,Z=0,W=0,Y=0,R=0,aa=0;if(c&&0<c.length)for(z=[],g=R=0;g<c.length;g++)z.push(Math.ceil(c[g]?c[g].createLabelsAndCalculateWidth():0)),R+=z[g],O+=c[g]&&!m.isNavigator?c[g].margin:0;else z.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateWidth():0));N.push(z);if(b&&0<b.length)for(A=[],g=aa=0;g<b.length;g++)A.push(Math.ceil(b[g]?b[g].createLabelsAndCalculateWidth():0)),aa+=A[g],Z+=b[g]?b[g].margin:0;else A.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateWidth():0));P.push(A);
|
|
643
|
+
l=Math.round(f.x1+R+O);n=Math.round(f.x2-aa-Z>m.width-p?m.width-p:f.x2-aa-Z);if(a&&0<a.length)for(y=[],g=W=0;g<a.length;g++)a[g]&&(a[g].lineCoordinates={}),a[g].lineCoordinates.width=Math.abs(n-l),a[g].title&&(a[g]._titleTextBlock.maxWidth=0<a[g].titleMaxWidth&&a[g].titleMaxWidth<a[g].lineCoordinates.width?a[g].titleMaxWidth:a[g].lineCoordinates.width),y.push(Math.ceil(a[g]?a[g].createLabelsAndCalculateHeight():0)),W+=y[g],e+=a[g]&&!m.isNavigator?a[g].margin:0;else y.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateHeight():
|
|
644
644
|
0));M.push(y);if(d&&0<d.length)for(x=[],g=Y=0;g<d.length;g++)d[g]&&(d[g].lineCoordinates={}),d[g].lineCoordinates.width=Math.abs(n-l),d[g].title&&(d[g]._titleTextBlock.maxWidth=0<d[g].titleMaxWidth&&d[g].titleMaxWidth<d[g].lineCoordinates.width?d[g].titleMaxWidth:d[g].lineCoordinates.width),x.push(Math.ceil(d[g]?d[g].createLabelsAndCalculateHeight():0)),Y+=x[g],V+=d[g]&&!m.isNavigator?d[g].margin:0;else x.push(Math.ceil(d[0]?d[0].createLabelsAndCalculateHeight():0));Q.push(x);if(a&&0<a.length)for(g=
|
|
645
645
|
0;g<a.length;g++)a[g]&&(a[g].lineCoordinates.x1=l,n=Math.round(f.x2-aa-Z>m.width-p?m.width-p:f.x2-aa-Z),a[g]._labels&&1<a[g]._labels.length&&(h=k=0,k=a[g]._labels[1],h="dateTime"===a[g].valueType?a[g]._labels[a[g]._labels.length-2]:a[g]._labels[a[g]._labels.length-1],v=k.textBlock.width*Math.cos(Math.PI/180*Math.abs(k.textBlock.angle))+(k.textBlock.height-h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(k.textBlock.angle)),u=h.textBlock.width*Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+
|
|
646
|
-
(h.textBlock.height-h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle))),!a[g]||(!a[g].labelAutoFit||s(D)||s(B)||m.isNavigator||m.stockChart)||(h=0,0<a[g].labelAngle?B+u>n&&(h+=0<a[g].labelAngle?B+u-n-aa:0):0>a[g].labelAngle?D-v<l&&D-v<a[g].viewportMinimum&&(E=l-(
|
|
646
|
+
(h.textBlock.height-h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle))),!a[g]||(!a[g].labelAutoFit||s(D)||s(B)||m.isNavigator||m.stockChart)||(h=0,0<a[g].labelAngle?B+u>n&&(h+=0<a[g].labelAngle?B+u-n-aa:0):0>a[g].labelAngle?D-v<l&&D-v<a[g].viewportMinimum&&(E=l-(O+a[g].tickLength+z+D-v+a[g].labelFontSize/2)):0===a[g].labelAngle&&(B+u>n&&(h=B+u/2-n-aa),D-v<l&&D-v<a[g].viewportMinimum&&(E=l-O-a[g].tickLength-z-D+v/2)),a[g].viewportMaximum===a[g].maximum&&a[g].viewportMinimum===
|
|
647
647
|
a[g].minimum&&0<a[g].labelAngle&&0<h?n-=h:a[g].viewportMaximum===a[g].maximum&&a[g].viewportMinimum===a[g].minimum&&0>a[g].labelAngle&&0<E?l+=E:a[g].viewportMaximum===a[g].maximum&&a[g].viewportMinimum===a[g].minimum&&0===a[g].labelAngle&&(0<E&&(l+=E),0<h&&(n-=h))),m.panEnabled?W=s(m.sessionVariables.axisX.height)?m.sessionVariables.axisX.height=W:m.sessionVariables.axisX.height:m.sessionVariables.axisX.height=W,h=Math.round(f.y2-W-e+F),k=Math.round(f.y2),a[g].lineCoordinates.x2=n,a[g].lineCoordinates.width=
|
|
648
648
|
n-l,a[g].lineCoordinates.y1=h,a[g].lineCoordinates.y2=h+a[g].lineThickness/2,"inside"===a[g].labelPlacement&&0<g&&(a[g].lineCoordinates.y1=a[g-1].lineCoordinates.y2+F+(a[g].labelEffectiveHeight||0),a[g].lineCoordinates.y2=a[g].lineCoordinates.y1+a[g].lineThickness/2),"inside"===a[g].tickPlacement&&0<g&&(a[g].lineCoordinates.y1+=a[g].tickLength,a[g].lineCoordinates.y2=a[g].lineCoordinates.y1+a[g].lineThickness/2),a[g].bounds={x1:l,y1:h,x2:n,y2:k-(W+e-y[g]-F),width:n-l},a[g].bounds.height=a[g].bounds.y2-
|
|
649
|
-
a[g].bounds.y1),F+=y[g]+a[g].margin;if(d&&0<d.length)for(g=0;g<d.length;g++)d[g].lineCoordinates.x1=Math.round(f.x1+R+
|
|
649
|
+
a[g].bounds.y1),F+=y[g]+a[g].margin;if(d&&0<d.length)for(g=0;g<d.length;g++)d[g].lineCoordinates.x1=Math.round(f.x1+R+O),d[g].lineCoordinates.x2=Math.round(f.x2-aa-Z>m.width-p?m.width-p:f.x2-aa-Z),d[g].lineCoordinates.width=Math.abs(n-l),d[g]._labels&&1<d[g]._labels.length&&(k=d[g]._labels[1],h="dateTime"===d[g].valueType?d[g]._labels[d[g]._labels.length-2]:d[g]._labels[d[g]._labels.length-1],v=k.textBlock.width*Math.cos(Math.PI/180*Math.abs(k.textBlock.angle))+(k.textBlock.height-h.textBlock.fontSize/
|
|
650
650
|
2)*Math.sin(Math.PI/180*Math.abs(k.textBlock.angle)),u=h.textBlock.width*Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+(h.textBlock.height-h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle))),m.panEnabled?Y=s(m.sessionVariables.axisX2.height)?m.sessionVariables.axisX2.height=Y:m.sessionVariables.axisX2.height:m.sessionVariables.axisX2.height=Y,h=Math.round(f.y1),k=d[g].lineCoordinates.y1=h+Y+V-X,d[g].lineCoordinates.y2=h,"inside"===d[g].labelPlacement&&0<g&&(d[g].lineCoordinates.y1=
|
|
651
|
-
d[g-1].lineCoordinates.y1-X-(d[g].labelEffectiveHeight||0)),"inside"===d[g].tickPlacement&&0<g&&(d[g].lineCoordinates.y1-=d[g].tickLength),d[g].bounds={x1:l,y1:h+(Y+V-x[g]-X),x2:n,y2:k,width:n-l},d[g].bounds.height=d[g].bounds.y2-d[g].bounds.y1,X+=x[g]+d[g].margin;if(c&&0<c.length)for(g=0;g<c.length;g++)
|
|
652
|
-
Y+V<Math.max(
|
|
651
|
+
d[g-1].lineCoordinates.y1-X-(d[g].labelEffectiveHeight||0)),"inside"===d[g].tickPlacement&&0<g&&(d[g].lineCoordinates.y1-=d[g].tickLength),d[g].bounds={x1:l,y1:h+(Y+V-x[g]-X),x2:n,y2:k,width:n-l},d[g].bounds.height=d[g].bounds.y2-d[g].bounds.y1,X+=x[g]+d[g].margin;if(c&&0<c.length)for(g=0;g<c.length;g++)O=m.isNavigator?0:10,c[g]&&(l=Math.round(a[0]?a[0].lineCoordinates.x1:d[0].lineCoordinates.x1),O=c[g]._labels&&0<c[g]._labels.length?c[g]._labels[c[g]._labels.length-1].textBlock.height/2:p,h=Math.round(f.y1+
|
|
652
|
+
Y+V<Math.max(O,p)?Math.max(O,p):f.y1+Y+V),n=Math.round(a[0]?a[0].lineCoordinates.x1:d[0].lineCoordinates.x1),O=0<a.length?0:c[g]._labels&&0<c[g]._labels.length?c[g]._labels[0].textBlock.height/2:p,k=Math.round(f.y2-W-e-O),c[g].lineCoordinates={x1:l-T,y1:h,x2:n-T,y2:k,height:Math.abs(k-h)},"inside"===c[g].labelPlacement&&0<g&&(c[g].lineCoordinates.x1=c[g-1].lineCoordinates.x1-T-(c[g].labelEffectiveWidth||0),c[g].lineCoordinates.x2=c[g].lineCoordinates.x1+c[g].lineThickness/2),"inside"===c[g].tickPlacement&&
|
|
653
653
|
0<g&&(c[g].lineCoordinates.x1-=c[g].tickLength,c[g].lineCoordinates.x2=c[g].lineCoordinates.x1+c[g].lineThickness/2),c[g].bounds={x1:l-(z[g]+T),y1:h,x2:n-T,y2:k,height:k-h},c[g].bounds.width=c[g].bounds.x2-c[g].bounds.x1,c[g].title&&(c[g]._titleTextBlock.maxWidth=0<c[g].titleMaxWidth&&c[g].titleMaxWidth<c[g].lineCoordinates.height?c[g].titleMaxWidth:c[g].lineCoordinates.height),T+=z[g]+c[g].margin);if(b&&0<b.length)for(g=0;g<b.length;g++)b[g]&&(l=Math.round(a[0]?a[0].lineCoordinates.x2:d[0].lineCoordinates.x2),
|
|
654
|
-
n=Math.round(l),
|
|
654
|
+
n=Math.round(l),O=b[g]._labels&&0<b[g]._labels.length?b[g]._labels[b[g]._labels.length-1].textBlock.height/2:0,h=Math.round(f.y1+Y+V<Math.max(O,p)?Math.max(O,p):f.y1+Y+V),O=0<a.length?0:b[g]._labels&&0<b[g]._labels.length?b[g]._labels[0].textBlock.height/2:0,k=Math.round(f.y2-(W+e+O)),b[g].lineCoordinates={x1:l+U,y1:h,x2:l+U,y2:k,height:Math.abs(k-h)},"inside"===b[g].labelPlacement&&0<g&&(b[g].lineCoordinates.x1=b[g-1].lineCoordinates.x2+U+(b[g].labelEffectiveWidth||0),b[g].lineCoordinates.x2=b[g].lineCoordinates.x1+
|
|
655
655
|
b[g].lineThickness/2),"inside"===b[g].tickPlacement&&0<g&&(b[g].lineCoordinates.x1+=b[g].tickLength,b[g].lineCoordinates.x2=b[g].lineCoordinates.x1+b[g].lineThickness/2),b[g].bounds={x1:l+U,y1:h,x2:n+(A[g]+U),y2:k,height:k-h},b[g].bounds.width=b[g].bounds.x2-b[g].bounds.x1,b[g].title&&(b[g]._titleTextBlock.maxWidth=0<b[g].titleMaxWidth&&b[g].titleMaxWidth<b[g].lineCoordinates.height?b[g].titleMaxWidth:b[g].lineCoordinates.height),U+=A[g]+b[g].margin);if(a&&0<a.length)for(g=0;g<a.length;g++)a[g]&&
|
|
656
656
|
(a[g].calculateValueToPixelConversionParameters(),a[g].calculateBreaksSizeInValues(),a[g]._labels&&1<a[g]._labels.length&&(D=(a[g].logarithmic?Math.log(a[g]._labels[1].position/a[g].viewportMinimum)/a[g].conversionParameters.lnLogarithmBase:a[g]._labels[1].position-a[g].viewportMinimum)*Math.abs(a[g].conversionParameters.pixelPerUnit)+a[g].lineCoordinates.x1,l=a[g]._labels[a[g]._labels.length-("dateTime"===a[g].valueType?2:1)].position,l=a[g].getApparentDifference(a[g].viewportMinimum,l),B=a[g].logarithmic?
|
|
657
657
|
(1<l?Math.log(l)/a[g].conversionParameters.lnLogarithmBase*Math.abs(a[g].conversionParameters.pixelPerUnit):0)+a[g].lineCoordinates.x1:(0<l?l*Math.abs(a[g].conversionParameters.pixelPerUnit):0)+a[g].lineCoordinates.x1));if(d&&0<d.length)for(g=0;g<d.length;g++)d[g].calculateValueToPixelConversionParameters(),d[g].calculateBreaksSizeInValues(),d[g]._labels&&1<d[g]._labels.length&&(D=(d[g].logarithmic?Math.log(d[g]._labels[1].position/d[g].viewportMinimum)/d[g].conversionParameters.lnLogarithmBase:d[g]._labels[1].position-
|
|
658
658
|
d[g].viewportMinimum)*Math.abs(d[g].conversionParameters.pixelPerUnit)+d[g].lineCoordinates.x1,l=d[g]._labels[d[g]._labels.length-("dateTime"===d[g].valueType?2:1)].position,l=d[g].getApparentDifference(d[g].viewportMinimum,l),B=d[g].logarithmic?(1<l?Math.log(l)/d[g].conversionParameters.lnLogarithmBase*Math.abs(d[g].conversionParameters.pixelPerUnit):0)+d[g].lineCoordinates.x1:(0<l?l*Math.abs(d[g].conversionParameters.pixelPerUnit):0)+d[g].lineCoordinates.x1);for(g=0;g<q.length;g++)"axisY"===q[g].type&&
|
|
659
|
-
(q[g].calculateValueToPixelConversionParameters(),q[g].calculateBreaksSizeInValues());if(0<w){if(a&&0<a.length)for(g=0;g<a.length;g++)r=M[w-1][g]===M[w][g]?!0:!1;else r=!0;if(d&&0<d.length)for(g=0;g<d.length;g++)G=Q[w-1][g]===Q[w][g]?!0:!1;else G=!0;if(c&&0<c.length)for(g=0;g<c.length;g++)J=
|
|
660
|
-
a[g].calculateBreaksInPixels();if(d&&0<d.length)for(g=0;g<d.length;g++)d[g].calculateStripLinesThicknessInValues(),d[g].calculateBreaksInPixels();if(c&&0<c.length)for(g=0;g<c.length;g++)c[g].calculateStripLinesThicknessInValues(),c[g].calculateBreaksInPixels();if(b&&0<b.length)for(g=0;g<b.length;g++)b[g].calculateStripLinesThicknessInValues(),b[g].calculateBreaksInPixels()}else{p=[];D=[];E=[];v=[];B=[];u=[];M=[];for(Q=[];4>w;){W=U=T=Z=
|
|
659
|
+
(q[g].calculateValueToPixelConversionParameters(),q[g].calculateBreaksSizeInValues());if(0<w){if(a&&0<a.length)for(g=0;g<a.length;g++)r=M[w-1][g]===M[w][g]?!0:!1;else r=!0;if(d&&0<d.length)for(g=0;g<d.length;g++)G=Q[w-1][g]===Q[w][g]?!0:!1;else G=!0;if(c&&0<c.length)for(g=0;g<c.length;g++)J=N[w-1][g]===N[w][g]?!0:!1;else J=!0;if(b&&0<b.length)for(g=0;g<b.length;g++)K=P[w-1][g]===P[w][g]?!0:!1;else K=!0}if(r&&G&&J&&K)break;w++}if(a&&0<a.length)for(g=0;g<a.length;g++)a[g].calculateStripLinesThicknessInValues(),
|
|
660
|
+
a[g].calculateBreaksInPixels();if(d&&0<d.length)for(g=0;g<d.length;g++)d[g].calculateStripLinesThicknessInValues(),d[g].calculateBreaksInPixels();if(c&&0<c.length)for(g=0;g<c.length;g++)c[g].calculateStripLinesThicknessInValues(),c[g].calculateBreaksInPixels();if(b&&0<b.length)for(g=0;g<b.length;g++)b[g].calculateStripLinesThicknessInValues(),b[g].calculateBreaksInPixels()}else{p=[];D=[];E=[];v=[];B=[];u=[];M=[];for(Q=[];4>w;){W=U=T=Z=O=V=e=P=N=F=Y=0;if(a&&0<a.length)for(E=[],g=U=0;g<a.length;g++)E.push(Math.ceil(a[g]?
|
|
661
661
|
a[g].createLabelsAndCalculateWidth():0)),U+=E[g],e+=a[g]&&!m.isNavigator?a[g].margin:0;else E.push(Math.ceil(a[0]?a[0].createLabelsAndCalculateWidth():0));M.push(E);if(d&&0<d.length)for(v=[],g=W=0;g<d.length;g++)v.push(Math.ceil(d[g]?d[g].createLabelsAndCalculateWidth():0)),W+=v[g],V+=d[g]?d[g].margin:0;else v.push(Math.ceil(d[0]?d[0].createLabelsAndCalculateWidth():0));Q.push(v);if(c&&0<c.length)for(g=0;g<c.length;g++)c[g].lineCoordinates={},l=Math.round(f.x1+U+e),n=Math.round(f.x2-W-V>m.width-10?
|
|
662
662
|
m.width-10:f.x2-W-V),c[g].labelAutoFit&&!s(y)&&(0<!a.length&&(l=0>c[g].labelAngle?Math.max(l,y):0===c[g].labelAngle?Math.max(l,y/2):l),0<!d.length&&(n=0<c[g].labelAngle?n-x/2:0===c[g].labelAngle?n-x/2:n)),c[g].lineCoordinates.x1=l,c[g].lineCoordinates.x2=n,c[g].lineCoordinates.width=Math.abs(n-l),c[g].title&&(c[g]._titleTextBlock.maxWidth=0<c[g].titleMaxWidth&&c[g].titleMaxWidth<c[g].lineCoordinates.width?c[g].titleMaxWidth:c[g].lineCoordinates.width);if(b&&0<b.length)for(g=0;g<b.length;g++)b[g].lineCoordinates=
|
|
663
663
|
{},l=Math.round(f.x1+U+e),n=Math.round(f.x2-W-V>b[g].chart.width-10?b[g].chart.width-10:f.x2-W-V),b[g]&&b[g].labelAutoFit&&!s(z)&&(0<!a.length&&(l=0<b[g].labelAngle?Math.max(l,z):0===b[g].labelAngle?Math.max(l,z/2):l),0<!d.length&&(n-=A/2)),b[g].lineCoordinates.x1=l,b[g].lineCoordinates.x2=n,b[g].lineCoordinates.width=Math.abs(n-l),b[g].title&&(b[g]._titleTextBlock.maxWidth=0<b[g].titleMaxWidth&&b[g].titleMaxWidth<b[g].lineCoordinates.width?b[g].titleMaxWidth:b[g].lineCoordinates.width);if(c&&0<c.length)for(p=
|
|
664
|
-
[],g=T=0;g<c.length;g++)p.push(Math.ceil(c[g]?c[g].createLabelsAndCalculateHeight():0)),T+=p[g]+c[g].margin,
|
|
664
|
+
[],g=T=0;g<c.length;g++)p.push(Math.ceil(c[g]?c[g].createLabelsAndCalculateHeight():0)),T+=p[g]+c[g].margin,O+=c[g].margin;else p.push(Math.ceil(c[0]?c[0].createLabelsAndCalculateHeight():0));B.push(p);if(b&&0<b.length)for(D=[],g=0;g<b.length;g++)D.push(Math.ceil(b[g]?b[g].createLabelsAndCalculateHeight():0)),Z+=b[g].margin;else D.push(Math.ceil(b[0]?b[0].createLabelsAndCalculateHeight():0));u.push(D);if(c&&0<c.length)for(g=0;g<c.length;g++)0<c[g]._labels.length&&(k=c[g]._labels[0],h=c[g]._labels[c[g]._labels.length-
|
|
665
665
|
1],y=k.textBlock.width*Math.cos(Math.PI/180*Math.abs(k.textBlock.angle))+(k.textBlock.height-h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(k.textBlock.angle)),x=h.textBlock.width*Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+(h.textBlock.height-h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle)));if(b&&0<b.length)for(g=0;g<b.length;g++)b[g]&&0<b[g]._labels.length&&(k=b[g]._labels[0],h=b[g]._labels[b[g]._labels.length-1],z=k.textBlock.width*Math.cos(Math.PI/180*Math.abs(k.textBlock.angle))+
|
|
666
666
|
(k.textBlock.height-h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(k.textBlock.angle)),A=h.textBlock.width*Math.cos(Math.PI/180*Math.abs(h.textBlock.angle))+(h.textBlock.height-h.textBlock.fontSize/2)*Math.sin(Math.PI/180*Math.abs(h.textBlock.angle)));if(m.panEnabled)for(g=0;g<c.length;g++)p[g]=s(m.sessionVariables.axisY.height)?m.sessionVariables.axisY.height=p[g]:m.sessionVariables.axisY.height;else for(g=0;g<c.length;g++)m.sessionVariables.axisY.height=p[g];if(c&&0<c.length)for(g=c.length-
|
|
667
667
|
1;0<=g;g--)h=Math.round(f.y2),k=Math.round(f.y2>c[g].chart.height?c[g].chart.height:f.y2),c[g].lineCoordinates.y1=h-(p[g]+c[g].margin+Y),c[g].lineCoordinates.y2=h-(p[g]+c[g].margin+Y),"inside"===c[g].labelPlacement&&0<g&&(c[g].lineCoordinates.y1=c[g].lineCoordinates.y1+p[g]-(c[g]._titleTextBlock?c[g]._titleTextBlock.height:0)-c[g].tickLength-(c[g].stripLineLabelEffectiveHeight||0)-5,c[g].lineCoordinates.y2=c[g].lineCoordinates.y1+c[g].lineThickness/2),"inside"===c[g].tickPlacement&&0<g&&(c[g].lineCoordinates.y1+=
|
|
668
668
|
c[g].tickLength,c[g].lineCoordinates.y2=c[g].lineCoordinates.y1+c[g].lineThickness/2),c[g].bounds={x1:l,y1:h-(p[g]+Y+c[g].margin),x2:n,y2:k-(Y+c[g].margin),width:n-l,height:p[g]},c[g].title&&(c[g]._titleTextBlock.maxWidth=0<c[g].titleMaxWidth&&c[g].titleMaxWidth<c[g].lineCoordinates.width?c[g].titleMaxWidth:c[g].lineCoordinates.width),Y+=p[g]+c[g].margin;if(b&&0<b.length)for(g=b.length-1;0<=g;g--)b[g]&&(h=Math.round(f.y1),k=Math.round(f.y1+(D[g]+b[g].margin+F)),b[g].lineCoordinates.y1=k,b[g].lineCoordinates.y2=
|
|
669
669
|
k,"inside"===b[g].labelPlacement&&0<g&&(b[g].lineCoordinates.y1=k-D[g]+(b[g]._titleTextBlock?b[g]._titleTextBlock.height:0)+b[g].tickLength+(b[g].stripLineLabelEffectiveHeight||0),b[g].lineCoordinates.y2=b[g].lineCoordinates.y1-b[g].lineThickness/2),"inside"===b[g].tickPlacement&&0<g&&(b[g].lineCoordinates.y1-=b[g].tickLength,b[g].lineCoordinates.y2=b[g].lineCoordinates.y1-b[g].lineThickness/2),b[g].bounds={x1:l,y1:h+(b[g].margin+F),x2:n,y2:k,width:n-l},b[g].bounds.height=b[g].bounds.y2-b[g].bounds.y1,
|
|
670
|
-
b[g].title&&(b[g]._titleTextBlock.maxWidth=0<b[g].titleMaxWidth&&b[g].titleMaxWidth<b[g].lineCoordinates.width?b[g].titleMaxWidth:b[g].lineCoordinates.width),F+=D[g]+b[g].margin);if(a&&0<a.length)for(g=0;g<a.length;g++){
|
|
671
|
-
c[0].lineCoordinates.y1:f.y2-T>m.height-Math.max(
|
|
672
|
-
a[g].
|
|
673
|
-
|
|
674
|
-
|
|
675
|
-
|
|
676
|
-
|
|
677
|
-
|
|
670
|
+
b[g].title&&(b[g]._titleTextBlock.maxWidth=0<b[g].titleMaxWidth&&b[g].titleMaxWidth<b[g].lineCoordinates.width?b[g].titleMaxWidth:b[g].lineCoordinates.width),F+=D[g]+b[g].margin);if(a&&0<a.length)for(g=0;g<a.length;g++){O=a[g]._labels&&0<a[g]._labels.length?a[g]._labels[0].textBlock.fontSize/2:0;l=Math.round(f.x1+e);h=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:f.y1<Math.max(O,10)?Math.max(O,10):f.y1):f.y1<Math.max(O,10)?Math.max(O,10):f.y1;n=Math.round(f.x1+U+e);k=c&&0<c.length?Math.round(c[0]?
|
|
671
|
+
c[0].lineCoordinates.y1:f.y2-T>m.height-Math.max(O,10)?m.height-Math.max(O,10):f.y2-T):f.y2>m.height-Math.max(O,10)?m.height-Math.max(O,10):f.y2;if(c&&0<c.length)for(O=0;O<c.length;O++)c[O]&&c[O].labelAutoFit&&(n=c[O].lineCoordinates.x1,l=0>c[O].labelAngle||0===c[O].labelAngle?n-U:l);if(b&&0<b.length)for(O=0;O<b.length;O++)b[O]&&b[O].labelAutoFit&&(n=b[O].lineCoordinates.x1,l=n-U);a[g].lineCoordinates={x1:n-N,y1:h,x2:n-N,y2:k,height:Math.abs(k-h)};"inside"===a[g].labelPlacement&&0<g&&(a[g].lineCoordinates.x1=
|
|
672
|
+
a[g].lineCoordinates.x1-(E[g]-(a[g]._titleTextBlock?a[g]._titleTextBlock.height:0))+a[g].tickLength+(a[g].stripLineLabelEffectiveWidth||0),a[g].lineCoordinates.x2=a[g].lineCoordinates.x1+a[g].lineThickness/2);"inside"===a[g].tickPlacement&&0<g&&(a[g].lineCoordinates.x1-=a[g].tickLength,a[g].lineCoordinates.x2=a[g].lineCoordinates.x1+a[g].lineThickness/2);a[g].bounds={x1:n-(E[g]+N),y1:h,x2:n-N,y2:k,height:k-h};a[g].bounds.width=a[g].bounds.x2-a[g].bounds.x1;a[g].title&&(a[g]._titleTextBlock.maxWidth=
|
|
673
|
+
0<a[g].titleMaxWidth&&a[g].titleMaxWidth<a[g].lineCoordinates.height?a[g].titleMaxWidth:a[g].lineCoordinates.height);a[g].calculateValueToPixelConversionParameters();a[g].calculateBreaksSizeInValues();N+=E[g]+a[g].margin}if(d&&0<d.length)for(g=0;g<d.length;g++){O=d[g]._labels&&0<d[g]._labels.length?d[g]._labels[0].textBlock.fontSize/2:0;l=Math.round(f.x1-e);h=b&&0<b.length?Math.round(b[0]?b[0].lineCoordinates.y2:f.y1<Math.max(O,10)?Math.max(O,10):f.y1):f.y1<Math.max(O,10)?Math.max(O,10):f.y1;n=Math.round(f.x2-
|
|
674
|
+
W-V);k=c&&0<c.length?Math.round(c[0]?c[0].lineCoordinates.y1:f.y2-T>m.height-Math.max(O,10)?m.height-Math.max(O,10):f.y2-T):f.y2>m.height-Math.max(O,10)?m.height-Math.max(O,10):f.y2;if(c&&0<c.length)for(O=0;O<c.length;O++)c[O]&&c[O].labelAutoFit&&(n=0>c[O].labelAngle?Math.max(n,y):0===c[O].labelAngle?Math.max(n,y/2):n,l=0>c[O].labelAngle||0===c[O].labelAngle?n-W:l);if(b&&0<b.length)for(O=0;O<b.length;O++)b[O]&&b[O].labelAutoFit&&(n=b[O].lineCoordinates.x2,l=n-W);d[g].lineCoordinates={x1:n+P,y1:h,
|
|
675
|
+
x2:n+P,y2:k,height:Math.abs(k-h)};"inside"===d[g].labelPlacement&&0<g&&(d[g].lineCoordinates.x1=d[g].lineCoordinates.x1+(v[g]-(d[g]._titleTextBlock?d[g]._titleTextBlock.height:0)-2)-d[g].tickLength-(d[g].stripLineLabelEffectiveWidth||0),d[g].lineCoordinates.x2=d[g].lineCoordinates.x1+d[g].lineThickness/2);"inside"===d[g].tickPlacement&&0<g&&(d[g].lineCoordinates.x1+=d[g].tickLength,d[g].lineCoordinates.x2=d[g].lineCoordinates.x1+d[g].lineThickness/2);d[g].bounds={x1:d[g].lineCoordinates.x1,y1:h,x2:n+
|
|
676
|
+
v[g]+P,y2:k,width:n-l,height:k-h};d[g].bounds.width=d[g].bounds.x2-d[g].bounds.x1;d[g].title&&(d[g]._titleTextBlock.maxWidth=0<d[g].titleMaxWidth&&d[g].titleMaxWidth<d[g].lineCoordinates.height?d[g].titleMaxWidth:d[g].lineCoordinates.height);d[g].calculateValueToPixelConversionParameters();d[g].calculateBreaksSizeInValues();P+=v[g]+d[g].margin}for(g=0;g<q.length;g++)"axisY"===q[g].type&&(q[g].calculateValueToPixelConversionParameters(),q[g].calculateBreaksSizeInValues());if(0<w){if(a&&0<a.length)for(g=
|
|
677
|
+
0;g<a.length;g++)r=M[w-1][g]===M[w][g]?!0:!1;else r=!0;if(d&&0<d.length)for(g=0;g<d.length;g++)G=Q[w-1][g]===Q[w][g]?!0:!1;else G=!0;if(c&&0<c.length)for(g=0;g<c.length;g++)J=B[w-1][g]===B[w][g]?!0:!1;else J=!0;if(b&&0<b.length)for(g=0;g<b.length;g++)K=u[w-1][g]===u[w][g]?!0:!1;else K=!0}if(r&&G&&J&&K)break;w++}if(c&&0<c.length)for(g=0;g<c.length;g++)c[g].calculateStripLinesThicknessInValues(),c[g].calculateBreaksInPixels();if(b&&0<b.length)for(g=0;g<b.length;g++)b[g].calculateStripLinesThicknessInValues(),
|
|
678
678
|
b[g].calculateBreaksInPixels();if(a&&0<a.length)for(g=0;g<a.length;g++)a[g].calculateStripLinesThicknessInValues(),a[g].calculateBreaksInPixels();if(d&&0<d.length)for(g=0;g<d.length;g++)d[g].calculateStripLinesThicknessInValues(),d[g].calculateBreaksInPixels()}};A.render=function(a,d,c,b,e){var f=a[0]?a[0].chart:d[0].chart;e=f.ctx;f.alignVerticalAxes&&f.alignVerticalAxes();e.save();e.beginPath();a&&a.length&&e.rect(5,a[0].bounds.y1,a[0].chart.width-10,a[a.length-1].bounds.y2);d&&d.length&&e.rect(5,
|
|
679
679
|
d[d.length-1].bounds.y1,d[0].chart.width-10,d[0].bounds.y2);e.clip();if(a&&0<a.length)for(var l=0;l<a.length;l++)a[l].renderLabelsTicksAndTitle();if(d&&0<d.length)for(l=0;l<d.length;l++)d[l].renderLabelsTicksAndTitle();e.restore();if(c&&0<c.length)for(l=0;l<c.length;l++)c[l].renderLabelsTicksAndTitle();if(b&&0<b.length)for(l=0;l<b.length;l++)b[l].renderLabelsTicksAndTitle();f.preparePlotArea();f=f.plotArea;e.save();e.beginPath();e.rect(f.x1,f.y1,Math.abs(f.x2-f.x1),Math.abs(f.y2-f.y1));e.clip();if(a&&
|
|
680
680
|
0<a.length)for(l=0;l<a.length;l++)a[l].renderStripLinesOfThicknessType("value");if(d&&0<d.length)for(l=0;l<d.length;l++)d[l].renderStripLinesOfThicknessType("value");if(c&&0<c.length)for(l=0;l<c.length;l++)c[l].renderStripLinesOfThicknessType("value");if(b&&0<b.length)for(l=0;l<b.length;l++)b[l].renderStripLinesOfThicknessType("value");if(a&&0<a.length)for(l=0;l<a.length;l++)a[l].renderInterlacedColors();if(d&&0<d.length)for(l=0;l<d.length;l++)d[l].renderInterlacedColors();if(c&&0<c.length)for(l=
|
|
@@ -805,8 +805,8 @@ e.x<<0,"top"===this.scaleBreaks.parent._position?(e=this.chart.plotArea.y1,h=thi
|
|
|
805
805
|
f*a,k+a,n+f*a,k+2*a,n,k+3*a),k+=3*a,f*=-1;this.ctx.bezierCurveTo(n+f*a,k+a,n+f*a,k+2*a,n,k+3*a);n=l;f*=-1;this.ctx.lineTo(n,k);for(q=0;q<m;q++)this.ctx.bezierCurveTo(n+f*a,k-a,n+f*a,k-2*a,n,k-3*a),k-=3*a,f*=-1}else{if("zigzag"===this.type){f=-1;k=e+a;n=b+a;m=(h-k)/a/2;for(q=0;q<m;q++)this.ctx.lineTo(n,k),n+=2*f*a,k+=2*a,f*=-1;this.ctx.lineTo(n,k);n+=l-b;for(q=0;q<m+1;q++)this.ctx.lineTo(n,k),n+=2*f*a,k-=2*a,f*=-1;this.ctx.lineTo(n+f*a,k+a)}}else if("left"===this.scaleBreaks.parent._position||"right"===
|
|
806
806
|
this.scaleBreaks.parent._position)if(e=1===p%2?(e.y<<0)+0.5:e.y<<0,h=1===p%2?(b.y<<0)+0.5:b.y<<0,"left"===this.scaleBreaks.parent._position?(b=this.chart.plotArea.x1,l=this.chart.plotArea.x2+p/2+0.5<<0):(b=this.chart.plotArea.x2,l=this.chart.plotArea.x1-p/2+0.5<<0,a*=-1),this.bounds={x1:b,y1:e-p/2,x2:l,y2:h+p/2},this.ctx.moveTo(b,e),"straight"===this.type||"left"===this.scaleBreaks.parent._position&&0>=a||"right"===this.scaleBreaks.parent._position&&0<=a)this.ctx.lineTo(l,e),this.ctx.lineTo(l,h),
|
|
807
807
|
this.ctx.lineTo(b,h);else if("wavy"===this.type){n=b;k=e;f=0.5;m=(l-n)/a/3;for(q=0;q<m;q++)this.ctx.bezierCurveTo(n+a,k+f*a,n+2*a,k+f*a,n+3*a,k),n+=3*a,f*=-1;this.ctx.bezierCurveTo(n+a,k+f*a,n+2*a,k+f*a,n+3*a,k);k=h;f*=-1;this.ctx.lineTo(n,k);for(q=0;q<m;q++)this.ctx.bezierCurveTo(n-a,k+f*a,n-2*a,k+f*a,n-3*a,k),n-=3*a,f*=-1}else if("zigzag"===this.type){f=1;k=e-a;n=b+a;m=(l-n)/a/2;for(q=0;q<m;q++)this.ctx.lineTo(n,k),k+=2*f*a,n+=2*a,f*=-1;this.ctx.lineTo(n,k);k+=h-e;for(q=0;q<m+1;q++)this.ctx.lineTo(n,
|
|
808
|
-
k),k+=2*f*a,n-=2*a,f*=-1;this.ctx.lineTo(n+a,k+f*a)}0<p&&this.ctx.stroke();this.ctx.closePath();this.ctx.globalAlpha=this.fillOpacity;this.ctx.globalCompositeOperation="destination-over";this.ctx.fill();this.ctx.restore();this.ctx.globalAlpha=c;this.ctx=d}};oa(
|
|
809
|
-
this.options="undefined"===typeof a?{}:a;this.parent.options.stripLines[d]=this.options}};
|
|
808
|
+
k),k+=2*f*a,n-=2*a,f*=-1;this.ctx.lineTo(n+a,k+f*a)}0<p&&this.ctx.stroke();this.ctx.closePath();this.ctx.globalAlpha=this.fillOpacity;this.ctx.globalCompositeOperation="destination-over";this.ctx.fill();this.ctx.restore();this.ctx.globalAlpha=c;this.ctx=d}};oa(N,G);N.prototype.createUserOptions=function(a){if("undefined"!==typeof a||this.options._isPlaceholder){var d=0;this.parent.options._isPlaceholder&&this.parent.createUserOptions();this.options._isPlaceholder||(Ea(this.parent.stripLines),d=this.parent.options.stripLines.indexOf(this.options));
|
|
809
|
+
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=
|
|
810
810
|
c;X(this.id);var e,f,h,n;this.ctx.lineWidth=d;this.ctx.setLineDash&&this.ctx.setLineDash(J(this.lineDashType,d));if("bottom"===this.parent._position||"top"===this.parent._position)e=f=1===this.ctx.lineWidth%2?(a.x<<0)+0.5:a.x<<0,h=this.chart.plotArea.y1,n=this.chart.plotArea.y2,this.bounds={x1:e-d/2,y1:h,x2:f+d/2,y2:n};else if("left"===this.parent._position||"right"===this.parent._position)h=n=1===this.ctx.lineWidth%2?(a.y<<0)+0.5:a.y<<0,e=this.chart.plotArea.x1,f=this.chart.plotArea.x2,this.bounds=
|
|
811
811
|
{x1:e,y1:h-d/2,x2:f,y2:n+d/2};this.ctx.moveTo(e,h);this.ctx.lineTo(f,n);this.ctx.stroke();this.ctx.globalAlpha=b}this.ctx.restore()};oa(ca,G);ca.prototype.showAt=function(a){if(!this.enabled)return!1;var d=this.chart,c=!1;d.resetOverlayedCanvas();d.clearedOverlayedCanvas=this.parent.type;this.chart.renderCrosshairs(this.parent);if("xySwapped"===d.plotInfo.axisPlacement)if("bottom"===this.parent._position)for(var b=0;b<d.axisY.length;b++)this.parent===d.axisY[b]&&(d.axisY[b]._crosshairValue=a>=d.axisY[b].viewportMinimum&&
|
|
812
812
|
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===
|
|
@@ -928,7 +928,7 @@ this.chart.requestAnimFrame.call(window,function(){f.animate.call(f)}):this.char
|
|
|
928
928
|
d){if(0!==a){var c=d.dest,b=d.source.canvas,e=d.animationBase;c.drawImage(b,0,0,b.width,b.height,e-e*a,0,a*c.canvas.width/la,c.canvas.height/la)}},xClipAnimation:function(a,d){if(0!==a){var c=d.dest,b=d.source.canvas;c.save();0<a&&c.drawImage(b,0,0,b.width*a,b.height,0,0,b.width*a/la,b.height/la);c.restore()}},fadeInAnimation:function(a,d){if(0!==a){var c=d.dest,b=d.source.canvas;c.save();c.globalAlpha=a;c.drawImage(b,0,0,b.width,b.height,0,0,c.canvas.width/la,c.canvas.height/la);c.restore()}},easing:{linear:function(a,
|
|
929
929
|
d,c,b){return c*a/b+d},easeOutQuad:function(a,d,c,b){return-c*(a/=b)*(a-2)+d},easeOutQuart:function(a,d,c,b){return-c*((a=a/b-1)*a*a*a-1)+d},easeInQuad:function(a,d,c,b){return c*(a/=b)*a+d},easeInQuart:function(a,d,c,b){return c*(a/=b)*a*a*a+d}}},W={drawMarker:function(a,d,c,b,e,f,h,n){if(c){var s=1;c.fillStyle=f?f:"#000000";c.strokeStyle=h?h:"#000000";c.lineWidth=n?n:0;c.setLineDash&&c.setLineDash(J("solid",n));"circle"===b?(c.moveTo(a,d),c.beginPath(),c.arc(a,d,e/2,0,2*Math.PI,!1),f&&c.fill(),
|
|
930
930
|
n&&(h?c.stroke():(s=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=s))):"square"===b?(c.beginPath(),c.rect(a-e/2,d-e/2,e,e),f&&c.fill(),n&&(h?c.stroke():(s=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=s))):"triangle"===b?(c.beginPath(),c.moveTo(a-e/2,d+e/2),c.lineTo(a+e/2,d+e/2),c.lineTo(a,d-e/2),c.closePath(),f&&c.fill(),n&&(h?c.stroke():(s=c.globalAlpha,c.globalAlpha=0.15,c.strokeStyle="black",c.stroke(),c.globalAlpha=s)),c.beginPath()):
|
|
931
|
-
"cross"===b&&(c.strokeStyle=f,c.lineWidth=e/4,c.beginPath(),c.moveTo(a-e/2,d-e/2),c.lineTo(a+e/2,d+e/2),c.stroke(),c.moveTo(a+e/2,d-e/2),c.lineTo(a-e/2,d+e/2),c.stroke())}},drawMarkers:function(a){for(var d=0;d<a.length;d++){var c=a[d];W.drawMarker(c.x,c.y,c.ctx,c.type,c.size,c.color,c.borderColor,c.borderThickness)}}};return n}();B.version="v3.7.
|
|
931
|
+
"cross"===b&&(c.strokeStyle=f,c.lineWidth=e/4,c.beginPath(),c.moveTo(a-e/2,d-e/2),c.lineTo(a+e/2,d+e/2),c.stroke(),c.moveTo(a+e/2,d-e/2),c.lineTo(a-e/2,d+e/2),c.stroke())}},drawMarkers:function(a){for(var d=0;d<a.length;d++){var c=a[d];W.drawMarker(c.x,c.y,c.ctx,c.type,c.size,c.color,c.borderColor,c.borderThickness)}}};return n}();B.version="v3.7.25 GA";window.CanvasJS&&(B&&!window.CanvasJS.Chart)&&(window.CanvasJS.Chart=B)})();
|
|
932
932
|
|
|
933
933
|
/*
|
|
934
934
|
excanvas is used to support IE678 which do not implement HTML5 Canvas Element. You can safely remove the following excanvas code if you don't need to support older browsers.
|