@canvasjs/stockcharts 1.12.11 → 1.12.12
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 +356 -356
- package/package.json +1 -1
package/canvasjs.stock.min.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/*
|
|
2
|
-
CanvasJS StockChart - v1.12.
|
|
2
|
+
CanvasJS StockChart - v1.12.12 GA - https://canvasjs.com/
|
|
3
3
|
Copyright 2025 fenopix
|
|
4
4
|
|
|
5
5
|
--------------------- License Information --------------------
|
|
@@ -219,44 +219,44 @@ d.type?L=this.renderStackedArea(d):"stackedArea100"===d.type?L=this.renderStacke
|
|
|
219
219
|
dest:this.plotArea.ctx,animationCallback:E.fadeInAnimation,easingFunction:E.easing.easeInQuad,animationBase:0,startTimePercent:0.7});this.animatedRender&&0<this._indexLabels.length&&(e=ra(this.width,this.height).getContext("2d"),Ca(e),b.push(this.renderIndexLabels(e)));var q=this;if(0<b.length)q.disableToolTip=!0,q._animator.animate(200,q.animationDuration,function(a){q.ctx.clearRect(0,0,q.width,q.height);q.ctx.drawImage(c,0,0,Math.floor(q.width*ka),Math.floor(q.height*ka),0,0,q.width,q.height);for(var e=
|
|
220
220
|
0;e<b.length;e++)L=b[e],1>a&&"undefined"!==typeof L.startTimePercent?a>=L.startTimePercent&&L.animationCallback(L.easingFunction(a-L.startTimePercent,0,1,1-L.startTimePercent),L):L.animationCallback(L.easingFunction(a,0,1,1),L);q.dispatchEvent("dataAnimationIterationEnd",{chart:q})},function(){b=[];for(var a=0;a<q.plotInfo.plotTypes.length;a++)for(var e=q.plotInfo.plotTypes[a],g=0;g<e.plotUnits.length;g++){var k=e.plotUnits[g];k.targetCanvas&&Ba(k.targetCanvas);k.targetCanvas=null}c=null;q.disableToolTip=
|
|
221
221
|
!1;q.dispatchEvent("dataAnimationEnd",{chart:q})});else{if(q._breaksCanvas)if(w)q.plotArea.ctx.drawImage(q._breaksCanvas,0,0,this.width,this.height);else for(n=0;n<q._axes.length;n++)q._axes[n].createMask();0<q._indexLabels.length&&q.renderIndexLabels();q.dispatchEvent("dataAnimationIterationEnd",{chart:q});q.dispatchEvent("dataAnimationEnd",{chart:q})}this.attachPlotAreaEventHandlers();this.zoomEnabled||(this.panEnabled||!this._zoomButton||"none"===this._zoomButton.style.display)||xa(this._zoomButton,
|
|
222
|
-
this._resetButton);f(this.toolTip._xValue)||f(this.toolTip._dataSeriesIndex)||
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
230
|
-
|
|
231
|
-
|
|
232
|
-
|
|
233
|
-
|
|
234
|
-
|
|
235
|
-
a.axisX.options
|
|
236
|
-
|
|
237
|
-
1].y,
|
|
238
|
-
|
|
239
|
-
|
|
240
|
-
|
|
241
|
-
a.axisX.
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
-
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
|
|
249
|
-
|
|
250
|
-
|
|
251
|
-
a.axisX.
|
|
252
|
-
|
|
253
|
-
0===d?
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
f.dataPointEOs[d].cumulativeSum
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
k
|
|
222
|
+
this._resetButton);f(this.toolTip._xValue)||f(this.toolTip._dataSeriesIndex)||this.toolTip.showAtX(this.toolTip._xValue,this.toolTip._dataSeriesIndex);this.toolTip._updateToolTip();this.toolTip.enabled&&this.toolTip._updatedEventParameters&&!isNaN(this.toolTip._prevX)&&!isNaN(this.toolTip._prevY)&&this.toolTip.container&&this.toolTip.container.style&&this.toolTip.dispatchEvent("none"===this.toolTip.container.style.display?"hidden":"updated",this.toolTip._updatedEventParameters,this.toolTip);this.renderCount++;
|
|
223
|
+
Ja&&(q=this,setTimeout(function(){var a=document.getElementById("ghostCanvasCopy");a&&(Sa(a,q.width,q.height),a.getContext("2d").drawImage(q._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)}};v.prototype.render=function(a){a&&(this.options=a);this._initialize();this.setLayout();this.renderElements();this._preRenderCanvas&&
|
|
224
|
+
Ba(this._preRenderCanvas)};v.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})};v.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)&&0<=v._supportedChartTypes.indexOf(a.type)){for(var b=null,
|
|
225
|
+
c=!1,e=null,k=!1,B=0;B<this.plotInfo.plotTypes.length;B++)if(this.plotInfo.plotTypes[B].type===a.type){c=!0;b=this.plotInfo.plotTypes[B];break}c||(b={type:a.type,totalDataSeries:0,plotUnits:[]},this.plotInfo.plotTypes.push(b));for(B=0;B<b.plotUnits.length;B++)if(b.plotUnits[B].axisYType===a.axisYType&&b.plotUnits[B].axisXType===a.axisXType&&b.plotUnits[B].axisYIndex===a.axisYIndex&&b.plotUnits[B].axisXIndex===a.axisXIndex){k=!0;e=b.plotUnits[B];break}k||(e={type:a.type,previousDataSeriesCount:0,index:b.plotUnits.length,
|
|
226
|
+
plotType:b,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<this.axisX2.length?a.axisXIndex:0],dataSeriesIndexes:[],yTotals:[],yAbsTotals:[]},
|
|
227
|
+
b.plotUnits.push(e));b.totalDataSeries++;e.dataSeriesIndexes.push(g);a.plotUnit=e}for(g=0;g<this.plotInfo.plotTypes.length;g++)for(b=this.plotInfo.plotTypes[g],B=a=0;B<b.plotUnits.length;B++)b.plotUnits[B].previousDataSeriesCount=a,a+=b.plotUnits[B].dataSeriesIndexes.length};v.prototype.assignIdToDataPoints=function(){for(var a=0;a<this.data.length;a++){var g=this.data[a];if(g.dataPoints)for(var b=g.dataPoints.length,c=0;c<b;c++)g.dataPointIds[c]=++this._eventManager.lastObjectId}};v.prototype._processData=
|
|
228
|
+
function(){this.assignIdToDataPoints();this.categoriseDataSeries();for(var a=0;a<this.plotInfo.plotTypes.length;a++)for(var g=this.plotInfo.plotTypes[a],b=0;b<g.plotUnits.length;b++){var c=g.plotUnits[b];"line"===c.type||"stepLine"===c.type||"spline"===c.type||"column"===c.type||"area"===c.type||"stepArea"===c.type||"splineArea"===c.type||"bar"===c.type||"bubble"===c.type||"scatter"===c.type?this._processMultiseriesPlotUnit(c):"stackedColumn"===c.type||"stackedBar"===c.type||"stackedArea"===c.type?
|
|
229
|
+
this._processStackedPlotUnit(c):"stackedColumn100"===c.type||"stackedBar100"===c.type||"stackedArea100"===c.type?this._processStacked100PlotUnit(c):"candlestick"===c.type||"ohlc"===c.type||"rangeColumn"===c.type||"rangeBar"===c.type||"rangeArea"===c.type||"rangeSplineArea"===c.type||"error"===c.type||"boxAndWhisker"===c.type?this._processMultiYPlotUnit(c):"waterfall"===c.type&&this._processSpecificPlotUnit(c)}this.calculateAutoBreaks()};v.prototype._processMultiseriesPlotUnit=function(a){if(a.dataSeriesIndexes&&
|
|
230
|
+
!(1>a.dataSeriesIndexes.length))for(var g=a.axisY.dataInfo,b=a.axisX.dataInfo,c,e,k=!1,B=0;B<a.dataSeriesIndexes.length;B++){var f=this.data[a.dataSeriesIndexes[B]],d=0,n=!1,q=!1,p;if("normal"===f.axisPlacement||"xySwapped"===f.axisPlacement)var s=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?
|
|
231
|
+
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)k=!0;for(d=0;d<f.dataPoints.length;d++){"undefined"===typeof f.dataPoints[d].x&&(f.dataPoints[d].x=d+(a.axisX.logarithmic?1:0));f.dataPoints[d].x.getTime?(k=!0,c=f.dataPoints[d].x.getTime()):
|
|
232
|
+
c=f.dataPoints[d].x;e=f.dataPoints[d].y;c<b.min&&(b.min=c);c>b.max&&(b.max=c);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 C=c/f.dataPoints[d-1].x;1>C&&(C=1/C);b.minDiff>C&&1!==C&&(b.minDiff=C)}else C=c-f.dataPoints[d-1].x,0>C&&(C*=-1),b.minDiff>C&&0!==C&&(b.minDiff=C);null!==e&&null!==f.dataPoints[d-1].y&&(a.axisY.logarithmic?(C=e/f.dataPoints[d-1].y,1>C&&(C=1/C),g.minDiff>C&&1!==C&&(g.minDiff=C)):(C=e-f.dataPoints[d-1].y,0>C&&
|
|
233
|
+
(C*=-1),g.minDiff>C&&0!==C&&(g.minDiff=C)))}if(c<s&&!n)null!==e&&(p=c);else{if(!n&&(n=!0,0<d)){d-=2;continue}if(c>h&&!q)q=!0;else if(c>h&&q)continue;f.dataPoints[d].label&&(a.axisX.labels[c]=f.dataPoints[d].label);c<b.viewPortMin&&(b.viewPortMin=c);c>b.viewPortMax&&(b.viewPortMax=c);null===e?b.viewPortMin===c&&p<c&&(b.viewPortMin=p):(e<g.viewPortMin&&"number"===typeof e&&(g.viewPortMin=e),e>g.viewPortMax&&"number"===typeof e&&(g.viewPortMax=e))}}f.axisX.valueType=f.xValueType=k?"dateTime":"number"}};
|
|
234
|
+
v.prototype._processStackedPlotUnit=function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)){for(var g=a.axisY.dataInfo,b=a.axisX.dataInfo,c,e,k=!1,B=[],d=[],L=Infinity,n=-Infinity,q={},p=0;p<a.dataSeriesIndexes.length;p++){var s=this.data[a.dataSeriesIndexes[p]],h=0,C=!1,E=!1,m;if("normal"===s.axisPlacement||"xySwapped"===s.axisPlacement)var u=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:a.axisX.options&&a.axisX.options.viewportMinimum?a.axisX.options.viewportMinimum:
|
|
235
|
+
a.axisX.options&&a.axisX.options.minimum?a.axisX.options.minimum:-Infinity,D=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(s.dataPoints[h].x&&s.dataPoints[h].x.getTime||"dateTime"===s.xValueType)k=!0;for(h=0;h<s.dataPoints.length;h++){"undefined"===typeof s.dataPoints[h].x&&(s.dataPoints[h].x=h+(a.axisX.logarithmic?
|
|
236
|
+
1:0));s.dataPoints[h].x.getTime?(k=!0,c=s.dataPoints[h].x.getTime()):c=s.dataPoints[h].x;e=f(s.dataPoints[h].y)?0:s.dataPoints[h].y;c<b.min&&(b.min=c);c>b.max&&(b.max=c);if(0<h){if(a.axisX.logarithmic){var x=c/s.dataPoints[h-1].x;1>x&&(x=1/x);b.minDiff>x&&1!==x&&(b.minDiff=x)}else x=c-s.dataPoints[h-1].x,0>x&&(x*=-1),b.minDiff>x&&0!==x&&(b.minDiff=x);null!==e&&null!==s.dataPoints[h-1].y&&(a.axisY.logarithmic?0<e&&(x=e/s.dataPoints[h-1].y,1>x&&(x=1/x),g.minDiff>x&&1!==x&&(g.minDiff=x)):(x=e-s.dataPoints[h-
|
|
237
|
+
1].y,0>x&&(x*=-1),g.minDiff>x&&0!==x&&(g.minDiff=x)))}if(c<u&&!C)null!==s.dataPoints[h].y&&(m=c);else{if(!C&&(C=!0,0<h)){h-=2;continue}if(c>D&&!E)E=!0;else if(c>D&&E)continue;s.dataPoints[h].label&&(a.axisX.labels[c]=s.dataPoints[h].label);c<b.viewPortMin&&(b.viewPortMin=c);c>b.viewPortMax&&(b.viewPortMax=c);null===s.dataPoints[h].y?b.viewPortMin===c&&m<c&&(b.viewPortMin=m):(q[c]=(q[c]||0)+s.dataPoints[h].y,s.dataPointEOs[h].cumulativeY=q[c],a.yTotals[c]=(a.yTotals[c]?a.yTotals[c]:0)+e,a.yAbsTotals[c]=
|
|
238
|
+
(a.yAbsTotals[c]?a.yAbsTotals[c]:0)+Math.abs(e),0<=e?B[c]?B[c]+=e:(B[c]=e,L=Math.min(e,L)):d[c]?d[c]+=e:(d[c]=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));s.axisX.valueType=s.xValueType=k?"dateTime":"number"}for(h in B)B.hasOwnProperty(h)&&
|
|
239
|
+
!isNaN(h)&&(a=B[h],a<g.min&&(g.min=Math.min(a,L)),a>g.max&&(g.max=a),h<b.viewPortMin||h>b.viewPortMax||(a<g.viewPortMin&&(g.viewPortMin=Math.min(a,L)),a>g.viewPortMax&&(g.viewPortMax=a)));for(h in d)d.hasOwnProperty(h)&&!isNaN(h)&&(a=d[h],a<g.min&&(g.min=a),a>g.max&&(g.max=Math.max(a,n)),h<b.viewPortMin||h>b.viewPortMax||(a<g.viewPortMin&&(g.viewPortMin=a),a>g.viewPortMax&&(g.viewPortMax=Math.max(a,n))))}};v.prototype._processStacked100PlotUnit=function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)){for(var g=
|
|
240
|
+
a.axisY.dataInfo,b=a.axisX.dataInfo,c,e,k=!1,B=!1,d=!1,L={},n=[],q=0;q<a.dataSeriesIndexes.length;q++){var p=this.data[a.dataSeriesIndexes[q]],s=0,h=!1,C=!1,E;if("normal"===p.axisPlacement||"xySwapped"===p.axisPlacement)var m=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,u=a.axisX.sessionVariables.newViewportMaximum?
|
|
241
|
+
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[s].x&&p.dataPoints[s].x.getTime||"dateTime"===p.xValueType)k=!0;for(s=0;s<p.dataPoints.length;s++){"undefined"===typeof p.dataPoints[s].x&&(p.dataPoints[s].x=s+(a.axisX.logarithmic?1:0));p.dataPoints[s].x.getTime?(k=!0,c=p.dataPoints[s].x.getTime()):c=p.dataPoints[s].x;e=f(p.dataPoints[s].y)?
|
|
242
|
+
null:p.dataPoints[s].y;c<b.min&&(b.min=c);c>b.max&&(b.max=c);if(0<s){if(a.axisX.logarithmic){var D=c/p.dataPoints[s-1].x;1>D&&(D=1/D);b.minDiff>D&&1!==D&&(b.minDiff=D)}else D=c-p.dataPoints[s-1].x,0>D&&(D*=-1),b.minDiff>D&&0!==D&&(b.minDiff=D);f(e)||null===p.dataPoints[s-1].y||(a.axisY.logarithmic?0<e&&(D=e/p.dataPoints[s-1].y,1>D&&(D=1/D),g.minDiff>D&&1!==D&&(g.minDiff=D)):(D=e-p.dataPoints[s-1].y,0>D&&(D*=-1),g.minDiff>D&&0!==D&&(g.minDiff=D)))}if(c<m&&!h)null!==e&&(E=c);else{if(!h&&(h=!0,0<s)){s-=
|
|
243
|
+
2;continue}if(c>u&&!C)C=!0;else if(c>u&&C)continue;p.dataPoints[s].label&&(a.axisX.labels[c]=p.dataPoints[s].label);c<b.viewPortMin&&(b.viewPortMin=c);c>b.viewPortMax&&(b.viewPortMax=c);null===e?b.viewPortMin===c&&E<c&&(b.viewPortMin=E):(L[c]=(L[c]||0)+p.dataPoints[s].y,p.dataPointEOs[s].cumulativeY=L[c],a.yTotals[c]=(a.yTotals[c]?a.yTotals[c]:0)+e,a.yAbsTotals[c]=(a.yAbsTotals[c]?a.yAbsTotals[c]:0)+Math.abs(e),0<=e?B=!0:0>e&&(d=!0),n[c]=n[c]?n[c]+Math.abs(e):Math.abs(e))}}p.axisX.valueType=p.xValueType=
|
|
244
|
+
k?"dateTime":"number"}a.axisY.logarithmic?(g.max=f(g.viewPortMax)?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,
|
|
245
|
+
-1),g.min=f(g.viewPortMin)?-99:Math.min(g.viewPortMin,-99));g.viewPortMin=g.min;g.viewPortMax=g.max;a.dataPointYSums=n}};v.prototype._processMultiYPlotUnit=function(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length))for(var g=a.axisY.dataInfo,b=a.axisX.dataInfo,c,e,k,B,f=!1,d=0;d<a.dataSeriesIndexes.length;d++){var n=this.data[a.dataSeriesIndexes[d]],q=0,p=!1,s=!1,h,C,E;if("normal"===n.axisPlacement||"xySwapped"===n.axisPlacement)var m=a.axisX.sessionVariables.newViewportMinimum?a.axisX.sessionVariables.newViewportMinimum:
|
|
246
|
+
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,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[q].x&&n.dataPoints[q].x.getTime||"dateTime"===n.xValueType)f=!0;
|
|
247
|
+
for(q=0;q<n.dataPoints.length;q++){"undefined"===typeof n.dataPoints[q].x&&(n.dataPoints[q].x=q+(a.axisX.logarithmic?1:0));n.dataPoints[q].x.getTime?(f=!0,c=n.dataPoints[q].x.getTime()):c=n.dataPoints[q].x;if((e=n.dataPoints[q].y)&&e.length){k=Math.min.apply(null,e);B=Math.max.apply(null,e);C=!0;for(var D=0;D<e.length;D++)null===e.k&&(C=!1);C&&(p||(E=h),h=c)}c<b.min&&(b.min=c);c>b.max&&(b.max=c);k<g.min&&(g.min=k);B>g.max&&(g.max=B);0<q&&(a.axisX.logarithmic?(C=c/n.dataPoints[q-1].x,1>C&&(C=1/C),
|
|
248
|
+
b.minDiff>C&&1!==C&&(b.minDiff=C)):(C=c-n.dataPoints[q-1].x,0>C&&(C*=-1),b.minDiff>C&&0!==C&&(b.minDiff=C)),e&&(null!==e[0]&&n.dataPoints[q-1].y&&null!==n.dataPoints[q-1].y[0])&&(a.axisY.logarithmic?(C=e[0]/n.dataPoints[q-1].y[0],1>C&&(C=1/C),g.minDiff>C&&1!==C&&(g.minDiff=C)):(C=e[0]-n.dataPoints[q-1].y[0],0>C&&(C*=-1),g.minDiff>C&&0!==C&&(g.minDiff=C))));if(!(c<m)||p){if(!p&&(p=!0,0<q)){q-=2;h=E;continue}if(c>u&&!s)s=!0;else if(c>u&&s)continue;n.dataPoints[q].label&&(a.axisX.labels[c]=n.dataPoints[q].label);
|
|
249
|
+
c<b.viewPortMin&&(b.viewPortMin=c);c>b.viewPortMax&&(b.viewPortMax=c);if(b.viewPortMin===c&&e)for(D=0;D<e.length;D++)if(null===e[D]&&h<c){b.viewPortMin=h;break}null===e?b.viewPortMin===c&&h<c&&(b.viewPortMin=h):(k<g.viewPortMin&&(g.viewPortMin=k),B>g.viewPortMax&&(g.viewPortMax=B))}}n.axisX.valueType=n.xValueType=f?"dateTime":"number"}};v.prototype._processSpecificPlotUnit=function(a){if("waterfall"===a.type&&a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length))for(var g=a.axisY.dataInfo,b=a.axisX.dataInfo,
|
|
250
|
+
c,e,k=!1,B=0;B<a.dataSeriesIndexes.length;B++){var f=this.data[a.dataSeriesIndexes[B]],d=0,n=!1,q=!1,p=c=0;if("normal"===f.axisPlacement||"xySwapped"===f.axisPlacement)var s=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:
|
|
251
|
+
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)k=!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===
|
|
252
|
+
d?0:f.dataPointEOs[d-1].cumulativeSum):"undefined"!==typeof f.dataPoints[d].isIntermediateSum&&!0===f.dataPoints[d].isIntermediateSum?(f.dataPointEOs[d].cumulativeSumYStartValue=p,f.dataPointEOs[d].cumulativeSum=0===d?0:f.dataPointEOs[d-1].cumulativeSum,f.dataPoints[d].y=0===d?0:c,p=0===d?0:f.dataPointEOs[d-1].cumulativeSum,c=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=
|
|
253
|
+
0===d?e:f.dataPointEOs[d-1].cumulativeSum+e,c+=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?(k=!0,c=f.dataPoints[d].x.getTime()):c=f.dataPoints[d].x,e=f.dataPoints[d].y,c<b.min&&(b.min=c),c>b.max&&(b.max=c),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?(p=
|
|
254
|
+
c/f.dataPoints[d-1].x,1>p&&(p=1/p),b.minDiff>p&&1!==p&&(b.minDiff=p)):(p=c-f.dataPoints[d-1].x,0>p&&(p*=-1),b.minDiff>p&&0!==p&&(b.minDiff=p)),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)))),!(c<s)||n){if(!n&&(n=!0,0<d)){d-=2;continue}if(c>h&&!q)q=!0;else if(c>
|
|
255
|
+
h&&q)continue;f.dataPoints[d].label&&(a.axisX.labels[c]=f.dataPoints[d].label);c<b.viewPortMin&&(b.viewPortMin=c);c>b.viewPortMax&&(b.viewPortMax=c);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=
|
|
256
|
+
f.dataPointEOs[d].cumulativeSum)}f.axisX.valueType=f.xValueType=k?"dateTime":"number"}};v.prototype.calculateAutoBreaks=function(){function a(a,c,b,e){if(e)return b=Math.pow(Math.min(b*a/c,c/a),0.2),1>=b&&(b=Math.pow(1>a?1/a:Math.min(c/a,a),0.25)),{startValue:a*b,endValue:c/b};b=0.2*Math.min(b-c+a,c-a);0>=b&&(b=0.25*(0<a?Math.min(c-a,Math.abs(a)):c-a));return{startValue:a+b,endValue:c-b}}function g(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)){var c=a.axisX.scaleBreaks&&a.axisX.scaleBreaks.autoCalculate&&
|
|
257
|
+
1<=a.axisX.scaleBreaks.maxNumberOfAutoBreaks,b=a.axisY.scaleBreaks&&a.axisY.scaleBreaks.autoCalculate&&1<=a.axisY.scaleBreaks.maxNumberOfAutoBreaks;if(c||b)for(var g=a.axisY.dataInfo,h=a.axisX.dataInfo,k,B=h.min,n=h.max,d=g.min,q=g.max,h=h._dataRanges,g=g._dataRanges,p,s=0,L=0;L<a.dataSeriesIndexes.length;L++){var E=e.data[a.dataSeriesIndexes[L]];if(!(4>E.dataPoints.length))for(s=0;s<E.dataPoints.length;s++)if(c&&(p=(n+1-B)*Math.max(parseFloat(a.axisX.scaleBreaks.collapsibleThreshold)||10,10)/100,
|
|
258
|
+
k=E.dataPoints[s].x.getTime?E.dataPoints[s].x.getTime():E.dataPoints[s].x,p=Math.floor((k-B)/p),k<h[p].min&&(h[p].min=k),k>h[p].max&&(h[p].max=k)),b){var oa=(q+1-d)*Math.max(parseFloat(a.axisY.scaleBreaks.collapsibleThreshold)||10,10)/100;if((k="waterfall"===a.type?E.dataPointEOs[s].cumulativeSum:E.dataPoints[s].y)&&k.length)for(var m=0;m<k.length;m++)p=Math.floor((k[m]-d)/oa),k[m]<g[p].min&&(g[p].min=k[m]),k[m]>g[p].max&&(g[p].max=k[m]);else f(k)||(p=Math.floor((k-d)/oa),k<g[p].min&&(g[p].min=k),
|
|
259
|
+
k>g[p].max&&(g[p].max=k))}}}}function b(a){if(a.dataSeriesIndexes&&!(1>a.dataSeriesIndexes.length)&&a.axisX.scaleBreaks&&a.axisX.scaleBreaks.autoCalculate&&1<=a.axisX.scaleBreaks.maxNumberOfAutoBreaks)for(var c=a.axisX.dataInfo,b=c.min,g=c.max,h=c._dataRanges,k,B=0,n=0;n<a.dataSeriesIndexes.length;n++){var f=e.data[a.dataSeriesIndexes[n]];if(!(4>f.dataPoints.length))for(B=0;B<f.dataPoints.length;B++)k=(g+1-b)*Math.max(parseFloat(a.axisX.scaleBreaks.collapsibleThreshold)||10,10)/100,c=f.dataPoints[B].x.getTime?
|
|
260
260
|
f.dataPoints[B].x.getTime():f.dataPoints[B].x,k=Math.floor((c-b)/k),c<h[k].min&&(h[k].min=c),c>h[k].max&&(h[k].max=c)}}for(var c,e=this,k=!1,B=0;B<this._axes.length;B++)if(this._axes[B].scaleBreaks&&this._axes[B].scaleBreaks.autoCalculate&&1<=this._axes[B].scaleBreaks.maxNumberOfAutoBreaks){k=!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(k){for(B=
|
|
261
261
|
0;B<this.plotInfo.plotTypes.length;B++)for(k=this.plotInfo.plotTypes[B],d=0;d<k.plotUnits.length;d++)c=k.plotUnits[d],"line"===c.type||"stepLine"===c.type||"spline"===c.type||"column"===c.type||"area"===c.type||"stepArea"===c.type||"splineArea"===c.type||"bar"===c.type||"bubble"===c.type||"scatter"===c.type||"candlestick"===c.type||"ohlc"===c.type||"rangeColumn"===c.type||"rangeBar"===c.type||"rangeArea"===c.type||"rangeSplineArea"===c.type||"waterfall"===c.type||"error"===c.type||"boxAndWhisker"===
|
|
262
262
|
c.type?g(c):0<=c.type.indexOf("stacked")&&b(c);for(B=0;B<this._axes.length;B++)if(this._axes[B].dataInfo._dataRanges){var L=this._axes[B].dataInfo.min;c=(this._axes[B].dataInfo.max+1-L)*Math.max(parseFloat(this._axes[B].scaleBreaks.collapsibleThreshold)||10,10)/100;var n=this._axes[B].dataInfo._dataRanges,q,p,k=[];if(this._axes[B].dataInfo.dataPointYPositiveSums){var s=this._axes[B].dataInfo.dataPointYPositiveSums;q=n;for(d in s)if(s.hasOwnProperty(d)&&!isNaN(d)&&(p=s[d],!f(p))){var h=Math.floor((p-
|
|
@@ -301,179 +301,179 @@ f=k?this.dragStartPoint.y:this.plotArea.y1,d=e?a-this.dragStartPoint.x:this.plot
|
|
|
301
301
|
g),"none"!==this.plotInfo.axisPlacement){this.sessionVariables.crosshairShownByPixel=!0;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&&0<this.axisY.length)for(e=0;e<this.axisY.length;e++)this.axisY[e].crosshair&&
|
|
302
302
|
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=0;e<this.axisX2.length;e++)this.axisX2[e].crosshair&&this.axisX2[e].crosshair.enabled&&
|
|
303
303
|
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()}};v.prototype._zoomPanToSelectedRegion=function(a,g,b,c,e){a=this.validateRegion(a,g,b,c,e);g=a.axesWithValidRange;b=a.axesRanges;
|
|
304
|
-
if(a.isValid)for(c=0;c<g.length;c++)e=
|
|
305
|
-
this._axes[p].type&&k||"axisY"===this._axes[p].type&&B)&&n.push(this._axes[p]);for(B=0;B<n.length;B++){var p=n[B],k=!1,s=p.convertPixelToValue({x:a,y:g}),h=p.convertPixelToValue({x:b,y:c});if(s>h)var E=h,h=s,s=E;if(p.scaleBreaks)for(E=0;!k&&E<p.scaleBreaks._appliedBreaks.length;E++)k=p.scaleBreaks._appliedBreaks[E].startValue<=s&&p.scaleBreaks._appliedBreaks[E].endValue>=h;if(isFinite(p.dataInfo.minDiff))if(E=p.getApparentDifference(s,h,null,!0)
|
|
306
|
-
(p.logarithmic&&E<Math.pow(p.dataInfo.minDiff,3)||!p.logarithmic&&E<3*Math.abs(p.dataInfo.minDiff))||s<p.minimum||h>p.maximum))d.push(p),q.push({val1:s,val2:h}),f=!0;else if(!e){f=!1;break}}return{isValid:f,axesWithValidRange:d,axesRanges:q}};v.prototype.preparePlotArea=function(){var a=this.plotArea;!w&&(0<a.x1||0<a.y1)&&a.ctx.translate(a.x1,a.y1);if((this.axisX[0]||this.axisX2[0])&&(this.axisY[0]||this.axisY2[0])){var g=
|
|
307
|
-
if(this.axisY&&0<this.axisY.length&&this.axisY[0]){var b=this.axisY[0];a.x1=g.x1<g.x2?g.x1:b.lineCoordinates.x1;a.y1=g.y1<b.lineCoordinates.y1?g.y1:b.lineCoordinates.y1;a.x2=g.x2>b.lineCoordinates.x2?g.x2:b.lineCoordinates.x2;a.y2=g.y1>b.lineCoordinates.y2?g.y1:b.lineCoordinates.y2;a.width=a.x2-a.x1;a.height=a.y2-a.y1}this.axisY2&&0<this.axisY2.length&&this.axisY2[0]&&(b=this.axisY2[0],a.x1=g.x1<g.x2?g.x1:b.lineCoordinates.x1,
|
|
308
|
-
g.x2:b.lineCoordinates.x2,a.y2=g.y2>b.lineCoordinates.y2?g.y2:b.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;w||(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,-a.y1));a.layoutManager=new Ia(a.x1,
|
|
309
|
-
b=this.plotArea,c=0,e=0,k=0,B=e=k=0,d=0,L=c=0,n=0;for(a=0;a<this._indexLabels.length;a++){var q=this._indexLabels[a],p=q.chartType.toLowerCase(),s,h,d=U("indexLabelFontColor",q.dataPoint,q.dataSeries),C=U("indexLabelFontSize",q.dataPoint,q.dataSeries),L=U("indexLabelFontFamily",q.dataPoint,q.dataSeries),n=U("indexLabelFontStyle",q.dataPoint,q.dataSeries);s=U("indexLabelFontWeight",q.dataPoint,q.dataSeries);var m=
|
|
310
|
-
q.dataSeries);var k=U("indexLabelBorderThickness",q.dataPoint,q.dataSeries),e=U("indexLabelMaxWidth",q.dataPoint,q.dataSeries),B=U("indexLabelWrap",q.dataPoint,q.dataSeries),t=U("indexLabelLineDashType",q.dataPoint,q.dataSeries),u=U("indexLabelLineColor",q.dataPoint,q.dataSeries),D=f(q.dataPoint.indexLabelLineThickness)?f(q.dataSeries.options.indexLabelLineThickness)?0:q.dataSeries.options.indexLabelLineThickness:
|
|
311
|
-
this.plotArea.height:this.plotArea.width)<<0):0,x=U("indexLabelPadding",q.dataPoint,q.dataSeries),l={percent:null,total:null},r=null;if(0<=q.dataSeries.type.indexOf("stacked")||"pie"===q.dataSeries.type||"doughnut"===q.dataSeries.type)l=this.getPercentAndTotal(q.dataSeries,q.dataPoint);if(q.dataSeries.indexLabelFormatter||q.dataPoint.indexLabelFormatter)r={chart:this,dataSeries:q.dataSeries,dataPoint:q.dataPoint,
|
|
312
|
-
q.dataPoint.indexLabelFormatter(r):q.dataPoint.indexLabel?this.replaceKeywordsWithValue(q.dataPoint.indexLabel,q.dataPoint,q.dataSeries,null,q.indexKeyword):q.dataSeries.indexLabelFormatter?q.dataSeries.indexLabelFormatter(r):q.dataSeries.indexLabel?this.replaceKeywordsWithValue(q.dataSeries.indexLabel,q.dataPoint,q.dataSeries,null,q.indexKeyword):null;if(null!==v&&""!==v){var l=U("indexLabelPlacement",q.dataPoint,
|
|
313
|
-
q.dataPoint,q.dataSeries),A=q.direction,O=q.dataSeries.axisX,Q=q.dataSeries.axisY,$=!1,m=new la(g,{x:0,y:0,maxWidth:e?e:0.5*this.width,maxHeight:B?5*C:1.5*C,angle:"horizontal"===r?0:-90,text:v,padding:x,backgroundColor:m,borderColor:h,borderThickness:k,textAlign:y,fontSize:C,fontFamily:L,fontWeight:s,fontColor:d,fontStyle:n,textBaseline:"middle"});m.measureText();q.dataSeries.indexLabelMaxWidth=m.maxWidth;
|
|
314
|
-
1)continue}else if("rangearea"===p||"rangesplinearea"===p){if(q.dataPoint.x<O.viewportMinimum||q.dataPoint.x>O.viewportMaximum||Math.max.apply(null,q.dataPoint.y)<Q.viewportMinimum||Math.min.apply(null,q.dataPoint.y)>Q.viewportMaximum)continue}else if(0<=p.indexOf("line")||0<=p.indexOf("area")||0<=p.indexOf("bubble")||0<=p.indexOf("scatter")){if(q.dataPoint.x<O.viewportMinimum||q.dataPoint.x>O.viewportMaximum||
|
|
315
|
-
O.viewportMinimum||q.dataPoint.x>O.viewportMaximum||(0<q.dataPoint.y.length?Math.max.apply(null,q.dataPoint.y):q.cumulativeY?q.cumulativeY:q.dataPoint.y)<Q.viewportMinimum||(0<q.dataPoint.y.length?Math.min.apply(null,q.dataPoint.y):q.cumulativeY?q.cumulativeY:q.dataPoint.y)>Q.viewportMaximum)continue}else if("waterfall"===p||"error"===p&&!q.axisSwapped){if(q.dataPoint.x<O.viewportMinimum||
|
|
316
|
-
p){if(q.dataPoint.x<O.viewportMinimum||q.dataPoint.x>O.viewportMaximum||q.bounds.x1>b.x2||q.bounds.x2<b.x1)continue}else if("candlestick"===p||"ohlc"===p){if(q.dataPoint.x<O.viewportMinimum||q.dataPoint.x>O.viewportMaximum||Math.max.apply(null,q.dataPoint.y)<Q.viewportMinimum||Math.min.apply(null,q.dataPoint.y)>Q.viewportMaximum)continue}else if(q.dataPoint.x<O.viewportMinimum||q.dataPoint.x>
|
|
317
|
-
this.plotInfo.axisPlacement){if(0<=p.indexOf("line")||0<=p.indexOf("area"))l="auto",d=4;else if(0<=p.indexOf("stacked"))"auto"===l&&(l="inside");else if("bubble"===p||"scatter"===p)l="inside";s=q.point.x-L/2+("horizontal"===r?0:m._lineHeight/2);if("inside"!==l)e=b.y1,k=b.y2,0<A?(h=q.point.y+m._lineHeight/2-n-d-c,h<e&&(h="auto"===l?Math.max(q.point.y,e)+m._lineHeight/2+d+c:e+m._lineHeight/
|
|
318
|
-
c))):(h=q.point.y+m._lineHeight/2+d+c,h>k-n+m._lineHeight/2-d&&(h="auto"===l?Math.min(q.point.y,k)+m._lineHeight/2-n-d-c:k+m._lineHeight/2-n-d-c,$=h-("horizontal"===r?m._lineHeight/2:n)<q.point.y,!$||(0<=p.indexOf("line")||0<=p.indexOf("area"))||(h+=c)));else{Math.max(q.bounds.y1,b.y1);k=Math.min(q.bounds.y2,b.y2)-n+m._lineHeight/2;c=0<=p.indexOf("range")||"error"===p?0<A?Math.max(q.bounds.y1,
|
|
319
|
-
b.y2))/2-n/2+m._lineHeight/2;if(0<A){if(h=c,"bubble"===p||"scatter"===p)h=q.point.y-n/2+m._lineHeight/2,n>q.bounds.y2-q.bounds.y1&&(h-=n/2+d),0>h-m._lineHeight/2&&(h+=Math.abs(h-m._lineHeight/2)<=(q.bounds.y2-q.bounds.y1)/2+d?Math.abs(h-m._lineHeight/2):(q.bounds.y2-q.bounds.y1)/2+d)}else h=Math.min(q.point.y,c),h>k-n-d&&("bubble"===p||"scatter"===p)&&(h=Math.min(q.point.y+d,b.y2-
|
|
320
|
-
"auto"===l&&(l="inside"):"bubble"===p&&(l="inside"),h=q.point.y+m._lineHeight/2-n/2,"inside"!==l?(k=b.x1,e=b.x2,0>A?(s=q.point.x-L+("horizontal"===r?0:m._lineHeight/2)-B-c,("horizontal"===r?s:s-m._lineHeight/2)<k&&(s="auto"===l?Math.max(q.point.x,k)+("horizontal"===r?0:m._lineHeight/2)+d+c:k+("horizontal"===r?0:m._lineHeight/2)+B,($=s+L-("horizontal"===r?0:m._lineHeight/
|
|
321
|
-
"auto"===l?Math.min(q.point.x,e)-("horizontal"===r?L:L-m._lineHeight/2)-B-c:e-L-B+("horizontal"===r?0:m._lineHeight/2),($=s-("horizontal"===r?0:m._lineHeight/2)<q.point.x)&&(s+=c)))):(k=Math.max(q.bounds.x1,b.x1),Math.min(q.bounds.x2,b.x2),c=0<=p.indexOf("range")||"error"===p?0>A?Math.max(q.bounds.x1,b.x1):Math.min(q.bounds.x2,b.x2)-L-B+("horizontal"===r?0:m._lineHeight/
|
|
322
|
-
c),s=Math.max(s,k+("horizontal"===r?0:m._lineHeight/2+d)));"vertical"===r&&(h+=n-m._lineHeight/2,0<="ohlc candlestick boxandwhisker column rangecolumn stackedcolumn stackedcolumn100 error".split(" ").indexOf(p)&&($=0<A?h+("horizontal"===r?n-m._lineHeight/2:0)>q.point.y:h-("horizontal"===r?m._lineHeight/2:n)<q.point.y),"bubble"===p||"scatter"===p)&&(s+=m._lineHeight/2-C/
|
|
323
|
-
|
|
324
|
-
p&&!q.axisSwapped?g.lineTo(s+L/2-("horizontal"===r?0:m._lineHeight/2),h+("vertical"===r?h-n<q.point.y?0:-n:(h-m._lineHeight/2<q.point.y?n:0)-m._lineHeight/2)):0<=p.indexOf("waterfall")?g.lineTo(s+L/2-("horizontal"===r?0:m._lineHeight/2),"vertical"===r?0<A&&h<q.point.y?h:0>A&&h-n>q.point.y?h-n:q.point.y:0<A&&h+n-m._lineHeight/2<q.point.y?h+n-m._lineHeight/2:0>A&&h-
|
|
325
|
-
0:-n:(h+n-m._lineHeight/2<q.point.y?n:0)-m._lineHeight/2)),g.stroke())}}g={source:g,dest:this.plotArea.ctx,animationCallback:E.fadeInAnimation,easingFunction:E.easing.easeInQuad,animationBase:0,startTimePercent:0.7};for(a=0;a<this._indexLabels.length;a++)q=this._indexLabels[a],m=U("indexLabelBackgroundColor",q.dataPoint,q.dataSeries),q.dataSeries.indexLabelBackgroundColor=
|
|
326
|
-
g;if(!(0>=a.dataSeriesIndexes.length)){var c=this._eventManager.ghostCtx;b.save();var e=this.plotArea;b.beginPath();b.rect(e.x1,e.y1,e.width,e.height);b.clip();for(var k=[],B,f=0;f<a.dataSeriesIndexes.length;f++){var d=a.dataSeriesIndexes[f],n=this.data[d];b.lineWidth=n.lineThickness;var q=n.dataPoints,p="solid";if(b.setLineDash){var s=R(n.nullDataLineDashType,
|
|
327
|
-
dataSeriesIndex:d};C=T(C);c.strokeStyle=C;c.lineWidth=0<n.lineThickness?Math.max(n.lineThickness,4):0;var C=n._colorSet,t=C=n.lineColor=n.options.lineColor?n.options.lineColor:C[0];b.strokeStyle=C;var fa=!0,u=0,D,x;b.beginPath();if(0<q.length){for(var l=!1,u=0;u<q.length;u++)if(D=q[u].x.getTime?q[u].x.getTime():q[u].x,!(D<a.axisX.dataInfo.viewPortMin||D>a.axisX.dataInfo.viewPortMax&&
|
|
328
|
-
l=!0;else{D=a.axisX.convertValueToPixel(D);x=a.axisY.convertValueToPixel(q[u].y);var r=n.dataPointIds[u];this._eventManager.objectMap[r]={id:r,objectType:"dataPoint",dataSeriesIndex:d,dataPointIndex:u,x1:D,y1:x};fa||l?(!fa&&n.connectNullData?(b.setLineDash&&(n.options.nullDataLineDashType||p===n.lineDashType&&n.lineDashType!==n.nullDataLineDashType)&&(b.stroke(),b.beginPath(),b.moveTo(B.x,
|
|
329
|
-
w&&(c.beginPath(),c.moveTo(D,x))),l=fa=!1):(b.lineTo(D,x),w&&c.lineTo(D,x),0==u%500&&(b.stroke(),b.beginPath(),b.moveTo(D,x),w&&(c.stroke(),c.beginPath(),c.moveTo(D,x))));B={x:D,y:x};u<q.length-1&&(t!==(q[u].lineColor||C)||p!==(q[u].lineDashType||n.lineDashType))&&(b.stroke(),b.beginPath(),b.moveTo(D,x),t=q[u].lineColor||C,b.strokeStyle=t,b.setLineDash&&(q[u].lineDashType?(p=q[u].lineDashType,
|
|
330
|
-
0<n.markerSize)){var v=n.getMarkerProperties(u,D,x,b);k.push(v);r=T(r);w&&k.push({x:D,y:x,ctx:c,type:v.type,size:v.size,color:r,borderColor:r,borderThickness:v.borderThickness})}(q[u].indexLabel||n.indexLabel||q[u].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"line",dataPoint:q[u],dataSeries:n,point:{x:D,y:x},direction:0>q[u].y===a.axisY.reversed?
|
|
331
|
-
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(e.x1,e.y1,e.width,e.height),c.beginPath());b.restore();b.beginPath();
|
|
332
|
-
v.prototype.renderStepLine=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=this._eventManager.ghostCtx;b.save();var e=this.plotArea;b.beginPath();b.rect(e.x1,e.y1,e.width,e.height);b.clip();for(var k=[],B,f=0;f<a.dataSeriesIndexes.length;f++){var d=a.dataSeriesIndexes[f],n=this.data[d];b.lineWidth=n.lineThickness;
|
|
333
|
-
h=R(p,n.lineThickness);b.setLineDash(h)}var C=n.id;this._eventManager.objectMap[C]={objectType:"dataSeries",dataSeriesIndex:d};C=T(C);c.strokeStyle=C;c.lineWidth=0<n.lineThickness?Math.max(n.lineThickness,4):0;var C=n._colorSet,t=C=n.lineColor=n.options.lineColor?n.options.lineColor:C[0];b.strokeStyle=C;var fa=!0,u=0,D,x;b.beginPath();if(0<q.length){for(var l=!1,u=0;u<q.length;u++)if(D=
|
|
334
|
-
!l)))if("number"!==typeof q[u].y)0<u&&!(n.connectNullData||l||fa)&&(b.stroke(),w&&c.stroke()),l=!0;else{var r=x;D=a.axisX.convertValueToPixel(D);x=a.axisY.convertValueToPixel(q[u].y);var v=n.dataPointIds[u];this._eventManager.objectMap[v]={id:v,objectType:"dataPoint",dataSeriesIndex:d,dataPointIndex:u,x1:D,y1:x};fa||l?(!fa&&n.connectNullData?(b.setLineDash&&(n.options.nullDataLineDashType||
|
|
335
|
-
n.nullDataLineDashType,b.setLineDash(s)),b.lineTo(D,r),b.lineTo(D,x),w&&(c.lineTo(D,r),c.lineTo(D,x))):(b.beginPath(),b.moveTo(D,x),w&&(c.beginPath(),c.moveTo(D,x))),l=fa=!1):(b.lineTo(D,r),w&&c.lineTo(D,r),b.lineTo(D,x),w&&c.lineTo(D,x),0==u%500&&(b.stroke(),b.beginPath(),b.moveTo(D,x),w&&(c.stroke(),c.beginPath(),c.moveTo(D,x))));B={x:D,y:x};u<q.length-1&&(t!==(q[u].lineColor||C)||p!==(q[u].lineDashType||
|
|
336
|
-
t,b.setLineDash&&(q[u].lineDashType?(p=q[u].lineDashType,b.setLineDash(R(p,n.lineThickness))):(p=n.lineDashType,b.setLineDash(h))));0!==q[u].markerSize&&(0<q[u].markerSize||0<n.markerSize)&&(r=n.getMarkerProperties(u,D,x,b),k.push(r),v=T(v),w&&k.push({x:D,y:x,ctx:c,type:r.type,size:r.size,color:v,borderColor:v,borderThickness:r.borderThickness}));(q[u].indexLabel||n.indexLabel||q[u].indexLabelFormatter||n.indexLabelFormatter)&&
|
|
337
|
-
point:{x:D,y:x},direction:0>q[u].y===a.axisY.reversed?1:-1,color:C})}b.stroke();w&&c.stroke()}}m.drawMarkers(k);w&&(g.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,
|
|
338
|
-
e.width,e.height),c.beginPath());b.restore();b.beginPath();return{source:g,dest:this.plotArea.ctx,animationCallback:E.xClipAnimation,easingFunction:E.easing.linear,animationBase:0}}};v.prototype.renderSpline=function(a){function g(a){a=r(a,2);if(0<a.length){c.beginPath();w&&e.beginPath();c.moveTo(a[0].x,a[0].y);a[0].newStrokeStyle&&(c.strokeStyle=a[0].newStrokeStyle);a[0].newLineDashArray&&c.setLineDash(a[0].newLineDashArray);w&&e.moveTo(a[0].x,a[0].y);
|
|
339
|
-
1].x,a[b+1].y,a[b+2].x,a[b+2].y,a[b+3].x,a[b+3].y),w&&e.bezierCurveTo(a[b+1].x,a[b+1].y,a[b+2].x,a[b+2].y,a[b+3].x,a[b+3].y),0<b&&0===b%3E3||a[b+3].newStrokeStyle||a[b+3].newLineDashArray)c.stroke(),c.beginPath(),c.moveTo(a[b+3].x,a[b+3].y),a[b+3].newStrokeStyle&&(c.strokeStyle=a[b+3].newStrokeStyle),a[b+3].newLineDashArray&&c.setLineDash(a[b+3].newLineDashArray),w&&(e.stroke(),e.beginPath(),e.moveTo(a[b+3].x,a[b+3].y));c.stroke();w&&e.stroke()}}
|
|
340
|
-
b;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx;c.save();var k=this.plotArea;c.beginPath();c.rect(k.x1,k.y1,k.width,k.height);c.clip();for(var B=[],f=0;f<a.dataSeriesIndexes.length;f++){var d=a.dataSeriesIndexes[f],n=this.data[d];c.lineWidth=n.lineThickness;var q=n.dataPoints,p="solid";if(c.setLineDash){var s=R(n.nullDataLineDashType,n.lineThickness),p=n.lineDashType,h=R(p,n.lineThickness);c.setLineDash(h)}var C=
|
|
341
|
-
dataSeriesIndex:d};C=T(C);e.strokeStyle=C;e.lineWidth=0<n.lineThickness?Math.max(n.lineThickness,4):0;var C=n._colorSet,t=C=n.lineColor=n.options.lineColor?n.options.lineColor:C[0];c.strokeStyle=C;var fa=0,u,D,x=[];c.beginPath();if(0<q.length)for(D=!1,fa=0;fa<q.length;fa++)if(u=q[fa].getTime?q[fa].x.getTime():q[fa].x,!(u<a.axisX.dataInfo.viewPortMin||u>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!D)))if("number"!==typeof q[fa].y)0<
|
|
342
|
-
|
|
343
|
-
(p=q[fa].lineDashType,x[x.length-1].newLineDashArray=R(p,n.lineThickness)):(p=n.lineDashType,x[x.length-1].newLineDashArray=h)));if(0!==q[fa].markerSize&&(0<q[fa].markerSize||0<n.markerSize)){var v=n.getMarkerProperties(fa,u,D,c);B.push(v);l=T(l);w&&B.push({x:u,y:D,ctx:e,type:v.type,size:v.size,color:l,borderColor:l,borderThickness:v.borderThickness})}(q[fa].indexLabel||n.indexLabel||q[fa].indexLabelFormatter||
|
|
344
|
-
point:{x:u,y:D},direction:0>q[fa].y===a.axisY.reversed?1:-1,color:C});D=!1}g(x)}m.drawMarkers(B);w&&(b.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,
|
|
345
|
-
e.beginPath());c.restore();c.beginPath();return{source:b,dest:this.plotArea.ctx,animationCallback:E.xClipAnimation,easingFunction:E.easing.linear,animationBase:0}}};v.prototype.renderColumn=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=null,e=this.plotArea,k=0,B,f,d,n=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),k=this.options.dataPointMinWidth?
|
|
346
|
-
this.dataPointWidth:1,q=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,p=a.axisX.dataInfo.minDiff;isFinite(p)||(p=0.3*Math.abs(a.axisX.range));p=this.dataPointWidth=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(p)/Math.log(a.axisX.range):Math.abs(p)/Math.abs(a.axisX.range))/
|
|
347
|
-
k>q&&(k=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,q));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&q<k)&&(q=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,k));p<k&&(p=k);p>q&&(p=q);b.save();w&&this._eventManager.ghostCtx.save();b.beginPath();b.rect(e.x1,e.y1,e.width,e.height);b.clip();w&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());
|
|
348
|
-
a.dataSeriesIndexes[q],h=this.data[s],m=h.dataPoints;if(0<m.length)for(var t=5<p&&h.bevelEnabled?!0:!1,k=0;k<m.length;k++)if(m[k].getTime?d=m[k].x.getTime():d=m[k].x,!(d<a.axisX.dataInfo.viewPortMin||d>a.axisX.dataInfo.viewPortMax)&&"number"===typeof m[k].y){B=a.axisX.convertValueToPixel(d);f=a.axisY.convertValueToPixel(m[k].y);B=a.axisX.reversed?B+a.plotType.totalDataSeries*p/2-(a.previousDataSeriesCount+q)*p<<0:B-a.plotType.totalDataSeries*p/2+(a.previousDataSeriesCount+
|
|
349
|
-
B-p<<0:B+p<<0,u;0<=m[k].y?u=n:(u=f,f=n);f>u&&(c=f,f=u,u=c);c=m[k].color?m[k].color:h._colorSet[k%h._colorSet.length];P(b,a.axisX.reversed?l:B,f,a.axisX.reversed?B:l,u,c,0,null,t&&(a.axisY.reversed?0>m[k].y:0<=m[k].y),(a.axisY.reversed?0<=m[k].y:0>m[k].y)&&t,!1,!1,h.fillOpacity);c=h.dataPointIds[k];this._eventManager.objectMap[c]={id:c,objectType:"dataPoint",dataSeriesIndex:s,dataPointIndex:k,x1:B,y1:f,x2:l,y2:u};c=T(c);w&&P(this._eventManager.ghostCtx,a.axisX.reversed?
|
|
350
|
-
c,0,null,!1,!1,!1,!1);(m[k].indexLabel||h.indexLabel||m[k].indexLabelFormatter||h.indexLabelFormatter)&&this._indexLabels.push({chartType:"column",dataPoint:m[k],dataSeries:h,point:{x:B+(l-B)/2,y:0>m[k].y===a.axisY.reversed?f:u},direction:0>m[k].y===a.axisY.reversed?1:-1,bounds:{x1:B,y1:Math.min(f,u),x2:l,y2:Math.max(f,u)},color:c})}}w&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,
|
|
351
|
-
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(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:E.yScaleAnimation,easingFunction:E.easing.easeOutQuart,animationBase:n<a.axisY.bounds.y1?a.axisY.bounds.y1:n>a.axisY.bounds.y2?a.axisY.bounds.y2:
|
|
352
|
-
function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=null,e=this.plotArea,k=[],f=[],d=[],m=[],n=0,q,p,s=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*
|
|
353
|
-
isFinite(C)||(C=0.3*Math.abs(a.axisX.range));C=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(C)/Math.log(a.axisX.range):Math.abs(C)/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,
|
|
354
|
-
b.beginPath();b.rect(e.x1,e.y1,e.width,e.height);b.clip();w&&(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 t=a.dataSeriesIndexes[h],l=this.data[t],u=l.dataPoints;if(0<u.length){var D=5<C&&l.bevelEnabled?!0:!1;b.strokeStyle="#4572A7 ";for(n=0;n<u.length;n++)if(c=u[n].x.getTime?u[n].x.getTime():
|
|
355
|
-
"number"===typeof u[n].y){q=a.axisX.convertValueToPixel(c);q=q-a.plotType.plotUnits.length*C/2+a.index*C<<0;var x=q+C<<0,r;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<u[n].y)d[c]=u[n].y+(d[c]?d[c]:0),0<d[c]&&(p=a.axisY.convertValueToPixel(d[c]),r="undefined"!==typeof k[c]?k[c]:s,k[c]=p);else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=u[n].y)m[c]=u[n].y+
|
|
356
|
-
f[c]:s,f[c]=r;else if(p=a.axisY.convertValueToPixel(u[n].y),0<=u[n].y){var v="undefined"!==typeof k[c]?k[c]:0;p-=v;r=s-v;k[c]=v+(r-p)}else v=f[c]?f[c]:0,r=p+v,p=s+v,f[c]=v+(r-p);c=u[n].color?u[n].color:l._colorSet[n%l._colorSet.length];P(b,q,a.axisY.reversed?r:p,x,a.axisY.reversed?p:r,c,0,null,D&&(a.axisY.reversed?0>u[n].y:0<=u[n].y),(a.axisY.reversed?0<=u[n].y:0>u[n].y)&&D,!1,!1,l.fillOpacity);c=l.dataPointIds[n];this._eventManager.objectMap[c]=
|
|
357
|
-
x1:q,y1:p,x2:x,y2:r};c=T(c);w&&P(this._eventManager.ghostCtx,q,p,x,r,c,0,null,!1,!1,!1,!1);(u[n].indexLabel||l.indexLabel||u[n].indexLabelFormatter||l.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedColumn",dataPoint:u[n],dataSeries:l,point:{x:q+(x-q)/2,y:0<=u[n].y?p:r},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:q,y1:Math.min(p,r),x2:x,y2:Math.max(p,r)},color:c,cumulativeY:l.dataPointEOs[n].cumulativeY})}}}w&&
|
|
358
|
-
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(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:E.yScaleAnimation,
|
|
359
|
-
animationBase:s<a.axisY.bounds.y1?a.axisY.bounds.y1:s>a.axisY.bounds.y2?a.axisY.bounds.y2:s}}};v.prototype.renderStackedColumn100=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=null,e=this.plotArea,k=[],f=[],d=[],m=[],n=0,q,p,s,h=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?
|
|
360
|
-
this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.width<<0;var C=a.axisX.dataInfo.minDiff;isFinite(C)||(C=0.3*Math.abs(a.axisX.range));C=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(C)/Math.log(a.axisX.range):Math.abs(C)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&n>s&&(n=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,
|
|
361
|
-
s<n)&&(s=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,n));C<n&&(C=n);C>s&&(C=s);b.save();w&&this._eventManager.ghostCtx.save();b.beginPath();b.rect(e.x1,e.y1,e.width,e.height);b.clip();w&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(var t=0;t<a.dataSeriesIndexes.length;t++){var l=a.dataSeriesIndexes[t],u=this.data[l],D=u.dataPoints;
|
|
362
|
-
n=0;n<D.length;n++)if(s=D[n].x.getTime?D[n].x.getTime():D[n].x,!(s<a.axisX.dataInfo.viewPortMin||s>a.axisX.dataInfo.viewPortMax)&&"number"===typeof D[n].y){q=a.axisX.convertValueToPixel(s);p=0!==a.dataPointYSums[s]?100*(D[n].y/a.dataPointYSums[s]):0;q=q-a.plotType.plotUnits.length*C/2+a.index*C<<0;var r=q+C<<0,v;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<D[n].y){d[s]=p+("undefined"!==typeof d[s]?d[s]:
|
|
363
|
-
v=k[s]?k[s]:h;k[s]=p}else a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=D[n].y?(m[s]=p+("undefined"!==typeof m[s]?m[s]:0),v=a.axisY.convertValueToPixel(m[s]),p=f[s]?f[s]:h,f[s]=v):(p=a.axisY.convertValueToPixel(p),0<=D[n].y?(c="undefined"!==typeof k[s]?k[s]:0,p-=c,v=h-c,a.dataSeriesIndexes.length-1===t&&1>=Math.abs(e.y1-p)&&(p=e.y1),k[s]=c+(v-p)):(c="undefined"!==typeof f[s]?f[s]:0,v=p+c,p=h+c,a.dataSeriesIndexes.length-
|
|
364
|
-
D[n].color?D[n].color:u._colorSet[n%u._colorSet.length];P(b,q,a.axisY.reversed?v:p,r,a.axisY.reversed?p:v,c,0,null,x&&(a.axisY.reversed?0>D[n].y:0<=D[n].y),(a.axisY.reversed?0<=D[n].y:0>D[n].y)&&x,!1,!1,u.fillOpacity);c=u.dataPointIds[n];this._eventManager.objectMap[c]={id:c,objectType:"dataPoint",dataSeriesIndex:l,dataPointIndex:n,x1:q,y1:p,x2:r,y2:v};c=T(c);w&&P(this._eventManager.ghostCtx,q,p,r,v,c,0,null,!1,!1,!1,!1);(D[n].indexLabel||u.indexLabel||
|
|
365
|
-
this._indexLabels.push({chartType:"stackedColumn100",dataPoint:D[n],dataSeries:u,point:{x:q+(r-q)/2,y:0<=D[n].y?p:v},direction:0>D[n].y===a.axisY.reversed?1:-1,bounds:{x1:q,y1:Math.min(p,v),x2:r,y2:Math.max(p,v)},color:c,yCumulative:100*(u.dataPointEOs[n].cumulativeY/a.dataPointYSums[s])})}}w&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,
|
|
366
|
-
0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:E.yScaleAnimation,easingFunction:E.easing.easeOutQuart,animationBase:h<a.axisY.bounds.y1?a.axisY.bounds.y1:h>a.axisY.bounds.y2?a.axisY.bounds.y2:
|
|
367
|
-
b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=null,e=this.plotArea,k=0,f,d,m,n=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),k=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,q=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.height,0.9*(this.plotArea.height/
|
|
368
|
-
(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):Math.abs(p)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&k>q&&(k=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,q));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&q<k)&&(q=Math.max(this.options.dataPointWidth?this.dataPointWidth
|
|
369
|
-
b.beginPath();b.rect(e.x1,e.y1,e.width,e.height);b.clip();w&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(q=0;q<a.dataSeriesIndexes.length;q++){var s=a.dataSeriesIndexes[q],h=this.data[s],C=h.dataPoints;if(0<C.length){var t=5<p&&h.bevelEnabled?!0:!1;b.strokeStyle="#4572A7 ";for(k=0;k<C.length;k++)if(C[k].getTime?m=C[k].x.getTime():
|
|
370
|
-
"number"===typeof C[k].y){d=a.axisX.convertValueToPixel(m);f=a.axisY.convertValueToPixel(C[k].y);d=a.axisX.reversed?d+a.plotType.totalDataSeries*p/2-(a.previousDataSeriesCount+q)*p<<0:d-a.plotType.totalDataSeries*p/2+(a.previousDataSeriesCount+q)*p<<0;var l=a.axisX.reversed?d-p<<0:d+p<<0,u;0<=C[k].y?u=n:(u=f,f=n);c=C[k].color?C[k].color:h._colorSet[k%h._colorSet.length];P(b,a.axisY.reversed?f:u,a.axisX.reversed?l:d,a.axisY.reversed?
|
|
371
|
-
this._eventManager.objectMap[c]={id:c,objectType:"dataPoint",dataSeriesIndex:s,dataPointIndex:k,x1:u,y1:d,x2:f,y2:l};c=T(c);w&&P(this._eventManager.ghostCtx,u,a.axisX.reversed?l:d,f,a.axisX.reversed?d:l,c,0,null,!1,!1,!1,!1);(C[k].indexLabel||h.indexLabel||C[k].indexLabelFormatter||h.indexLabelFormatter)&&this._indexLabels.push({chartType:"bar",dataPoint:C[k],dataSeries:h,point:{x:0<=C[k].y?f:u,y:d+(l-d)/2},direction:0>
|
|
372
|
-
y2:l},color:c})}}}w&&(g.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(e.x1,e.y1,e.width,e.height),
|
|
373
|
-
animationCallback:E.xScaleAnimation,easingFunction:E.easing.easeOutQuart,animationBase:n<a.axisY.bounds.x1?a.axisY.bounds.x1:n>a.axisY.bounds.x2?a.axisY.bounds.x2:n}}};v.prototype.renderStackedBar=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=null,e=this.plotArea,k=[],f=[],d=[],m=[],n=0,q,p,s=a.axisY.convertValueToPixel(a.axisY.logarithmic?
|
|
374
|
-
this.options.dataPointWidth?this.dataPointWidth:1,h=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.height<<0,C=a.axisX.dataInfo.minDiff;isFinite(C)||(C=0.3*Math.abs(a.axisX.range));C=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(C)/Math.log(a.axisX.range):Math.abs(C)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<
|
|
304
|
+
if(a.isValid)for(c=0;c<g.length;c++){e=g[c];var k=b[c];e.setViewPortRange(k.val1,k.val2);this.syncCharts&&("axisX"===e.type&&"y"!=this.zoomType)&&this.syncCharts(k.val1,k.val2);this.stockChart&&(this.stockChart._rangeEventParameter={stockChart:this.stockChart,source:"chart",index:this.stockChart.charts.indexOf(this),minimum:k.val1,maximum:k.val2})}return a.isValid};v.prototype.validateRegion=function(a,g,b,c,e){e=e||!1;for(var k=0<=this.zoomType.indexOf("x"),B=0<=this.zoomType.indexOf("y"),f=!1,d=
|
|
305
|
+
[],n=[],q=[],p=0;p<this._axes.length;p++)("axisX"===this._axes[p].type&&k||"axisY"===this._axes[p].type&&B)&&n.push(this._axes[p]);for(B=0;B<n.length;B++){var p=n[B],k=!1,s=p.convertPixelToValue({x:a,y:g}),h=p.convertPixelToValue({x:b,y:c});if(s>h)var E=h,h=s,s=E;if(p.scaleBreaks)for(E=0;!k&&E<p.scaleBreaks._appliedBreaks.length;E++)k=p.scaleBreaks._appliedBreaks[E].startValue<=s&&p.scaleBreaks._appliedBreaks[E].endValue>=h;if(isFinite(p.dataInfo.minDiff))if(E=p.getApparentDifference(s,h,null,!0),
|
|
306
|
+
!(k||!(this.panEnabled&&p.scaleBreaks&&p.scaleBreaks._appliedBreaks.length)&&(p.logarithmic&&E<Math.pow(p.dataInfo.minDiff,3)||!p.logarithmic&&E<3*Math.abs(p.dataInfo.minDiff))||s<p.minimum||h>p.maximum))d.push(p),q.push({val1:s,val2:h}),f=!0;else if(!e){f=!1;break}}return{isValid:f,axesWithValidRange:d,axesRanges:q}};v.prototype.preparePlotArea=function(){var a=this.plotArea;!w&&(0<a.x1||0<a.y1)&&a.ctx.translate(a.x1,a.y1);if((this.axisX[0]||this.axisX2[0])&&(this.axisY[0]||this.axisY2[0])){var g=
|
|
307
|
+
this.axisX[0]?this.axisX[0].lineCoordinates:this.axisX2[0].lineCoordinates;if(this.axisY&&0<this.axisY.length&&this.axisY[0]){var b=this.axisY[0];a.x1=g.x1<g.x2?g.x1:b.lineCoordinates.x1;a.y1=g.y1<b.lineCoordinates.y1?g.y1:b.lineCoordinates.y1;a.x2=g.x2>b.lineCoordinates.x2?g.x2:b.lineCoordinates.x2;a.y2=g.y1>b.lineCoordinates.y2?g.y1:b.lineCoordinates.y2;a.width=a.x2-a.x1;a.height=a.y2-a.y1}this.axisY2&&0<this.axisY2.length&&this.axisY2[0]&&(b=this.axisY2[0],a.x1=g.x1<g.x2?g.x1:b.lineCoordinates.x1,
|
|
308
|
+
a.y1=g.y1<b.lineCoordinates.y1?g.y1:b.lineCoordinates.y1,a.x2=g.x2>b.lineCoordinates.x2?g.x2:b.lineCoordinates.x2,a.y2=g.y2>b.lineCoordinates.y2?g.y2:b.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;w||(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,-a.y1));a.layoutManager=new Ia(a.x1,
|
|
309
|
+
a.y1,a.x2,a.y2,2)};v.prototype.renderIndexLabels=function(a){var g=a||this.plotArea.ctx,b=this.plotArea,c=0,e=0,k=0,B=e=k=0,d=0,L=c=0,n=0;for(a=0;a<this._indexLabels.length;a++){var q=this._indexLabels[a],p=q.chartType.toLowerCase(),s,h,d=U("indexLabelFontColor",q.dataPoint,q.dataSeries),C=U("indexLabelFontSize",q.dataPoint,q.dataSeries),L=U("indexLabelFontFamily",q.dataPoint,q.dataSeries),n=U("indexLabelFontStyle",q.dataPoint,q.dataSeries);s=U("indexLabelFontWeight",q.dataPoint,q.dataSeries);var m=
|
|
310
|
+
U("indexLabelBackgroundColor",q.dataPoint,q.dataSeries);h=U("indexLabelBorderColor",q.dataPoint,q.dataSeries);var k=U("indexLabelBorderThickness",q.dataPoint,q.dataSeries),e=U("indexLabelMaxWidth",q.dataPoint,q.dataSeries),B=U("indexLabelWrap",q.dataPoint,q.dataSeries),t=U("indexLabelLineDashType",q.dataPoint,q.dataSeries),u=U("indexLabelLineColor",q.dataPoint,q.dataSeries),D=f(q.dataPoint.indexLabelLineThickness)?f(q.dataSeries.options.indexLabelLineThickness)?0:q.dataSeries.options.indexLabelLineThickness:
|
|
311
|
+
q.dataPoint.indexLabelLineThickness,c=0<D?Math.min(10,("normal"===this.plotInfo.axisPlacement?this.plotArea.height:this.plotArea.width)<<0):0,x=U("indexLabelPadding",q.dataPoint,q.dataSeries),l={percent:null,total:null},r=null;if(0<=q.dataSeries.type.indexOf("stacked")||"pie"===q.dataSeries.type||"doughnut"===q.dataSeries.type)l=this.getPercentAndTotal(q.dataSeries,q.dataPoint);if(q.dataSeries.indexLabelFormatter||q.dataPoint.indexLabelFormatter)r={chart:this,dataSeries:q.dataSeries,dataPoint:q.dataPoint,
|
|
312
|
+
index:q.indexKeyword,total:l.total,percent:l.percent};var v=q.dataPoint.indexLabelFormatter?q.dataPoint.indexLabelFormatter(r):q.dataPoint.indexLabel?this.replaceKeywordsWithValue(q.dataPoint.indexLabel,q.dataPoint,q.dataSeries,null,q.indexKeyword):q.dataSeries.indexLabelFormatter?q.dataSeries.indexLabelFormatter(r):q.dataSeries.indexLabel?this.replaceKeywordsWithValue(q.dataSeries.indexLabel,q.dataPoint,q.dataSeries,null,q.indexKeyword):null;if(null!==v&&""!==v){var l=U("indexLabelPlacement",q.dataPoint,
|
|
313
|
+
q.dataSeries),r=U("indexLabelOrientation",q.dataPoint,q.dataSeries),y=U("indexLabelTextAlign",q.dataPoint,q.dataSeries),A=q.direction,O=q.dataSeries.axisX,Q=q.dataSeries.axisY,$=!1,m=new la(g,{x:0,y:0,maxWidth:e?e:0.5*this.width,maxHeight:B?5*C:1.5*C,angle:"horizontal"===r?0:-90,text:v,padding:x,backgroundColor:m,borderColor:h,borderThickness:k,textAlign:y,fontSize:C,fontFamily:L,fontWeight:s,fontColor:d,fontStyle:n,textBaseline:"middle"});m.measureText();q.dataSeries.indexLabelMaxWidth=m.maxWidth;
|
|
314
|
+
if("stackedarea100"===p){if(q.point.x<b.x1||q.point.x>b.x2||q.point.y<b.y1-1||q.point.y>b.y2+1)continue}else if("rangearea"===p||"rangesplinearea"===p){if(q.dataPoint.x<O.viewportMinimum||q.dataPoint.x>O.viewportMaximum||Math.max.apply(null,q.dataPoint.y)<Q.viewportMinimum||Math.min.apply(null,q.dataPoint.y)>Q.viewportMaximum)continue}else if(0<=p.indexOf("line")||0<=p.indexOf("area")||0<=p.indexOf("bubble")||0<=p.indexOf("scatter")){if(q.dataPoint.x<O.viewportMinimum||q.dataPoint.x>O.viewportMaximum||
|
|
315
|
+
q.dataPoint.y<Q.viewportMinimum||q.dataPoint.y>Q.viewportMaximum)continue}else if(0<=p.indexOf("column")){if(q.dataPoint.x<O.viewportMinimum||q.dataPoint.x>O.viewportMaximum||(0<q.dataPoint.y.length?Math.max.apply(null,q.dataPoint.y):q.cumulativeY?q.cumulativeY:q.dataPoint.y)<Q.viewportMinimum||(0<q.dataPoint.y.length?Math.min.apply(null,q.dataPoint.y):q.cumulativeY?q.cumulativeY:q.dataPoint.y)>Q.viewportMaximum)continue}else if("waterfall"===p||"error"===p&&!q.axisSwapped){if(q.dataPoint.x<O.viewportMinimum||
|
|
316
|
+
q.dataPoint.x>O.viewportMaximum||q.bounds.y1>b.y2||q.bounds.y2<b.y1)continue}else if(0<=p.indexOf("bar")||"error"===p){if(q.dataPoint.x<O.viewportMinimum||q.dataPoint.x>O.viewportMaximum||q.bounds.x1>b.x2||q.bounds.x2<b.x1)continue}else if("candlestick"===p||"ohlc"===p){if(q.dataPoint.x<O.viewportMinimum||q.dataPoint.x>O.viewportMaximum||Math.max.apply(null,q.dataPoint.y)<Q.viewportMinimum||Math.min.apply(null,q.dataPoint.y)>Q.viewportMaximum)continue}else if(q.dataPoint.x<O.viewportMinimum||q.dataPoint.x>
|
|
317
|
+
O.viewportMaximum)continue;B=d=2;"horizontal"===r?(L=m.width,n=m.height):(n=m.width,L=m.height);if("normal"===this.plotInfo.axisPlacement){if(0<=p.indexOf("line")||0<=p.indexOf("area"))l="auto",d=4;else if(0<=p.indexOf("stacked"))"auto"===l&&(l="inside");else if("bubble"===p||"scatter"===p)l="inside";s=q.point.x-L/2+("horizontal"===r?0:m._lineHeight/2);if("inside"!==l)e=b.y1,k=b.y2,0<A?(h=q.point.y+m._lineHeight/2-n-d-c,h<e&&(h="auto"===l?Math.max(q.point.y,e)+m._lineHeight/2+d+c:e+m._lineHeight/
|
|
318
|
+
2+d+c,$=h+("horizontal"===r?n-m._lineHeight/2:0)>q.point.y,!$||(0<=p.indexOf("line")||0<=p.indexOf("area"))||(h-=c))):(h=q.point.y+m._lineHeight/2+d+c,h>k-n+m._lineHeight/2-d&&(h="auto"===l?Math.min(q.point.y,k)+m._lineHeight/2-n-d-c:k+m._lineHeight/2-n-d-c,$=h-("horizontal"===r?m._lineHeight/2:n)<q.point.y,!$||(0<=p.indexOf("line")||0<=p.indexOf("area"))||(h+=c)));else{Math.max(q.bounds.y1,b.y1);k=Math.min(q.bounds.y2,b.y2)-n+m._lineHeight/2;c=0<=p.indexOf("range")||"error"===p?0<A?Math.max(q.bounds.y1,
|
|
319
|
+
b.y1)+m._lineHeight/2+d:Math.min(q.bounds.y2,b.y2)+m._lineHeight/2-n-d:(Math.max(q.bounds.y1,b.y1)+Math.min(q.bounds.y2,b.y2))/2-n/2+m._lineHeight/2;if(0<A){if(h=c,"bubble"===p||"scatter"===p)h=q.point.y-n/2+m._lineHeight/2,n>q.bounds.y2-q.bounds.y1&&(h-=n/2+d),0>h-m._lineHeight/2&&(h+=Math.abs(h-m._lineHeight/2)<=(q.bounds.y2-q.bounds.y1)/2+d?Math.abs(h-m._lineHeight/2):(q.bounds.y2-q.bounds.y1)/2+d)}else h=Math.min(q.point.y,c),h>k-n-d&&("bubble"===p||"scatter"===p)&&(h=Math.min(q.point.y+d,b.y2-
|
|
320
|
+
n-d));h=Math.min(h,k)}}else 0<=p.indexOf("line")||0<=p.indexOf("area")||0<=p.indexOf("scatter")?(l="auto",B=4):0<=p.indexOf("stacked")?"auto"===l&&(l="inside"):"bubble"===p&&(l="inside"),h=q.point.y+m._lineHeight/2-n/2,"inside"!==l?(k=b.x1,e=b.x2,0>A?(s=q.point.x-L+("horizontal"===r?0:m._lineHeight/2)-B-c,("horizontal"===r?s:s-m._lineHeight/2)<k&&(s="auto"===l?Math.max(q.point.x,k)+("horizontal"===r?0:m._lineHeight/2)+d+c:k+("horizontal"===r?0:m._lineHeight/2)+B,($=s+L-("horizontal"===r?0:m._lineHeight/
|
|
321
|
+
2)>q.point.x)&&(s-=c))):(s=q.point.x+("horizontal"===r?0:m._lineHeight/2)+B+c,("horizontal"===r?s:s-m._lineHeight/2)>e-L-B-c&&(s="auto"===l?Math.min(q.point.x,e)-("horizontal"===r?L:L-m._lineHeight/2)-B-c:e-L-B+("horizontal"===r?0:m._lineHeight/2),($=s-("horizontal"===r?0:m._lineHeight/2)<q.point.x)&&(s+=c)))):(k=Math.max(q.bounds.x1,b.x1),Math.min(q.bounds.x2,b.x2),c=0<=p.indexOf("range")||"error"===p?0>A?Math.max(q.bounds.x1,b.x1):Math.min(q.bounds.x2,b.x2)-L-B+("horizontal"===r?0:m._lineHeight/
|
|
322
|
+
2):(Math.max(q.bounds.x1,b.x1)+Math.min(q.bounds.x2,b.x2))/2-L/2+("horizontal"===r?0:m._lineHeight/2),s=0>A?c:Math.min(q.point.x,c),s=Math.max(s,k+("horizontal"===r?0:m._lineHeight/2+d)));"vertical"===r&&(h+=n-m._lineHeight/2,0<="ohlc candlestick boxandwhisker column rangecolumn stackedcolumn stackedcolumn100 error".split(" ").indexOf(p)&&($=0<A?h+("horizontal"===r?n-m._lineHeight/2:0)>q.point.y:h-("horizontal"===r?m._lineHeight/2:n)<q.point.y),"bubble"===p||"scatter"===p)&&(s+=m._lineHeight/2-C/
|
|
323
|
+
2);m.x=s;m.y=h;m.render(!0);D&&("inside"!==l&&(0>p.indexOf("bar")&&("error"!==p||!q.axisSwapped)&&q.point.x>b.x1&&q.point.x<b.x2||!$)&&(-1==="ohlc candlestick boxandwhisker column rangecolumn stackedcolumn stackedcolumn100 error".split(" ").indexOf(p)&&("error"!==p||q.axisSwapped)&&q.point.y>b.y1&&q.point.y<b.y2||!$))&&(g.lineWidth=D,g.strokeStyle=u?u:"gray",g.setLineDash&&g.setLineDash(R(t,D)),g.beginPath(),g.moveTo(q.point.x,q.point.y),0<=p.indexOf("bar")||"error"===p&&q.axisSwapped?g.lineTo(s+
|
|
324
|
+
(0<q.direction?0:L)+("vertical"===r?-m._lineHeight/2:0),h+("vertical"===r?-n/2:n/2-m._lineHeight/2)):0<=p.indexOf("column")||"error"===p&&!q.axisSwapped?g.lineTo(s+L/2-("horizontal"===r?0:m._lineHeight/2),h+("vertical"===r?h-n<q.point.y?0:-n:(h-m._lineHeight/2<q.point.y?n:0)-m._lineHeight/2)):0<=p.indexOf("waterfall")?g.lineTo(s+L/2-("horizontal"===r?0:m._lineHeight/2),"vertical"===r?0<A&&h<q.point.y?h:0>A&&h-n>q.point.y?h-n:q.point.y:0<A&&h+n-m._lineHeight/2<q.point.y?h+n-m._lineHeight/2:0>A&&h-
|
|
325
|
+
m._lineHeight/2>q.point.y?h-m._lineHeight/2:q.point.y):g.lineTo(s+L/2-("horizontal"===r?0:m._lineHeight/2),h+("vertical"===r?h-n<q.point.y?0:-n:(h+n-m._lineHeight/2<q.point.y?n:0)-m._lineHeight/2)),g.stroke())}}g={source:g,dest:this.plotArea.ctx,animationCallback:E.fadeInAnimation,easingFunction:E.easing.easeInQuad,animationBase:0,startTimePercent:0.7};for(a=0;a<this._indexLabels.length;a++)q=this._indexLabels[a],m=U("indexLabelBackgroundColor",q.dataPoint,q.dataSeries),q.dataSeries.indexLabelBackgroundColor=
|
|
326
|
+
f(m)?w?"transparent":null:m;return g};v.prototype.renderLine=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=this._eventManager.ghostCtx;b.save();var e=this.plotArea;b.beginPath();b.rect(e.x1,e.y1,e.width,e.height);b.clip();for(var k=[],B,f=0;f<a.dataSeriesIndexes.length;f++){var d=a.dataSeriesIndexes[f],n=this.data[d];b.lineWidth=n.lineThickness;var q=n.dataPoints,p="solid";if(b.setLineDash){var s=R(n.nullDataLineDashType,
|
|
327
|
+
n.lineThickness),p=n.lineDashType,h=R(p,n.lineThickness);b.setLineDash(h)}var C=n.id;this._eventManager.objectMap[C]={objectType:"dataSeries",dataSeriesIndex:d};C=T(C);c.strokeStyle=C;c.lineWidth=0<n.lineThickness?Math.max(n.lineThickness,4):0;var C=n._colorSet,t=C=n.lineColor=n.options.lineColor?n.options.lineColor:C[0];b.strokeStyle=C;var fa=!0,u=0,D,x;b.beginPath();if(0<q.length){for(var l=!1,u=0;u<q.length;u++)if(D=q[u].x.getTime?q[u].x.getTime():q[u].x,!(D<a.axisX.dataInfo.viewPortMin||D>a.axisX.dataInfo.viewPortMax&&
|
|
328
|
+
(!n.connectNullData||!l)))if("number"!==typeof q[u].y)0<u&&!(n.connectNullData||l||fa)&&(b.stroke(),w&&c.stroke()),l=!0;else{D=a.axisX.convertValueToPixel(D);x=a.axisY.convertValueToPixel(q[u].y);var r=n.dataPointIds[u];this._eventManager.objectMap[r]={id:r,objectType:"dataPoint",dataSeriesIndex:d,dataPointIndex:u,x1:D,y1:x};fa||l?(!fa&&n.connectNullData?(b.setLineDash&&(n.options.nullDataLineDashType||p===n.lineDashType&&n.lineDashType!==n.nullDataLineDashType)&&(b.stroke(),b.beginPath(),b.moveTo(B.x,
|
|
329
|
+
B.y),p=n.nullDataLineDashType,b.setLineDash(s)),b.lineTo(D,x),w&&c.lineTo(D,x)):(b.beginPath(),b.moveTo(D,x),w&&(c.beginPath(),c.moveTo(D,x))),l=fa=!1):(b.lineTo(D,x),w&&c.lineTo(D,x),0==u%500&&(b.stroke(),b.beginPath(),b.moveTo(D,x),w&&(c.stroke(),c.beginPath(),c.moveTo(D,x))));B={x:D,y:x};u<q.length-1&&(t!==(q[u].lineColor||C)||p!==(q[u].lineDashType||n.lineDashType))&&(b.stroke(),b.beginPath(),b.moveTo(D,x),t=q[u].lineColor||C,b.strokeStyle=t,b.setLineDash&&(q[u].lineDashType?(p=q[u].lineDashType,
|
|
330
|
+
b.setLineDash(R(p,n.lineThickness))):(p=n.lineDashType,b.setLineDash(h))));if(0!==q[u].markerSize&&(0<q[u].markerSize||0<n.markerSize)){var v=n.getMarkerProperties(u,D,x,b);k.push(v);r=T(r);w&&k.push({x:D,y:x,ctx:c,type:v.type,size:v.size,color:r,borderColor:r,borderThickness:v.borderThickness})}(q[u].indexLabel||n.indexLabel||q[u].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"line",dataPoint:q[u],dataSeries:n,point:{x:D,y:x},direction:0>q[u].y===a.axisY.reversed?
|
|
331
|
+
1:-1,color:C})}b.stroke();w&&c.stroke()}}m.drawMarkers(k);w&&(g.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(e.x1,e.y1,e.width,e.height),c.beginPath());b.restore();b.beginPath();
|
|
332
|
+
return{source:g,dest:this.plotArea.ctx,animationCallback:E.xClipAnimation,easingFunction:E.easing.linear,animationBase:0}}};v.prototype.renderStepLine=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=this._eventManager.ghostCtx;b.save();var e=this.plotArea;b.beginPath();b.rect(e.x1,e.y1,e.width,e.height);b.clip();for(var k=[],B,f=0;f<a.dataSeriesIndexes.length;f++){var d=a.dataSeriesIndexes[f],n=this.data[d];b.lineWidth=n.lineThickness;
|
|
333
|
+
var q=n.dataPoints,p="solid";if(b.setLineDash){var s=R(n.nullDataLineDashType,n.lineThickness),p=n.lineDashType,h=R(p,n.lineThickness);b.setLineDash(h)}var C=n.id;this._eventManager.objectMap[C]={objectType:"dataSeries",dataSeriesIndex:d};C=T(C);c.strokeStyle=C;c.lineWidth=0<n.lineThickness?Math.max(n.lineThickness,4):0;var C=n._colorSet,t=C=n.lineColor=n.options.lineColor?n.options.lineColor:C[0];b.strokeStyle=C;var fa=!0,u=0,D,x;b.beginPath();if(0<q.length){for(var l=!1,u=0;u<q.length;u++)if(D=
|
|
334
|
+
q[u].getTime?q[u].x.getTime():q[u].x,!(D<a.axisX.dataInfo.viewPortMin||D>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!l)))if("number"!==typeof q[u].y)0<u&&!(n.connectNullData||l||fa)&&(b.stroke(),w&&c.stroke()),l=!0;else{var r=x;D=a.axisX.convertValueToPixel(D);x=a.axisY.convertValueToPixel(q[u].y);var v=n.dataPointIds[u];this._eventManager.objectMap[v]={id:v,objectType:"dataPoint",dataSeriesIndex:d,dataPointIndex:u,x1:D,y1:x};fa||l?(!fa&&n.connectNullData?(b.setLineDash&&(n.options.nullDataLineDashType||
|
|
335
|
+
p===n.lineDashType&&n.lineDashType!==n.nullDataLineDashType)&&(b.stroke(),b.beginPath(),b.moveTo(B.x,B.y),p=n.nullDataLineDashType,b.setLineDash(s)),b.lineTo(D,r),b.lineTo(D,x),w&&(c.lineTo(D,r),c.lineTo(D,x))):(b.beginPath(),b.moveTo(D,x),w&&(c.beginPath(),c.moveTo(D,x))),l=fa=!1):(b.lineTo(D,r),w&&c.lineTo(D,r),b.lineTo(D,x),w&&c.lineTo(D,x),0==u%500&&(b.stroke(),b.beginPath(),b.moveTo(D,x),w&&(c.stroke(),c.beginPath(),c.moveTo(D,x))));B={x:D,y:x};u<q.length-1&&(t!==(q[u].lineColor||C)||p!==(q[u].lineDashType||
|
|
336
|
+
n.lineDashType))&&(b.stroke(),b.beginPath(),b.moveTo(D,x),t=q[u].lineColor||C,b.strokeStyle=t,b.setLineDash&&(q[u].lineDashType?(p=q[u].lineDashType,b.setLineDash(R(p,n.lineThickness))):(p=n.lineDashType,b.setLineDash(h))));0!==q[u].markerSize&&(0<q[u].markerSize||0<n.markerSize)&&(r=n.getMarkerProperties(u,D,x,b),k.push(r),v=T(v),w&&k.push({x:D,y:x,ctx:c,type:r.type,size:r.size,color:v,borderColor:v,borderThickness:r.borderThickness}));(q[u].indexLabel||n.indexLabel||q[u].indexLabelFormatter||n.indexLabelFormatter)&&
|
|
337
|
+
this._indexLabels.push({chartType:"stepLine",dataPoint:q[u],dataSeries:n,point:{x:D,y:x},direction:0>q[u].y===a.axisY.reversed?1:-1,color:C})}b.stroke();w&&c.stroke()}}m.drawMarkers(k);w&&(g.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,
|
|
338
|
+
0,0,this.width,this.height),b.clearRect(e.x1,e.y1,e.width,e.height),c.beginPath());b.restore();b.beginPath();return{source:g,dest:this.plotArea.ctx,animationCallback:E.xClipAnimation,easingFunction:E.easing.linear,animationBase:0}}};v.prototype.renderSpline=function(a){function g(a){a=r(a,2);if(0<a.length){c.beginPath();w&&e.beginPath();c.moveTo(a[0].x,a[0].y);a[0].newStrokeStyle&&(c.strokeStyle=a[0].newStrokeStyle);a[0].newLineDashArray&&c.setLineDash(a[0].newLineDashArray);w&&e.moveTo(a[0].x,a[0].y);
|
|
339
|
+
for(var b=0;b<a.length-3;b+=3)if(c.bezierCurveTo(a[b+1].x,a[b+1].y,a[b+2].x,a[b+2].y,a[b+3].x,a[b+3].y),w&&e.bezierCurveTo(a[b+1].x,a[b+1].y,a[b+2].x,a[b+2].y,a[b+3].x,a[b+3].y),0<b&&0===b%3E3||a[b+3].newStrokeStyle||a[b+3].newLineDashArray)c.stroke(),c.beginPath(),c.moveTo(a[b+3].x,a[b+3].y),a[b+3].newStrokeStyle&&(c.strokeStyle=a[b+3].newStrokeStyle),a[b+3].newLineDashArray&&c.setLineDash(a[b+3].newLineDashArray),w&&(e.stroke(),e.beginPath(),e.moveTo(a[b+3].x,a[b+3].y));c.stroke();w&&e.stroke()}}
|
|
340
|
+
var b=a.targetCanvasCtx||this.plotArea.ctx,c=w?this._preRenderCtx:b;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx;c.save();var k=this.plotArea;c.beginPath();c.rect(k.x1,k.y1,k.width,k.height);c.clip();for(var B=[],f=0;f<a.dataSeriesIndexes.length;f++){var d=a.dataSeriesIndexes[f],n=this.data[d];c.lineWidth=n.lineThickness;var q=n.dataPoints,p="solid";if(c.setLineDash){var s=R(n.nullDataLineDashType,n.lineThickness),p=n.lineDashType,h=R(p,n.lineThickness);c.setLineDash(h)}var C=
|
|
341
|
+
n.id;this._eventManager.objectMap[C]={objectType:"dataSeries",dataSeriesIndex:d};C=T(C);e.strokeStyle=C;e.lineWidth=0<n.lineThickness?Math.max(n.lineThickness,4):0;var C=n._colorSet,t=C=n.lineColor=n.options.lineColor?n.options.lineColor:C[0];c.strokeStyle=C;var fa=0,u,D,x=[];c.beginPath();if(0<q.length)for(D=!1,fa=0;fa<q.length;fa++)if(u=q[fa].getTime?q[fa].x.getTime():q[fa].x,!(u<a.axisX.dataInfo.viewPortMin||u>a.axisX.dataInfo.viewPortMax&&(!n.connectNullData||!D)))if("number"!==typeof q[fa].y)0<
|
|
342
|
+
fa&&!D&&(n.connectNullData?c.setLineDash&&(0<x.length&&(n.options.nullDataLineDashType||!q[fa-1].lineDashType))&&(x[x.length-1].newLineDashArray=s,p=n.nullDataLineDashType):(g(x),x=[])),D=!0;else{u=a.axisX.convertValueToPixel(u);D=a.axisY.convertValueToPixel(q[fa].y);var l=n.dataPointIds[fa];this._eventManager.objectMap[l]={id:l,objectType:"dataPoint",dataSeriesIndex:d,dataPointIndex:fa,x1:u,y1:D};x[x.length]={x:u,y:D};fa<q.length-1&&(t!==(q[fa].lineColor||C)||p!==(q[fa].lineDashType||n.lineDashType))&&
|
|
343
|
+
(t=q[fa].lineColor||C,x[x.length-1].newStrokeStyle=t,c.setLineDash&&(q[fa].lineDashType?(p=q[fa].lineDashType,x[x.length-1].newLineDashArray=R(p,n.lineThickness)):(p=n.lineDashType,x[x.length-1].newLineDashArray=h)));if(0!==q[fa].markerSize&&(0<q[fa].markerSize||0<n.markerSize)){var v=n.getMarkerProperties(fa,u,D,c);B.push(v);l=T(l);w&&B.push({x:u,y:D,ctx:e,type:v.type,size:v.size,color:l,borderColor:l,borderThickness:v.borderThickness})}(q[fa].indexLabel||n.indexLabel||q[fa].indexLabelFormatter||
|
|
344
|
+
n.indexLabelFormatter)&&this._indexLabels.push({chartType:"spline",dataPoint:q[fa],dataSeries:n,point:{x:u,y:D},direction:0>q[fa].y===a.axisY.reversed?1:-1,color:C});D=!1}g(x)}m.drawMarkers(B);w&&(b.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,
|
|
345
|
+
0,0,this.width,this.height),c.clearRect(k.x1,k.y1,k.width,k.height),e.beginPath());c.restore();c.beginPath();return{source:b,dest:this.plotArea.ctx,animationCallback:E.xClipAnimation,easingFunction:E.easing.linear,animationBase:0}}};v.prototype.renderColumn=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=null,e=this.plotArea,k=0,B,f,d,n=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),k=this.options.dataPointMinWidth?
|
|
346
|
+
this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,q=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,p=a.axisX.dataInfo.minDiff;isFinite(p)||(p=0.3*Math.abs(a.axisX.range));p=this.dataPointWidth=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(p)/Math.log(a.axisX.range):Math.abs(p)/Math.abs(a.axisX.range))/
|
|
347
|
+
a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&k>q&&(k=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,q));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&q<k)&&(q=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,k));p<k&&(p=k);p>q&&(p=q);b.save();w&&this._eventManager.ghostCtx.save();b.beginPath();b.rect(e.x1,e.y1,e.width,e.height);b.clip();w&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());
|
|
348
|
+
for(q=0;q<a.dataSeriesIndexes.length;q++){var s=a.dataSeriesIndexes[q],h=this.data[s],m=h.dataPoints;if(0<m.length)for(var t=5<p&&h.bevelEnabled?!0:!1,k=0;k<m.length;k++)if(m[k].getTime?d=m[k].x.getTime():d=m[k].x,!(d<a.axisX.dataInfo.viewPortMin||d>a.axisX.dataInfo.viewPortMax)&&"number"===typeof m[k].y){B=a.axisX.convertValueToPixel(d);f=a.axisY.convertValueToPixel(m[k].y);B=a.axisX.reversed?B+a.plotType.totalDataSeries*p/2-(a.previousDataSeriesCount+q)*p<<0:B-a.plotType.totalDataSeries*p/2+(a.previousDataSeriesCount+
|
|
349
|
+
q)*p<<0;var l=a.axisX.reversed?B-p<<0:B+p<<0,u;0<=m[k].y?u=n:(u=f,f=n);f>u&&(c=f,f=u,u=c);c=m[k].color?m[k].color:h._colorSet[k%h._colorSet.length];P(b,a.axisX.reversed?l:B,f,a.axisX.reversed?B:l,u,c,0,null,t&&(a.axisY.reversed?0>m[k].y:0<=m[k].y),(a.axisY.reversed?0<=m[k].y:0>m[k].y)&&t,!1,!1,h.fillOpacity);c=h.dataPointIds[k];this._eventManager.objectMap[c]={id:c,objectType:"dataPoint",dataSeriesIndex:s,dataPointIndex:k,x1:B,y1:f,x2:l,y2:u};c=T(c);w&&P(this._eventManager.ghostCtx,a.axisX.reversed?
|
|
350
|
+
l:B,f,a.axisX.reversed?B:l,u,c,0,null,!1,!1,!1,!1);(m[k].indexLabel||h.indexLabel||m[k].indexLabelFormatter||h.indexLabelFormatter)&&this._indexLabels.push({chartType:"column",dataPoint:m[k],dataSeries:h,point:{x:B+(l-B)/2,y:0>m[k].y===a.axisY.reversed?f:u},direction:0>m[k].y===a.axisY.reversed?1:-1,bounds:{x1:B,y1:Math.min(f,u),x2:l,y2:Math.max(f,u)},color:c})}}w&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,
|
|
351
|
+
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(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:E.yScaleAnimation,easingFunction:E.easing.easeOutQuart,animationBase:n<a.axisY.bounds.y1?a.axisY.bounds.y1:n>a.axisY.bounds.y2?a.axisY.bounds.y2:
|
|
352
|
+
n}}};v.prototype.renderStackedColumn=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=null,e=this.plotArea,k=[],f=[],d=[],m=[],n=0,q,p,s=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*
|
|
353
|
+
this.width<<0,C=a.axisX.dataInfo.minDiff;isFinite(C)||(C=0.3*Math.abs(a.axisX.range));C=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(C)/Math.log(a.axisX.range):Math.abs(C)/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,
|
|
354
|
+
n));C<n&&(C=n);C>h&&(C=h);b.save();w&&this._eventManager.ghostCtx.save();b.beginPath();b.rect(e.x1,e.y1,e.width,e.height);b.clip();w&&(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 t=a.dataSeriesIndexes[h],l=this.data[t],u=l.dataPoints;if(0<u.length){var D=5<C&&l.bevelEnabled?!0:!1;b.strokeStyle="#4572A7 ";for(n=0;n<u.length;n++)if(c=u[n].x.getTime?u[n].x.getTime():
|
|
355
|
+
u[n].x,!(c<a.axisX.dataInfo.viewPortMin||c>a.axisX.dataInfo.viewPortMax)&&"number"===typeof u[n].y){q=a.axisX.convertValueToPixel(c);q=q-a.plotType.plotUnits.length*C/2+a.index*C<<0;var x=q+C<<0,r;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<u[n].y)d[c]=u[n].y+(d[c]?d[c]:0),0<d[c]&&(p=a.axisY.convertValueToPixel(d[c]),r="undefined"!==typeof k[c]?k[c]:s,k[c]=p);else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=u[n].y)m[c]=u[n].y+
|
|
356
|
+
(m[c]?m[c]:0),r=a.axisY.convertValueToPixel(m[c]),p="undefined"!==typeof f[c]?f[c]:s,f[c]=r;else if(p=a.axisY.convertValueToPixel(u[n].y),0<=u[n].y){var v="undefined"!==typeof k[c]?k[c]:0;p-=v;r=s-v;k[c]=v+(r-p)}else v=f[c]?f[c]:0,r=p+v,p=s+v,f[c]=v+(r-p);c=u[n].color?u[n].color:l._colorSet[n%l._colorSet.length];P(b,q,a.axisY.reversed?r:p,x,a.axisY.reversed?p:r,c,0,null,D&&(a.axisY.reversed?0>u[n].y:0<=u[n].y),(a.axisY.reversed?0<=u[n].y:0>u[n].y)&&D,!1,!1,l.fillOpacity);c=l.dataPointIds[n];this._eventManager.objectMap[c]=
|
|
357
|
+
{id:c,objectType:"dataPoint",dataSeriesIndex:t,dataPointIndex:n,x1:q,y1:p,x2:x,y2:r};c=T(c);w&&P(this._eventManager.ghostCtx,q,p,x,r,c,0,null,!1,!1,!1,!1);(u[n].indexLabel||l.indexLabel||u[n].indexLabelFormatter||l.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedColumn",dataPoint:u[n],dataSeries:l,point:{x:q+(x-q)/2,y:0<=u[n].y?p:r},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:q,y1:Math.min(p,r),x2:x,y2:Math.max(p,r)},color:c,cumulativeY:l.dataPointEOs[n].cumulativeY})}}}w&&
|
|
358
|
+
(g.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(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:E.yScaleAnimation,
|
|
359
|
+
easingFunction:E.easing.easeOutQuart,animationBase:s<a.axisY.bounds.y1?a.axisY.bounds.y1:s>a.axisY.bounds.y2?a.axisY.bounds.y2:s}}};v.prototype.renderStackedColumn100=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=null,e=this.plotArea,k=[],f=[],d=[],m=[],n=0,q,p,s,h=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?
|
|
360
|
+
this.dataPointWidth:1;s=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.width<<0;var C=a.axisX.dataInfo.minDiff;isFinite(C)||(C=0.3*Math.abs(a.axisX.range));C=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.width*(a.axisX.logarithmic?Math.log(C)/Math.log(a.axisX.range):Math.abs(C)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&n>s&&(n=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,
|
|
361
|
+
s));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&s<n)&&(s=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,n));C<n&&(C=n);C>s&&(C=s);b.save();w&&this._eventManager.ghostCtx.save();b.beginPath();b.rect(e.x1,e.y1,e.width,e.height);b.clip();w&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(var t=0;t<a.dataSeriesIndexes.length;t++){var l=a.dataSeriesIndexes[t],u=this.data[l],D=u.dataPoints;
|
|
362
|
+
if(0<D.length)for(var x=5<C&&u.bevelEnabled?!0:!1,n=0;n<D.length;n++)if(s=D[n].x.getTime?D[n].x.getTime():D[n].x,!(s<a.axisX.dataInfo.viewPortMin||s>a.axisX.dataInfo.viewPortMax)&&"number"===typeof D[n].y){q=a.axisX.convertValueToPixel(s);p=0!==a.dataPointYSums[s]?100*(D[n].y/a.dataPointYSums[s]):0;q=q-a.plotType.plotUnits.length*C/2+a.index*C<<0;var r=q+C<<0,v;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0<D[n].y){d[s]=p+("undefined"!==typeof d[s]?d[s]:
|
|
363
|
+
0);if(0>=d[s])continue;p=a.axisY.convertValueToPixel(d[s]);v=k[s]?k[s]:h;k[s]=p}else a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=D[n].y?(m[s]=p+("undefined"!==typeof m[s]?m[s]:0),v=a.axisY.convertValueToPixel(m[s]),p=f[s]?f[s]:h,f[s]=v):(p=a.axisY.convertValueToPixel(p),0<=D[n].y?(c="undefined"!==typeof k[s]?k[s]:0,p-=c,v=h-c,a.dataSeriesIndexes.length-1===t&&1>=Math.abs(e.y1-p)&&(p=e.y1),k[s]=c+(v-p)):(c="undefined"!==typeof f[s]?f[s]:0,v=p+c,p=h+c,a.dataSeriesIndexes.length-
|
|
364
|
+
1===t&&1>=Math.abs(e.y2-v)&&(v=e.y2),f[s]=c+(v-p)));c=D[n].color?D[n].color:u._colorSet[n%u._colorSet.length];P(b,q,a.axisY.reversed?v:p,r,a.axisY.reversed?p:v,c,0,null,x&&(a.axisY.reversed?0>D[n].y:0<=D[n].y),(a.axisY.reversed?0<=D[n].y:0>D[n].y)&&x,!1,!1,u.fillOpacity);c=u.dataPointIds[n];this._eventManager.objectMap[c]={id:c,objectType:"dataPoint",dataSeriesIndex:l,dataPointIndex:n,x1:q,y1:p,x2:r,y2:v};c=T(c);w&&P(this._eventManager.ghostCtx,q,p,r,v,c,0,null,!1,!1,!1,!1);(D[n].indexLabel||u.indexLabel||
|
|
365
|
+
D[n].indexLabelFormatter||u.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedColumn100",dataPoint:D[n],dataSeries:u,point:{x:q+(r-q)/2,y:0<=D[n].y?p:v},direction:0>D[n].y===a.axisY.reversed?1:-1,bounds:{x1:q,y1:Math.min(p,v),x2:r,y2:Math.max(p,v)},color:c,yCumulative:100*(u.dataPointEOs[n].cumulativeY/a.dataPointYSums[s])})}}w&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&b.drawImage(a.axisX.maskCanvas,0,
|
|
366
|
+
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(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:E.yScaleAnimation,easingFunction:E.easing.easeOutQuart,animationBase:h<a.axisY.bounds.y1?a.axisY.bounds.y1:h>a.axisY.bounds.y2?a.axisY.bounds.y2:
|
|
367
|
+
h}}};v.prototype.renderBar=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=null,e=this.plotArea,k=0,f,d,m,n=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),k=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,q=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:Math.min(0.15*this.height,0.9*(this.plotArea.height/
|
|
368
|
+
a.plotType.totalDataSeries))<<0,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):Math.abs(p)/Math.abs(a.axisX.range))/a.plotType.totalDataSeries)<<0;this.dataPointMaxWidth&&k>q&&(k=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,q));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&q<k)&&(q=Math.max(this.options.dataPointWidth?this.dataPointWidth:
|
|
369
|
+
-Infinity,k));p<k&&(p=k);p>q&&(p=q);b.save();w&&this._eventManager.ghostCtx.save();b.beginPath();b.rect(e.x1,e.y1,e.width,e.height);b.clip();w&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(q=0;q<a.dataSeriesIndexes.length;q++){var s=a.dataSeriesIndexes[q],h=this.data[s],C=h.dataPoints;if(0<C.length){var t=5<p&&h.bevelEnabled?!0:!1;b.strokeStyle="#4572A7 ";for(k=0;k<C.length;k++)if(C[k].getTime?m=C[k].x.getTime():
|
|
370
|
+
m=C[k].x,!(m<a.axisX.dataInfo.viewPortMin||m>a.axisX.dataInfo.viewPortMax)&&"number"===typeof C[k].y){d=a.axisX.convertValueToPixel(m);f=a.axisY.convertValueToPixel(C[k].y);d=a.axisX.reversed?d+a.plotType.totalDataSeries*p/2-(a.previousDataSeriesCount+q)*p<<0:d-a.plotType.totalDataSeries*p/2+(a.previousDataSeriesCount+q)*p<<0;var l=a.axisX.reversed?d-p<<0:d+p<<0,u;0<=C[k].y?u=n:(u=f,f=n);c=C[k].color?C[k].color:h._colorSet[k%h._colorSet.length];P(b,a.axisY.reversed?f:u,a.axisX.reversed?l:d,a.axisY.reversed?
|
|
371
|
+
u:f,a.axisX.reversed?d:l,c,0,null,t,!1,!1,!1,h.fillOpacity);c=h.dataPointIds[k];this._eventManager.objectMap[c]={id:c,objectType:"dataPoint",dataSeriesIndex:s,dataPointIndex:k,x1:u,y1:d,x2:f,y2:l};c=T(c);w&&P(this._eventManager.ghostCtx,u,a.axisX.reversed?l:d,f,a.axisX.reversed?d:l,c,0,null,!1,!1,!1,!1);(C[k].indexLabel||h.indexLabel||C[k].indexLabelFormatter||h.indexLabelFormatter)&&this._indexLabels.push({chartType:"bar",dataPoint:C[k],dataSeries:h,point:{x:0<=C[k].y?f:u,y:d+(l-d)/2},direction:0>
|
|
372
|
+
C[k].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(u,f),y1:d,x2:Math.max(u,f),y2:l},color:c})}}}w&&(g.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(e.x1,e.y1,e.width,e.height),
|
|
373
|
+
this._eventManager.ghostCtx.restore());b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:E.xScaleAnimation,easingFunction:E.easing.easeOutQuart,animationBase:n<a.axisY.bounds.x1?a.axisY.bounds.x1:n>a.axisY.bounds.x2?a.axisY.bounds.x2:n}}};v.prototype.renderStackedBar=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=null,e=this.plotArea,k=[],f=[],d=[],m=[],n=0,q,p,s=a.axisY.convertValueToPixel(a.axisY.logarithmic?
|
|
374
|
+
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,C=a.axisX.dataInfo.minDiff;isFinite(C)||(C=0.3*Math.abs(a.axisX.range));C=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(C)/Math.log(a.axisX.range):Math.abs(C)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<
|
|
375
|
+
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));C<n&&(C=n);C>h&&(C=h);b.save();w&&this._eventManager.ghostCtx.save();b.beginPath();b.rect(e.x1,e.y1,e.width,e.height);b.clip();w&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());
|
|
376
|
+
for(h=0;h<a.dataSeriesIndexes.length;h++){var t=a.dataSeriesIndexes[h],l=this.data[t],u=l.dataPoints;if(0<u.length){var D=5<C&&l.bevelEnabled?!0:!1;b.strokeStyle="#4572A7 ";for(n=0;n<u.length;n++)if(c=u[n].x.getTime?u[n].x.getTime():u[n].x,!(c<a.axisX.dataInfo.viewPortMin||c>a.axisX.dataInfo.viewPortMax)&&"number"===typeof u[n].y){p=a.axisX.convertValueToPixel(c);p=p-a.plotType.plotUnits.length*C/2+a.index*C<<0;var x=p+C<<0,r;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&
|
|
377
|
+
0<u[n].y)d[c]=u[n].y+(d[c]?d[c]:0),0<d[c]&&(r=k[c]?k[c]:s,k[c]=q=a.axisY.convertValueToPixel(d[c]));else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=u[n].y)m[c]=u[n].y+(m[c]?m[c]:0),q=f[c]?f[c]:s,f[c]=r=a.axisY.convertValueToPixel(m[c]);else if(q=a.axisY.convertValueToPixel(u[n].y),0<=u[n].y){var v=k[c]?k[c]:0;r=s+v;q+=v;k[c]=v+(q-r)}else v=f[c]?f[c]:0,r=q-v,q=s-v,f[c]=v+(q-r);c=u[n].color?u[n].color:l._colorSet[n%l._colorSet.length];P(b,a.axisY.reversed?q:r,p,a.axisY.reversed?
|
|
378
|
+
r:q,x,c,0,null,D,!1,!1,!1,l.fillOpacity);c=l.dataPointIds[n];this._eventManager.objectMap[c]={id:c,objectType:"dataPoint",dataSeriesIndex:t,dataPointIndex:n,x1:r,y1:p,x2:q,y2:x};c=T(c);w&&P(this._eventManager.ghostCtx,r,p,q,x,c,0,null,!1,!1,!1,!1);(u[n].indexLabel||l.indexLabel||u[n].indexLabelFormatter||l.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedBar",dataPoint:u[n],dataSeries:l,point:{x:0<=u[n].y?q:r,y:p+(x-p)/2},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(r,
|
|
379
|
+
q),y1:p,x2:Math.max(r,q),y2:x},color:c})}}}w&&(g.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(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());b.restore();
|
|
380
|
+
return{source:g,dest:this.plotArea.ctx,animationCallback:E.xScaleAnimation,easingFunction:E.easing.easeOutQuart,animationBase:s<a.axisY.bounds.x1?a.axisY.bounds.x1:s>a.axisY.bounds.x2?a.axisY.bounds.x2:s}}};v.prototype.renderStackedBar100=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=null,e=this.plotArea,k=[],f=[],d=[],m=[],n=0,q,p,s=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),n=this.options.dataPointMinWidth?
|
|
381
|
+
this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,h=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.15*this.height<<0,C=a.axisX.dataInfo.minDiff;isFinite(C)||(C=0.3*Math.abs(a.axisX.range));C=this.options.dataPointWidth?this.dataPointWidth:0.9*(e.height*(a.axisX.logarithmic?Math.log(C)/Math.log(a.axisX.range):Math.abs(C)/Math.abs(a.axisX.range))/a.plotType.plotUnits.length)<<0;this.dataPointMaxWidth&&n>h&&(n=Math.min(this.options.dataPointWidth?
|
|
375
382
|
this.dataPointWidth:Infinity,h));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&h<n)&&(h=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,n));C<n&&(C=n);C>h&&(C=h);b.save();w&&this._eventManager.ghostCtx.save();b.beginPath();b.rect(e.x1,e.y1,e.width,e.height);b.clip();w&&(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 t=a.dataSeriesIndexes[h],
|
|
376
|
-
l=this.data[t],u=l.dataPoints;if(0<u.length){var D=5<C&&l.bevelEnabled?!0:!1;b.strokeStyle="#4572A7 ";for(n=0;n<u.length;n++)if(c=u[n].x.getTime?u[n].x.getTime():u[n].x,!(c<a.axisX.dataInfo.viewPortMin||c>a.axisX.dataInfo.viewPortMax)&&"number"===typeof u[n].y){p=a.axisX.convertValueToPixel(c);p=p-a.plotType.plotUnits.length*C/2+a.index*C<<0;var
|
|
377
|
-
s
|
|
378
|
-
this._eventManager.objectMap[c]={id:c,objectType:"dataPoint",dataSeriesIndex:t,dataPointIndex:n,x1:
|
|
379
|
-
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,
|
|
380
|
-
animationBase:s<a.axisY.bounds.x1?a.axisY.bounds.x1:s>a.axisY.bounds.x2?a.axisY.bounds.x2:s}}};v.prototype.
|
|
381
|
-
|
|
382
|
-
|
|
383
|
-
"
|
|
384
|
-
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
return{source:
|
|
388
|
-
|
|
389
|
-
0;
|
|
390
|
-
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
(
|
|
400
|
-
|
|
401
|
-
|
|
402
|
-
this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),
|
|
403
|
-
0<
|
|
404
|
-
|
|
405
|
-
|
|
406
|
-
(!
|
|
407
|
-
|
|
408
|
-
|
|
409
|
-
|
|
410
|
-
|
|
411
|
-
|
|
412
|
-
|
|
413
|
-
|
|
414
|
-
|
|
415
|
-
|
|
416
|
-
h,C
|
|
417
|
-
|
|
418
|
-
|
|
419
|
-
0
|
|
420
|
-
this.
|
|
421
|
-
|
|
422
|
-
|
|
423
|
-
|
|
424
|
-
|
|
425
|
-
c.
|
|
426
|
-
|
|
427
|
-
this.
|
|
428
|
-
|
|
429
|
-
|
|
430
|
-
|
|
431
|
-
|
|
432
|
-
|
|
433
|
-
|
|
434
|
-
this._indexLabels.push({chartType:
|
|
435
|
-
0,0,this.width,this.height),b.clearRect(
|
|
436
|
-
this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,
|
|
437
|
-
Infinity,
|
|
438
|
-
|
|
439
|
-
|
|
440
|
-
|
|
441
|
-
|
|
442
|
-
0
|
|
443
|
-
|
|
444
|
-
|
|
445
|
-
|
|
446
|
-
|
|
447
|
-
|
|
448
|
-
|
|
449
|
-
|
|
450
|
-
|
|
451
|
-
|
|
452
|
-
|
|
453
|
-
0,0,this.width,this.height),
|
|
454
|
-
|
|
455
|
-
|
|
456
|
-
|
|
457
|
-
|
|
458
|
-
|
|
459
|
-
|
|
460
|
-
|
|
461
|
-
this._eventManager.
|
|
462
|
-
|
|
463
|
-
|
|
464
|
-
|
|
465
|
-
|
|
466
|
-
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
-1:1,bounds:{x1:
|
|
470
|
-
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:g,dest:this.plotArea.ctx,animationCallback:E.fadeInAnimation,easingFunction:E.easing.easeInQuad,
|
|
471
|
-
animationBase:0}}};v.prototype.renderRangeBar=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=null,e=this.plotArea,k=0,d,m,l,n,k=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 q=
|
|
472
|
-
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&&k>d&&(k=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,d));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&d<k)&&(d=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,k));q<k&&(q=k);
|
|
473
|
-
q>d&&(q=d);b.save();w&&this._eventManager.ghostCtx.save();b.beginPath();b.rect(e.x1,e.y1,e.width,e.height);b.clip();w&&(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 s=a.dataSeriesIndexes[p],h=this.data[s],t=h.dataPoints;if(0<t.length){var r=5<q&&h.bevelEnabled?!0:!1;b.strokeStyle="#4572A7 ";for(k=0;k<t.length;k++)if(t[k].getTime?n=t[k].x.getTime():n=t[k].x,
|
|
474
|
-
!(n<a.axisX.dataInfo.viewPortMin||n>a.axisX.dataInfo.viewPortMax)&&!f(t[k].y)&&t[k].y.length&&"number"===typeof t[k].y[0]&&"number"===typeof t[k].y[1]){d=a.axisY.convertValueToPixel(t[k].y[0]);m=a.axisY.convertValueToPixel(t[k].y[1]);l=a.axisX.convertValueToPixel(n);l=a.axisX.reversed?l+a.plotType.totalDataSeries*q/2-(a.previousDataSeriesCount+p)*q<<0:l-a.plotType.totalDataSeries*q/2+(a.previousDataSeriesCount+p)*q<<0;var v=a.axisX.reversed?l-q<<0:l+q<<0;d>m&&(c=d,d=m,m=c);c=t[k].color?t[k].color:
|
|
475
|
-
h._colorSet[k%h._colorSet.length];P(b,d,a.axisX.reversed?v:l,m,a.axisX.reversed?l:v,c,0,null,r,!1,!1,!1,h.fillOpacity);c=h.dataPointIds[k];this._eventManager.objectMap[c]={id:c,objectType:"dataPoint",dataSeriesIndex:s,dataPointIndex:k,x1:d,y1:l,x2:m,y2:v};c=T(c);w&&P(this._eventManager.ghostCtx,d,a.axisX.reversed?v:l,m,a.axisX.reversed?l:v,c,0,null,!1,!1,!1,!1);if(t[k].indexLabel||h.indexLabel||t[k].indexLabelFormatter||h.indexLabelFormatter)this._indexLabels.push({chartType:"rangeBar",dataPoint:t[k],
|
|
476
|
-
dataSeries:h,indexKeyword:0,point:{x:t[k].y[1]>=t[k].y[0]?d:m,y:l+(v-l)/2},direction:t[k].y[1]>=t[k].y[0]?-1:1,bounds:{x1:Math.min(d,m),y1:l,x2:Math.max(d,m),y2:v},color:c}),this._indexLabels.push({chartType:"rangeBar",dataPoint:t[k],dataSeries:h,indexKeyword:1,point:{x:t[k].y[1]>=t[k].y[0]?m:d,y:l+(v-l)/2},direction:t[k].y[1]>=t[k].y[0]?1:-1,bounds:{x1:Math.min(d,m),y1:l,x2:Math.max(d,m),y2:v},color:c})}}}w&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation=
|
|
383
|
+
l=this.data[t],u=l.dataPoints;if(0<u.length){var D=5<C&&l.bevelEnabled?!0:!1;b.strokeStyle="#4572A7 ";for(n=0;n<u.length;n++)if(c=u[n].x.getTime?u[n].x.getTime():u[n].x,!(c<a.axisX.dataInfo.viewPortMin||c>a.axisX.dataInfo.viewPortMax)&&"number"===typeof u[n].y){p=a.axisX.convertValueToPixel(c);var x;x=0!==a.dataPointYSums[c]?100*(u[n].y/a.dataPointYSums[c]):0;p=p-a.plotType.plotUnits.length*C/2+a.index*C<<0;var r=p+C<<0;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&
|
|
384
|
+
0<u[n].y){d[c]=x+(d[c]?d[c]:0);if(0>=d[c])continue;x=k[c]?k[c]:s;k[c]=q=a.axisY.convertValueToPixel(d[c])}else if(a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length&&0>=u[n].y)m[c]=x+(m[c]?m[c]:0),q=f[c]?f[c]:s,f[c]=x=a.axisY.convertValueToPixel(m[c]);else if(q=a.axisY.convertValueToPixel(x),0<=u[n].y){var v=k[c]?k[c]:0;x=s+v;q+=v;a.dataSeriesIndexes.length-1===h&&1>=Math.abs(e.x2-q)&&(q=e.x2);k[c]=v+(q-x)}else v=f[c]?f[c]:0,x=q-v,q=s-v,a.dataSeriesIndexes.length-1===h&&1>=Math.abs(e.x1-
|
|
385
|
+
x)&&(x=e.x1),f[c]=v+(q-x);c=u[n].color?u[n].color:l._colorSet[n%l._colorSet.length];P(b,a.axisY.reversed?q:x,p,a.axisY.reversed?x:q,r,c,0,null,D,!1,!1,!1,l.fillOpacity);c=l.dataPointIds[n];this._eventManager.objectMap[c]={id:c,objectType:"dataPoint",dataSeriesIndex:t,dataPointIndex:n,x1:x,y1:p,x2:q,y2:r};c=T(c);w&&P(this._eventManager.ghostCtx,x,p,q,r,c,0,null,!1,!1,!1,!1);(u[n].indexLabel||l.indexLabel||u[n].indexLabelFormatter||l.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedBar100",
|
|
386
|
+
dataPoint:u[n],dataSeries:l,point:{x:0<=u[n].y?q:x,y:p+(r-p)/2},direction:0>u[n].y===a.axisY.reversed?1:-1,bounds:{x1:Math.min(x,q),y1:p,x2:Math.max(x,q),y2:r},color:c})}}}w&&(g.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,
|
|
387
|
+
0,0,this.width,this.height),b.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:E.xScaleAnimation,easingFunction:E.easing.easeOutQuart,animationBase:s<a.axisY.bounds.x1?a.axisY.bounds.x1:s>a.axisY.bounds.x2?a.axisY.bounds.x2:s}}};v.prototype.renderArea=function(a){var g,b;function c(){y&&(0<h.lineThickness&&k.stroke(),a.axisY.logarithmic||0>=a.axisY.viewportMinimum&&0<=a.axisY.viewportMaximum?v=x:0>a.axisY.viewportMaximum?
|
|
388
|
+
v=d.y1:0<a.axisY.viewportMinimum&&(v=x),k.lineTo(l,v),k.lineTo(y.x,v),k.closePath(),k.globalAlpha=h.fillOpacity,k.fill(),k.globalAlpha=1,w&&(f.lineTo(l,v),f.lineTo(y.x,v),f.closePath(),f.fill()),k.beginPath(),k.moveTo(l,u),f.beginPath(),f.moveTo(l,u),y={x:l,y:u})}var e=a.targetCanvasCtx||this.plotArea.ctx,k=w?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var f=this._eventManager.ghostCtx,d=a.axisY.lineCoordinates,L=[],n=this.plotArea,q;k.save();w&&f.save();k.beginPath();k.rect(n.x1,n.y1,
|
|
389
|
+
n.width,n.height);k.clip();w&&(f.beginPath(),f.rect(n.x1,n.y1,n.width,n.height),f.clip());for(var p=0;p<a.dataSeriesIndexes.length;p++){var s=a.dataSeriesIndexes[p],h=this.data[s],C=h.dataPoints,L=h.id;this._eventManager.objectMap[L]={objectType:"dataSeries",dataSeriesIndex:s};L=T(L);f.fillStyle=L;L=[];g=!0;var t=0,l,u,r,x=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),v,y=null;if(0<C.length){var H=h._colorSet[t%h._colorSet.length],A=h.lineColor=h.options.lineColor||H,
|
|
390
|
+
z=A;k.fillStyle=H;k.strokeStyle=A;k.lineWidth=h.lineThickness;b="solid";if(k.setLineDash){var O=R(h.nullDataLineDashType,h.lineThickness);b=h.lineDashType;var Q=R(b,h.lineThickness);k.setLineDash(Q)}for(var $=!0;t<C.length;t++)if(r=C[t].x.getTime?C[t].x.getTime():C[t].x,!(r<a.axisX.dataInfo.viewPortMin||r>a.axisX.dataInfo.viewPortMax&&(!h.connectNullData||!$)))if("number"!==typeof C[t].y)h.connectNullData||($||g)||c(),$=!0;else{l=a.axisX.convertValueToPixel(r);u=a.axisY.convertValueToPixel(C[t].y);
|
|
391
|
+
g||$?(!g&&h.connectNullData?(k.setLineDash&&(h.options.nullDataLineDashType||b===h.lineDashType&&h.lineDashType!==h.nullDataLineDashType)&&(g=l,b=u,l=q.x,u=q.y,c(),k.moveTo(q.x,q.y),l=g,u=b,y=q,b=h.nullDataLineDashType,k.setLineDash(O)),k.lineTo(l,u),w&&f.lineTo(l,u)):(k.beginPath(),k.moveTo(l,u),w&&(f.beginPath(),f.moveTo(l,u)),y={x:l,y:u}),$=g=!1):(k.lineTo(l,u),w&&f.lineTo(l,u),0==t%250&&c());q={x:l,y:u};t<C.length-1&&(z!==(C[t].lineColor||A)||b!==(C[t].lineDashType||h.lineDashType))&&(c(),z=C[t].lineColor||
|
|
392
|
+
A,k.strokeStyle=z,k.setLineDash&&(C[t].lineDashType?(b=C[t].lineDashType,k.setLineDash(R(b,h.lineThickness))):(b=h.lineDashType,k.setLineDash(Q))));var ba=h.dataPointIds[t];this._eventManager.objectMap[ba]={id:ba,objectType:"dataPoint",dataSeriesIndex:s,dataPointIndex:t,x1:l,y1:u};0!==C[t].markerSize&&(0<C[t].markerSize||0<h.markerSize)&&(r=h.getMarkerProperties(t,l,u,k),L.push(r),ba=T(ba),w&&L.push({x:l,y:u,ctx:f,type:r.type,size:r.size,color:ba,borderColor:ba,borderThickness:r.borderThickness}));
|
|
393
|
+
(C[t].indexLabel||h.indexLabel||C[t].indexLabelFormatter||h.indexLabelFormatter)&&this._indexLabels.push({chartType:"area",dataPoint:C[t],dataSeries:h,point:{x:l,y:u},direction:0>C[t].y===a.axisY.reversed?1:-1,color:H})}c();m.drawMarkers(L)}}w&&(e.drawImage(this._preRenderCanvas,0,0,this.width,this.height),k.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&k.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&k.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),
|
|
394
|
+
this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),k.clearRect(n.x1,n.y1,n.width,n.height),this._eventManager.ghostCtx.restore());k.restore();return{source:e,dest:this.plotArea.ctx,animationCallback:E.xClipAnimation,easingFunction:E.easing.linear,animationBase:0}}};v.prototype.renderSplineArea=function(a){function g(){var b=r(D,2);if(0<b.length){if(0<q.lineThickness){c.beginPath();c.moveTo(b[0].x,b[0].y);b[0].newStrokeStyle&&(c.strokeStyle=b[0].newStrokeStyle);
|
|
395
|
+
b[0].newLineDashArray&&c.setLineDash(b[0].newLineDashArray);for(var g=0;g<b.length-3;g+=3)if(c.bezierCurveTo(b[g+1].x,b[g+1].y,b[g+2].x,b[g+2].y,b[g+3].x,b[g+3].y),w&&e.bezierCurveTo(b[g+1].x,b[g+1].y,b[g+2].x,b[g+2].y,b[g+3].x,b[g+3].y),b[g+3].newStrokeStyle||b[g+3].newLineDashArray)c.stroke(),c.beginPath(),c.moveTo(b[g+3].x,b[g+3].y),b[g+3].newStrokeStyle&&(c.strokeStyle=b[g+3].newStrokeStyle),b[g+3].newLineDashArray&&c.setLineDash(b[g+3].newLineDashArray);c.stroke()}c.beginPath();c.moveTo(b[0].x,
|
|
396
|
+
b[0].y);w&&(e.beginPath(),e.moveTo(b[0].x,b[0].y));for(g=0;g<b.length-3;g+=3)c.bezierCurveTo(b[g+1].x,b[g+1].y,b[g+2].x,b[g+2].y,b[g+3].x,b[g+3].y),w&&e.bezierCurveTo(b[g+1].x,b[g+1].y,b[g+2].x,b[g+2].y,b[g+3].x,b[g+3].y);a.axisY.logarithmic||0>=a.axisY.viewportMinimum&&0<=a.axisY.viewportMaximum?l=t:0>a.axisY.viewportMaximum?l=k.y1:0<a.axisY.viewportMinimum&&(l=t);u={x:b[0].x,y:b[0].y};c.lineTo(b[b.length-1].x,l);c.lineTo(u.x,l);c.closePath();c.globalAlpha=q.fillOpacity;c.fill();c.globalAlpha=1;
|
|
397
|
+
w&&(e.lineTo(b[b.length-1].x,l),e.lineTo(u.x,l),e.closePath(),e.fill())}}var b=a.targetCanvasCtx||this.plotArea.ctx,c=w?this._preRenderCtx:b;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx,k=a.axisY.lineCoordinates,f=[],d=this.plotArea;c.save();w&&e.save();c.beginPath();c.rect(d.x1,d.y1,d.width,d.height);c.clip();w&&(e.beginPath(),e.rect(d.x1,d.y1,d.width,d.height),e.clip());for(var L=0;L<a.dataSeriesIndexes.length;L++){var n=a.dataSeriesIndexes[L],q=this.data[n],p=q.dataPoints,
|
|
398
|
+
f=q.id;this._eventManager.objectMap[f]={objectType:"dataSeries",dataSeriesIndex:n};f=T(f);e.fillStyle=f;var f=[],s=0,h,C,t=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),l,u=null,D=[];if(0<p.length){var x=q._colorSet[s%q._colorSet.length],v=q.lineColor=q.options.lineColor||x,y=v;c.fillStyle=x;c.strokeStyle=v;c.lineWidth=q.lineThickness;var H="solid";if(c.setLineDash){var A=R(q.nullDataLineDashType,q.lineThickness),H=q.lineDashType,z=R(H,q.lineThickness);c.setLineDash(z)}for(C=
|
|
399
|
+
!1;s<p.length;s++)if(h=p[s].x.getTime?p[s].x.getTime():p[s].x,!(h<a.axisX.dataInfo.viewPortMin||h>a.axisX.dataInfo.viewPortMax&&(!q.connectNullData||!C)))if("number"!==typeof p[s].y)0<s&&!C&&(q.connectNullData?c.setLineDash&&(0<D.length&&(q.options.nullDataLineDashType||!p[s-1].lineDashType))&&(D[D.length-1].newLineDashArray=A,H=q.nullDataLineDashType):(g(),D=[])),C=!0;else{h=a.axisX.convertValueToPixel(h);C=a.axisY.convertValueToPixel(p[s].y);var O=q.dataPointIds[s];this._eventManager.objectMap[O]=
|
|
400
|
+
{id:O,objectType:"dataPoint",dataSeriesIndex:n,dataPointIndex:s,x1:h,y1:C};D[D.length]={x:h,y:C};s<p.length-1&&(y!==(p[s].lineColor||v)||H!==(p[s].lineDashType||q.lineDashType))&&(y=p[s].lineColor||v,D[D.length-1].newStrokeStyle=y,c.setLineDash&&(p[s].lineDashType?(H=p[s].lineDashType,D[D.length-1].newLineDashArray=R(H,q.lineThickness)):(H=q.lineDashType,D[D.length-1].newLineDashArray=z)));if(0!==p[s].markerSize&&(0<p[s].markerSize||0<q.markerSize)){var Q=q.getMarkerProperties(s,h,C,c);f.push(Q);
|
|
401
|
+
O=T(O);w&&f.push({x:h,y:C,ctx:e,type:Q.type,size:Q.size,color:O,borderColor:O,borderThickness:Q.borderThickness})}(p[s].indexLabel||q.indexLabel||p[s].indexLabelFormatter||q.indexLabelFormatter)&&this._indexLabels.push({chartType:"splineArea",dataPoint:p[s],dataSeries:q,point:{x:h,y:C},direction:0>p[s].y===a.axisY.reversed?1:-1,color:x});C=!1}g();m.drawMarkers(f)}}w&&(b.drawImage(this._preRenderCanvas,0,0,this.width,this.height),c.globalCompositeOperation="source-atop",a.axisX.maskCanvas&&c.drawImage(a.axisX.maskCanvas,
|
|
402
|
+
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),this._eventManager.ghostCtx.restore());c.restore();return{source:b,dest:this.plotArea.ctx,animationCallback:E.xClipAnimation,easingFunction:E.easing.linear,animationBase:0}}};v.prototype.renderStepArea=function(a){var g,b;function c(){y&&(0<h.lineThickness&&
|
|
403
|
+
k.stroke(),a.axisY.logarithmic||0>=a.axisY.viewportMinimum&&0<=a.axisY.viewportMaximum?v=x:0>a.axisY.viewportMaximum?v=d.y1:0<a.axisY.viewportMinimum&&(v=x),k.lineTo(l,v),k.lineTo(y.x,v),k.closePath(),k.globalAlpha=h.fillOpacity,k.fill(),k.globalAlpha=1,w&&(f.lineTo(l,v),f.lineTo(y.x,v),f.closePath(),f.fill()),k.beginPath(),k.moveTo(l,u),f.beginPath(),f.moveTo(l,u),y={x:l,y:u})}var e=a.targetCanvasCtx||this.plotArea.ctx,k=w?this._preRenderCtx:e;if(!(0>=a.dataSeriesIndexes.length)){var f=this._eventManager.ghostCtx,
|
|
404
|
+
d=a.axisY.lineCoordinates,L=[],n=this.plotArea,q;k.save();w&&f.save();k.beginPath();k.rect(n.x1,n.y1,n.width,n.height);k.clip();w&&(f.beginPath(),f.rect(n.x1,n.y1,n.width,n.height),f.clip());for(var p=0;p<a.dataSeriesIndexes.length;p++){var s=a.dataSeriesIndexes[p],h=this.data[s],C=h.dataPoints,L=h.id;this._eventManager.objectMap[L]={objectType:"dataSeries",dataSeriesIndex:s};L=T(L);f.fillStyle=L;L=[];g=!0;var t=0,l,u,r,x=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),
|
|
405
|
+
v,y=null;b=!1;if(0<C.length){var H=h._colorSet[t%h._colorSet.length],A=h.lineColor=h.options.lineColor||H,z=A;k.fillStyle=H;k.strokeStyle=A;k.lineWidth=h.lineThickness;var O="solid";if(k.setLineDash){var Q=R(h.nullDataLineDashType,h.lineThickness),O=h.lineDashType,$=R(O,h.lineThickness);k.setLineDash($)}for(;t<C.length;t++)if(r=C[t].x.getTime?C[t].x.getTime():C[t].x,!(r<a.axisX.dataInfo.viewPortMin||r>a.axisX.dataInfo.viewPortMax&&(!h.connectNullData||!b))){var ba=u;"number"!==typeof C[t].y?(h.connectNullData||
|
|
406
|
+
(b||g)||c(),b=!0):(l=a.axisX.convertValueToPixel(r),u=a.axisY.convertValueToPixel(C[t].y),g||b?(!g&&h.connectNullData?(k.setLineDash&&(h.options.nullDataLineDashType||O===h.lineDashType&&h.lineDashType!==h.nullDataLineDashType)&&(g=l,b=u,l=q.x,u=q.y,c(),k.moveTo(q.x,q.y),l=g,u=b,y=q,O=h.nullDataLineDashType,k.setLineDash(Q)),k.lineTo(l,ba),k.lineTo(l,u),w&&(f.lineTo(l,ba),f.lineTo(l,u))):(k.beginPath(),k.moveTo(l,u),w&&(f.beginPath(),f.moveTo(l,u)),y={x:l,y:u}),b=g=!1):(k.lineTo(l,ba),w&&f.lineTo(l,
|
|
407
|
+
ba),k.lineTo(l,u),w&&f.lineTo(l,u),0==t%250&&c()),q={x:l,y:u},t<C.length-1&&(z!==(C[t].lineColor||A)||O!==(C[t].lineDashType||h.lineDashType))&&(c(),z=C[t].lineColor||A,k.strokeStyle=z,k.setLineDash&&(C[t].lineDashType?(O=C[t].lineDashType,k.setLineDash(R(O,h.lineThickness))):(O=h.lineDashType,k.setLineDash($)))),r=h.dataPointIds[t],this._eventManager.objectMap[r]={id:r,objectType:"dataPoint",dataSeriesIndex:s,dataPointIndex:t,x1:l,y1:u},0!==C[t].markerSize&&(0<C[t].markerSize||0<h.markerSize)&&(ba=
|
|
408
|
+
h.getMarkerProperties(t,l,u,k),L.push(ba),r=T(r),w&&L.push({x:l,y:u,ctx:f,type:ba.type,size:ba.size,color:r,borderColor:r,borderThickness:ba.borderThickness})),(C[t].indexLabel||h.indexLabel||C[t].indexLabelFormatter||h.indexLabelFormatter)&&this._indexLabels.push({chartType:"stepArea",dataPoint:C[t],dataSeries:h,point:{x:l,y:u},direction:0>C[t].y===a.axisY.reversed?1:-1,color:H}))}c();m.drawMarkers(L)}}w&&(e.drawImage(this._preRenderCanvas,0,0,this.width,this.height),k.globalCompositeOperation="source-atop",
|
|
409
|
+
a.axisX.maskCanvas&&k.drawImage(a.axisX.maskCanvas,0,0,this.width,this.height),a.axisY.maskCanvas&&k.drawImage(a.axisY.maskCanvas,0,0,this.width,this.height),this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),k.clearRect(n.x1,n.y1,n.width,n.height),this._eventManager.ghostCtx.restore());k.restore();return{source:e,dest:this.plotArea.ctx,animationCallback:E.xClipAnimation,easingFunction:E.easing.linear,animationBase:0}}};v.prototype.renderStackedArea=
|
|
410
|
+
function(a){function g(){if(!(1>n.length)){for(0<H.lineThickness&&c.stroke();0<n.length;){var a=n.pop();c.lineTo(a.x,a.y);w&&l.lineTo(a.x,a.y)}c.closePath();c.globalAlpha=H.fillOpacity;c.fill();c.globalAlpha=1;c.beginPath();w&&(l.closePath(),l.fill(),l.beginPath());n=[]}}var b=a.targetCanvasCtx||this.plotArea.ctx,c=w?this._preRenderCtx:b;if(!(0>=a.dataSeriesIndexes.length)){var e=null,k=null,f=[],d=this.plotArea,L=[],n=[],q=[],p=[],s=0,h,C,t=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:
|
|
411
|
+
0),l=this._eventManager.ghostCtx,u,r,x;w&&l.beginPath();c.save();w&&l.save();c.beginPath();c.rect(d.x1,d.y1,d.width,d.height);c.clip();w&&(l.beginPath(),l.rect(d.x1,d.y1,d.width,d.height),l.clip());for(var e=[],v=0;v<a.dataSeriesIndexes.length;v++){var y=a.dataSeriesIndexes[v],H=this.data[y],A=H.dataPoints;H.dataPointIndexes=[];for(s=0;s<A.length;s++)y=A[s].x.getTime?A[s].x.getTime():A[s].x,H.dataPointIndexes[y]=s,e[y]||(q.push(y),e[y]=!0);q.sort(Wa)}for(v=0;v<a.dataSeriesIndexes.length;v++){y=a.dataSeriesIndexes[v];
|
|
412
|
+
H=this.data[y];A=H.dataPoints;r=!0;n=[];s=H.id;this._eventManager.objectMap[s]={objectType:"dataSeries",dataSeriesIndex:y};s=T(s);l.fillStyle=s;if(0<q.length){var e=H._colorSet[0],z=H.lineColor=H.options.lineColor||e,O=z;c.fillStyle=e;c.strokeStyle=z;c.lineWidth=H.lineThickness;x="solid";if(c.setLineDash){var Q=R(H.nullDataLineDashType,H.lineThickness);x=H.lineDashType;var $=R(x,H.lineThickness);c.setLineDash($)}for(var ba=!0,s=0;s<q.length;s++){var k=q[s],ia=null,ia=0<=H.dataPointIndexes[k]?A[H.dataPointIndexes[k]]:
|
|
413
|
+
{x:k,y:null};if(!(k<a.axisX.dataInfo.viewPortMin||k>a.axisX.dataInfo.viewPortMax&&(!H.connectNullData||!ba)))if("number"!==typeof ia.y)H.connectNullData||(ba||r)||g(),ba=!0;else{h=a.axisX.convertValueToPixel(k);var ta=L[k]?L[k]:0;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length){p[k]=ia.y+(p[k]?p[k]:0);if(0>=p[k]&&a.axisY.logarithmic)continue;C=a.axisY.convertValueToPixel(p[k])}else C=a.axisY.convertValueToPixel(ia.y),C-=ta;n.push({x:h,y:t-ta});L[k]=t-C;r||
|
|
414
|
+
ba?(!r&&H.connectNullData?(c.setLineDash&&(H.options.nullDataLineDashType||x===H.lineDashType&&H.lineDashType!==H.nullDataLineDashType)&&(r=n.pop(),x=n[n.length-1],g(),c.moveTo(u.x,u.y),n.push(x),n.push(r),x=H.nullDataLineDashType,c.setLineDash(Q)),c.lineTo(h,C),w&&l.lineTo(h,C)):(c.beginPath(),c.moveTo(h,C),w&&(l.beginPath(),l.moveTo(h,C))),ba=r=!1):(c.lineTo(h,C),w&&l.lineTo(h,C),0==s%250&&(g(),c.moveTo(h,C),w&&l.moveTo(h,C),n.push({x:h,y:t-ta})));u={x:h,y:C};s<A.length-1&&(O!==(A[s].lineColor||
|
|
415
|
+
z)||x!==(A[s].lineDashType||H.lineDashType))&&(g(),c.beginPath(),c.moveTo(h,C),n.push({x:h,y:t-ta}),O=A[s].lineColor||z,c.strokeStyle=O,c.setLineDash&&(A[s].lineDashType?(x=A[s].lineDashType,c.setLineDash(R(x,H.lineThickness))):(x=H.lineDashType,c.setLineDash($))));if(0<=H.dataPointIndexes[k]){var ea=H.dataPointIds[H.dataPointIndexes[k]];this._eventManager.objectMap[ea]={id:ea,objectType:"dataPoint",dataSeriesIndex:y,dataPointIndex:H.dataPointIndexes[k],x1:h,y1:C}}0<=H.dataPointIndexes[k]&&0!==ia.markerSize&&
|
|
416
|
+
(0<ia.markerSize||0<H.markerSize)&&(ta=H.getMarkerProperties(H.dataPointIndexes[k],h,C,c),f.push(ta),k=T(ea),w&&f.push({x:h,y:C,ctx:l,type:ta.type,size:ta.size,color:k,borderColor:k,borderThickness:ta.borderThickness}));(ia.indexLabel||H.indexLabel||ia.indexLabelFormatter||H.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedArea",dataPoint:ia,dataSeries:H,point:{x:h,y:C},direction:0>ia.y===a.axisY.reversed?1:-1,color:e})}}g();c.moveTo(h,C);w&&l.moveTo(h,C)}delete H.dataPointIndexes}m.drawMarkers(f);
|
|
417
|
+
w&&(b.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),l.restore());c.restore();return{source:b,dest:this.plotArea.ctx,animationCallback:E.xClipAnimation,
|
|
418
|
+
easingFunction:E.easing.linear,animationBase:0}}};v.prototype.renderStackedArea100=function(a){function g(){for(0<H.lineThickness&&c.stroke();0<n.length;){var a=n.pop();c.lineTo(a.x,a.y);w&&x.lineTo(a.x,a.y)}c.closePath();c.globalAlpha=H.fillOpacity;c.fill();c.globalAlpha=1;c.beginPath();w&&(x.closePath(),x.fill(),x.beginPath());n=[]}var b=a.targetCanvasCtx||this.plotArea.ctx,c=w?this._preRenderCtx:b;if(!(0>=a.dataSeriesIndexes.length)){var e=null,k=null,f=this.plotArea,d=[],l=[],n=[],q=[],p=[],s=
|
|
419
|
+
0,h,C,t,r,u,D=a.axisY.convertValueToPixel(a.axisY.logarithmic?a.axisY.viewportMinimum:0),x=this._eventManager.ghostCtx;c.save();w&&x.save();c.beginPath();c.rect(f.x1,f.y1,f.width,f.height);c.clip();w&&(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 y=a.dataSeriesIndexes[v],H=this.data[y],A=H.dataPoints;H.dataPointIndexes=[];for(s=0;s<A.length;s++)y=A[s].x.getTime?A[s].x.getTime():A[s].x,H.dataPointIndexes[y]=s,e[y]||(q.push(y),e[y]=
|
|
420
|
+
!0);q.sort(Wa)}for(v=0;v<a.dataSeriesIndexes.length;v++){y=a.dataSeriesIndexes[v];H=this.data[y];A=H.dataPoints;r=!0;e=H.id;this._eventManager.objectMap[e]={objectType:"dataSeries",dataSeriesIndex:y};e=T(e);x.fillStyle=e;n=[];if(0<q.length){var e=H._colorSet[s%H._colorSet.length],z=H.lineColor=H.options.lineColor||e,O=z;c.fillStyle=e;c.strokeStyle=z;c.lineWidth=H.lineThickness;u="solid";if(c.setLineDash){var Q=R(H.nullDataLineDashType,H.lineThickness);u=H.lineDashType;var $=R(u,H.lineThickness);c.setLineDash($)}for(var ba=
|
|
421
|
+
!0,s=0;s<q.length;s++){var k=q[s],ia=null,ia=0<=H.dataPointIndexes[k]?A[H.dataPointIndexes[k]]:{x:k,y:null};if(!(k<a.axisX.dataInfo.viewPortMin||k>a.axisX.dataInfo.viewPortMax&&(!H.connectNullData||!ba)))if("number"!==typeof ia.y)H.connectNullData||(ba||r)||g(),ba=!0;else{var ta;ta=0!==a.dataPointYSums[k]?100*(ia.y/a.dataPointYSums[k]):0;h=a.axisX.convertValueToPixel(k);var ea=l[k]?l[k]:0;if(a.axisY.logarithmic||a.axisY.scaleBreaks&&0<a.axisY.scaleBreaks._appliedBreaks.length){p[k]=ta+(p[k]?p[k]:
|
|
422
|
+
0);if(0>=p[k]&&a.axisY.logarithmic)continue;C=a.axisY.convertValueToPixel(p[k])}else C=a.axisY.convertValueToPixel(ta),C-=ea;n.push({x:h,y:D-ea});l[k]=D-C;r||ba?(!r&&H.connectNullData?(c.setLineDash&&(H.options.nullDataLineDashType||u===H.lineDashType&&H.lineDashType!==H.nullDataLineDashType)&&(r=n.pop(),u=n[n.length-1],g(),c.moveTo(t.x,t.y),n.push(u),n.push(r),u=H.nullDataLineDashType,c.setLineDash(Q)),c.lineTo(h,C),w&&x.lineTo(h,C)):(c.beginPath(),c.moveTo(h,C),w&&(x.beginPath(),x.moveTo(h,C))),
|
|
423
|
+
ba=r=!1):(c.lineTo(h,C),w&&x.lineTo(h,C),0==s%250&&(g(),c.moveTo(h,C),w&&x.moveTo(h,C),n.push({x:h,y:D-ea})));t={x:h,y:C};s<A.length-1&&(O!==(A[s].lineColor||z)||u!==(A[s].lineDashType||H.lineDashType))&&(g(),c.beginPath(),c.moveTo(h,C),n.push({x:h,y:D-ea}),O=A[s].lineColor||z,c.strokeStyle=O,c.setLineDash&&(A[s].lineDashType?(u=A[s].lineDashType,c.setLineDash(R(u,H.lineThickness))):(u=H.lineDashType,c.setLineDash($))));if(0<=H.dataPointIndexes[k]){var I=H.dataPointIds[H.dataPointIndexes[k]];this._eventManager.objectMap[I]=
|
|
424
|
+
{id:I,objectType:"dataPoint",dataSeriesIndex:y,dataPointIndex:H.dataPointIndexes[k],x1:h,y1:C}}0<=H.dataPointIndexes[k]&&0!==ia.markerSize&&(0<ia.markerSize||0<H.markerSize)&&(ea=H.getMarkerProperties(H.dataPointIndexes[k],h,C,c),d.push(ea),k=T(I),w&&d.push({x:h,y:C,ctx:x,type:ea.type,size:ea.size,color:k,borderColor:k,borderThickness:ea.borderThickness}));(ia.indexLabel||H.indexLabel||ia.indexLabelFormatter||H.indexLabelFormatter)&&this._indexLabels.push({chartType:"stackedArea100",dataPoint:ia,
|
|
425
|
+
dataSeries:H,point:{x:h,y:C},direction:0>ia.y===a.axisY.reversed?1:-1,color:e})}}g();c.moveTo(h,C);w&&x.moveTo(h,C)}delete H.dataPointIndexes}m.drawMarkers(d);w&&(b.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,
|
|
426
|
+
0,0,this.width,this.height),c.clearRect(f.x1,f.y1,f.width,f.height),x.restore());c.restore();return{source:b,dest:this.plotArea.ctx,animationCallback:E.xClipAnimation,easingFunction:E.easing.linear,animationBase:0}}};v.prototype.renderBubble=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=this.plotArea,e=0,k,f;b.save();w&&this._eventManager.ghostCtx.save();b.beginPath();b.rect(c.x1,c.y1,c.width,c.height);b.clip();w&&(this._eventManager.ghostCtx.beginPath(),
|
|
427
|
+
this._eventManager.ghostCtx.rect(c.x1,c.y1,c.width,c.height),this._eventManager.ghostCtx.clip());for(var d=-Infinity,l=Infinity,n=0;n<a.dataSeriesIndexes.length;n++)for(var q=a.dataSeriesIndexes[n],p=this.data[q],s=p.dataPoints,h=0,e=0;e<s.length;e++)k=s[e].getTime?k=s[e].x.getTime():k=s[e].x,k<a.axisX.dataInfo.viewPortMin||k>a.axisX.dataInfo.viewPortMax||"undefined"===typeof s[e].z||(h=s[e].z,h>d&&(d=h),h<l&&(l=h));for(var C=25*Math.PI,t=Math.max(Math.pow(0.25*Math.min(c.height,c.width)/2,2)*Math.PI,
|
|
428
|
+
C),n=0;n<a.dataSeriesIndexes.length;n++)if(q=a.dataSeriesIndexes[n],p=this.data[q],s=p.dataPoints,0<s.length)for(b.strokeStyle="#4572A7 ",e=0;e<s.length;e++)if(k=s[e].getTime?k=s[e].x.getTime():k=s[e].x,!(k<a.axisX.dataInfo.viewPortMin||k>a.axisX.dataInfo.viewPortMax)&&"number"===typeof s[e].y){k=a.axisX.convertValueToPixel(k);f=a.axisY.convertValueToPixel(s[e].y);var h=s[e].z,r=2*Math.max(Math.sqrt((d===l?t/2:C+(t-C)/(d-l)*(h-l))/Math.PI)<<0,1),h=p.getMarkerProperties(e,b);h.size=r;b.globalAlpha=
|
|
429
|
+
p.fillOpacity;m.drawMarker(k,f,b,h.type,h.size,h.color,h.borderColor,h.borderThickness);b.globalAlpha=1;var u=p.dataPointIds[e];this._eventManager.objectMap[u]={id:u,objectType:"dataPoint",dataSeriesIndex:q,dataPointIndex:e,x1:k,y1:f,size:r};r=T(u);w&&m.drawMarker(k,f,this._eventManager.ghostCtx,h.type,h.size,r,r,h.borderThickness);(s[e].indexLabel||p.indexLabel||s[e].indexLabelFormatter||p.indexLabelFormatter)&&this._indexLabels.push({chartType:"bubble",dataPoint:s[e],dataSeries:p,point:{x:k,y:f},
|
|
430
|
+
direction:1,bounds:{x1:k-h.size/2,y1:f-h.size/2,x2:k+h.size/2,y2:f+h.size/2},color:null})}w&&(g.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(c.x1,c.y1,c.width,c.height),this._eventManager.ghostCtx.restore());
|
|
431
|
+
b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:E.fadeInAnimation,easingFunction:E.easing.easeInQuad,animationBase:0}}};v.prototype.renderScatter=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=this.plotArea,e=0,k,f;b.save();w&&this._eventManager.ghostCtx.save();b.beginPath();b.rect(c.x1,c.y1,c.width,c.height);b.clip();w&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(c.x1,c.y1,
|
|
432
|
+
c.width,c.height),this._eventManager.ghostCtx.clip());for(var d=0;d<a.dataSeriesIndexes.length;d++){var l=a.dataSeriesIndexes[d],n=this.data[l],q=n.dataPoints;if(0<q.length){b.strokeStyle="#4572A7 ";Math.pow(0.3*Math.min(c.height,c.width)/2,2);for(var p=0,s=0,e=0;e<q.length;e++)if(k=q[e].getTime?k=q[e].x.getTime():k=q[e].x,!(k<a.axisX.dataInfo.viewPortMin||k>a.axisX.dataInfo.viewPortMax)&&"number"===typeof q[e].y){k=a.axisX.convertValueToPixel(k);f=a.axisY.convertValueToPixel(q[e].y);var h=n.getMarkerProperties(e,
|
|
433
|
+
k,f,b);b.globalAlpha=n.fillOpacity;m.drawMarker(h.x,h.y,h.ctx,h.type,h.size,h.color,h.borderColor,h.borderThickness);b.globalAlpha=1;Math.sqrt((p-k)*(p-k)+(s-f)*(s-f))<Math.min(h.size,5)&&q.length>Math.min(this.plotArea.width,this.plotArea.height)||(p=n.dataPointIds[e],this._eventManager.objectMap[p]={id:p,objectType:"dataPoint",dataSeriesIndex:l,dataPointIndex:e,x1:k,y1:f},p=T(p),w&&m.drawMarker(h.x,h.y,this._eventManager.ghostCtx,h.type,h.size,p,p,h.borderThickness),(q[e].indexLabel||n.indexLabel||
|
|
434
|
+
q[e].indexLabelFormatter||n.indexLabelFormatter)&&this._indexLabels.push({chartType:"scatter",dataPoint:q[e],dataSeries:n,point:{x:k,y:f},direction:1,bounds:{x1:k-h.size/2,y1:f-h.size/2,x2:k+h.size/2,y2:f+h.size/2},color:null}),p=k,s=f)}}}w&&(g.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),
|
|
435
|
+
this._breaksCanvasCtx&&this._breaksCanvasCtx.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.clearRect(c.x1,c.y1,c.width,c.height),this._eventManager.ghostCtx.restore());b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:E.fadeInAnimation,easingFunction:E.easing.easeInQuad,animationBase:0}}};v.prototype.renderCandlestick=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g,c=this._eventManager.ghostCtx;if(!(0>=a.dataSeriesIndexes.length)){var e=
|
|
436
|
+
null,k=null,d=this.plotArea,m=0,l,n,q,p,s,h,e=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,k=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.015*this.width,t=a.axisX.dataInfo.minDiff;isFinite(t)||(t=0.3*Math.abs(a.axisX.range));t=this.options.dataPointWidth?this.dataPointWidth:0.7*d.width*(a.axisX.logarithmic?Math.log(t)/Math.log(a.axisX.range):Math.abs(t)/Math.abs(a.axisX.range))<<0;
|
|
437
|
+
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));t<e&&(t=e);t>k&&(t=k);b.save();w&&c.save();b.beginPath();b.rect(d.x1,d.y1,d.width,d.height);b.clip();w&&(c.beginPath(),c.rect(d.x1,d.y1,d.width,d.height),c.clip());for(var r=0;r<a.dataSeriesIndexes.length;r++){var v=a.dataSeriesIndexes[r],u=this.data[v],D=u.dataPoints;
|
|
438
|
+
if(0<D.length)for(var x=5<t&&u.bevelEnabled?!0:!1,m=0;m<D.length;m++)if(D[m].getTime?h=D[m].x.getTime():h=D[m].x,!(h<a.axisX.dataInfo.viewPortMin||h>a.axisX.dataInfo.viewPortMax)&&!f(D[m].y)&&D[m].y.length&&"number"===typeof D[m].y[0]&&"number"===typeof D[m].y[1]&&"number"===typeof D[m].y[2]&&"number"===typeof D[m].y[3]){l=a.axisX.convertValueToPixel(h);n=a.axisY.convertValueToPixel(D[m].y[0]);q=a.axisY.convertValueToPixel(D[m].y[1]);p=a.axisY.convertValueToPixel(D[m].y[2]);s=a.axisY.convertValueToPixel(D[m].y[3]);
|
|
439
|
+
var y=l-t/2<<0,A=y+t<<0,k=u.options.fallingColor?u.fallingColor:u._colorSet[0],e=D[m].color?D[m].color:u._colorSet[0],H=Math.round(Math.max(1,0.15*t)),z=0===H%2?0:0.5,F=u.dataPointIds[m];this._eventManager.objectMap[F]={id:F,objectType:"dataPoint",dataSeriesIndex:v,dataPointIndex:m,x1:y,y1:n,x2:A,y2:q,x3:l,y3:p,x4:l,y4:s,borderThickness:H,color:e};b.strokeStyle=e;b.beginPath();b.lineWidth=H;c.lineWidth=Math.max(H,4);"candlestick"===u.type?(b.moveTo(l-z,q),b.lineTo(l-z,Math.min(n,s)),b.stroke(),b.moveTo(l-
|
|
440
|
+
z,Math.max(n,s)),b.lineTo(l-z,p),b.stroke(),P(b,y,Math.min(n,s),A,Math.max(n,s),D[m].y[0]<=D[m].y[3]?u.risingColor:k,H,e,x,x,!1,!1,u.fillOpacity),w&&(e=T(F),c.strokeStyle=e,c.moveTo(l-z,q),c.lineTo(l-z,Math.min(n,s)),c.stroke(),c.moveTo(l-z,Math.max(n,s)),c.lineTo(l-z,p),c.stroke(),P(c,y,Math.min(n,s),A,Math.max(n,s),e,0,null,!1,!1,!1,!1))):"ohlc"===u.type&&(b.moveTo(l-z,q),b.lineTo(l-z,p),b.stroke(),b.beginPath(),b.moveTo(l,n),b.lineTo(y,n),b.stroke(),b.beginPath(),b.moveTo(l,s),b.lineTo(A,s),b.stroke(),
|
|
441
|
+
w&&(e=T(F),c.strokeStyle=e,c.moveTo(l-z,q),c.lineTo(l-z,p),c.stroke(),c.beginPath(),c.moveTo(l,n),c.lineTo(y,n),c.stroke(),c.beginPath(),c.moveTo(l,s),c.lineTo(A,s),c.stroke()));(D[m].indexLabel||u.indexLabel||D[m].indexLabelFormatter||u.indexLabelFormatter)&&this._indexLabels.push({chartType:u.type,dataPoint:D[m],dataSeries:u,point:{x:y+(A-y)/2,y:a.axisY.reversed?p:q},direction:1,bounds:{x1:y,y1:Math.min(q,p),x2:A,y2:Math.max(q,p)},color:e})}}w&&(g.drawImage(this._preRenderCanvas,0,0,this.width,
|
|
442
|
+
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),c.restore());b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:E.fadeInAnimation,easingFunction:E.easing.easeInQuad,animationBase:0}}};
|
|
443
|
+
v.prototype.renderBoxAndWhisker=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g,c=this._eventManager.ghostCtx;if(!(0>=a.dataSeriesIndexes.length)){var e=null,k=this.plotArea,d=0,m,l,n,q,p,s,h,e=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1,d=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:0.015*this.width,t=a.axisX.dataInfo.minDiff;isFinite(t)||(t=0.3*Math.abs(a.axisX.range));
|
|
444
|
+
t=this.options.dataPointWidth?this.dataPointWidth:0.7*k.width*(a.axisX.logarithmic?Math.log(t)/Math.log(a.axisX.range):Math.abs(t)/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?this.dataPointWidth:-Infinity,e));t<e&&(t=e);t>d&&(t=d);b.save();w&&c.save();b.beginPath();b.rect(k.x1,k.y1,k.width,k.height);b.clip();w&&(c.beginPath(),
|
|
445
|
+
c.rect(k.x1,k.y1,k.width,k.height),c.clip());for(var r=!1,r=!!a.axisY.reversed,v=0;v<a.dataSeriesIndexes.length;v++){var u=a.dataSeriesIndexes[v],D=this.data[u],x=D.dataPoints;if(0<x.length)for(var y=5<t&&D.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)&&!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"===
|
|
446
|
+
typeof x[d].y[4]&&5===x[d].y.length){m=a.axisX.convertValueToPixel(h);l=a.axisY.convertValueToPixel(x[d].y[0]);n=a.axisY.convertValueToPixel(x[d].y[1]);q=a.axisY.convertValueToPixel(x[d].y[2]);p=a.axisY.convertValueToPixel(x[d].y[3]);s=a.axisY.convertValueToPixel(x[d].y[4]);var A=m-t/2<<0,H=m+t/2<<0,e=x[d].color?x[d].color:D._colorSet[0],z=Math.round(Math.max(1,0.15*t)),F=0===z%2?0:0.5,O=x[d].whiskerColor?x[d].whiskerColor:x[d].color?D.whiskerColor?D.whiskerColor:x[d].color:D.whiskerColor?D.whiskerColor:
|
|
447
|
+
e,Q="number"===typeof x[d].whiskerThickness?x[d].whiskerThickness:"number"===typeof D.options.whiskerThickness?D.whiskerThickness:z,$=x[d].whiskerDashType?x[d].whiskerDashType:D.whiskerDashType,ba=f(x[d].whiskerLength)?f(D.options.whiskerLength)?t:D.whiskerLength:x[d].whiskerLength,ba="number"===typeof ba?0>=ba?0:ba>=t?t:ba:"string"===typeof ba?parseInt(ba)*t/100>t?t:parseInt(ba)*t/100:t,ia=1===Math.round(Q)%2?0.5:0,ta=x[d].stemColor?x[d].stemColor:x[d].color?D.stemColor?D.stemColor:x[d].color:D.stemColor?
|
|
448
|
+
D.stemColor:e,ea="number"===typeof x[d].stemThickness?x[d].stemThickness:"number"===typeof D.options.stemThickness?D.stemThickness:z,I=1===Math.round(ea)%2?0.5:0,G=x[d].stemDashType?x[d].stemDashType:D.stemDashType,M=x[d].lineColor?x[d].lineColor:x[d].color?D.lineColor?D.lineColor:x[d].color:D.lineColor?D.lineColor:e,N="number"===typeof x[d].lineThickness?x[d].lineThickness:"number"===typeof D.options.lineThickness?D.lineThickness:z,S=x[d].lineDashType?x[d].lineDashType:D.lineDashType,ca=1===Math.round(N)%
|
|
449
|
+
2?0.5:0,Y=D.upperBoxColor,tb=D.lowerBoxColor,Z=f(D.options.fillOpacity)?1:D.fillOpacity,J=D.dataPointIds[d];this._eventManager.objectMap[J]={id:J,objectType:"dataPoint",dataSeriesIndex:u,dataPointIndex:d,x1:A,y1:l,x2:H,y2:n,x3:m,y3:q,x4:m,y4:p,y5:s,borderThickness:z,color:e,stemThickness:ea,stemColor:ta,whiskerThickness:Q,whiskerLength:ba,whiskerColor:O,lineThickness:N,lineColor:M};b.save();0<ea&&(b.beginPath(),b.strokeStyle=ta,b.lineWidth=ea,b.setLineDash&&b.setLineDash(R(G,ea)),b.moveTo(m-I,n),
|
|
450
|
+
b.lineTo(m-I,l),b.stroke(),b.moveTo(m-I,p),b.lineTo(m-I,q),b.stroke());b.restore();c.lineWidth=Math.max(z,4);b.beginPath();P(b,A,Math.min(s,n),H,Math.max(n,s),tb,0,e,r?y:!1,r?!1:y,!1,!1,Z);b.beginPath();P(b,A,Math.min(q,s),H,Math.max(s,q),Y,0,e,r?!1:y,r?y:!1,!1,!1,Z);b.beginPath();b.lineWidth=z;b.strokeStyle=e;b.rect(A-F,Math.min(n,q)-F,H-A+2*F,Math.max(n,q)-Math.min(n,q)+2*F);b.stroke();b.save();0<N&&(b.beginPath(),b.globalAlpha=1,b.setLineDash&&b.setLineDash(R(S,N)),b.strokeStyle=M,b.lineWidth=
|
|
451
|
+
N,b.moveTo(A,s-ca),b.lineTo(H,s-ca),b.stroke());b.restore();b.save();0<Q&&(b.beginPath(),b.setLineDash&&b.setLineDash(R($,Q)),b.strokeStyle=O,b.lineWidth=Q,b.moveTo(m-ba/2<<0,p-ia),b.lineTo(m+ba/2<<0,p-ia),b.stroke(),b.moveTo(m-ba/2<<0,l+ia),b.lineTo(m+ba/2<<0,l+ia),b.stroke());b.restore();w&&(e=T(J),c.strokeStyle=e,c.lineWidth=ea,0<ea&&(c.moveTo(m-F-I,n),c.lineTo(m-F-I,Math.max(l,p)),c.stroke(),c.moveTo(m-F-I,Math.min(l,p)),c.lineTo(m-F-I,q),c.stroke()),P(c,A,Math.max(n,q),H,Math.min(n,q),e,0,null,
|
|
452
|
+
!1,!1,!1,!1),0<Q&&(c.beginPath(),c.lineWidth=Q,c.moveTo(m+ba/2,p-ia),c.lineTo(m-ba/2,p-ia),c.stroke(),c.moveTo(m+ba/2,l+ia),c.lineTo(m-ba/2,l+ia),c.stroke()));(x[d].indexLabel||D.indexLabel||x[d].indexLabelFormatter||D.indexLabelFormatter)&&this._indexLabels.push({chartType:D.type,dataPoint:x[d],dataSeries:D,point:{x:A+(H-A)/2,y:a.axisY.reversed?l:p},direction:1,bounds:{x1:A,y1:Math.min(l,p),x2:H,y2:Math.max(l,p)},color:e})}}w&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation=
|
|
453
|
+
"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(k.x1,k.y1,k.width,k.height),c.restore());b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:E.fadeInAnimation,easingFunction:E.easing.easeInQuad,animationBase:0}}};v.prototype.renderRangeColumn=
|
|
454
|
+
function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=null,e=this.plotArea,k=0,d,m,l,k=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;d=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth: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:
|
|
455
|
+
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&&k>d&&(k=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,d));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&d<k)&&(d=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,k));n<k&&(n=k);n>d&&(n=d);b.save();w&&this._eventManager.ghostCtx.save();b.beginPath();b.rect(e.x1,e.y1,e.width,e.height);b.clip();w&&(this._eventManager.ghostCtx.beginPath(),
|
|
456
|
+
this._eventManager.ghostCtx.rect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.clip());for(var q=0;q<a.dataSeriesIndexes.length;q++){var p=a.dataSeriesIndexes[q],s=this.data[p],h=s.dataPoints;if(0<h.length)for(var t=5<n&&s.bevelEnabled?!0:!1,k=0;k<h.length;k++)if(h[k].getTime?l=h[k].x.getTime():l=h[k].x,!(l<a.axisX.dataInfo.viewPortMin||l>a.axisX.dataInfo.viewPortMax)&&!f(h[k].y)&&h[k].y.length&&"number"===typeof h[k].y[0]&&"number"===typeof h[k].y[1]){c=a.axisX.convertValueToPixel(l);d=
|
|
457
|
+
a.axisY.convertValueToPixel(h[k].y[0]);m=a.axisY.convertValueToPixel(h[k].y[1]);var r=a.axisX.reversed?c+a.plotType.totalDataSeries*n/2-(a.previousDataSeriesCount+q)*n<<0:c-a.plotType.totalDataSeries*n/2+(a.previousDataSeriesCount+q)*n<<0,v=a.axisX.reversed?r-n<<0:r+n<<0,c=h[k].color?h[k].color:s._colorSet[k%s._colorSet.length];if(d>m){var u=d;d=m;m=u}u=s.dataPointIds[k];this._eventManager.objectMap[u]={id:u,objectType:"dataPoint",dataSeriesIndex:p,dataPointIndex:k,x1:r,y1:d,x2:v,y2:m};P(b,a.axisX.reversed?
|
|
458
|
+
v:r,d,a.axisX.reversed?r:v,m,c,0,c,t,t,!1,!1,s.fillOpacity);c=T(u);w&&P(this._eventManager.ghostCtx,a.axisX.reversed?v:r,d,a.axisX.reversed?r:v,m,c,0,null,!1,!1,!1,!1);if(h[k].indexLabel||s.indexLabel||h[k].indexLabelFormatter||s.indexLabelFormatter)this._indexLabels.push({chartType:"rangeColumn",dataPoint:h[k],dataSeries:s,indexKeyword:0,point:{x:r+(v-r)/2,y:h[k].y[1]>=h[k].y[0]?m:d},direction:h[k].y[1]>=h[k].y[0]?-1:1,bounds:{x1:r,y1:Math.min(d,m),x2:v,y2:Math.max(d,m)},color:c}),this._indexLabels.push({chartType:"rangeColumn",
|
|
459
|
+
dataPoint:h[k],dataSeries:s,indexKeyword:1,point:{x:r+(v-r)/2,y:h[k].y[1]>=h[k].y[0]?d:m},direction:h[k].y[1]>=h[k].y[0]?1:-1,bounds:{x1:r,y1:Math.min(d,m),x2:v,y2:Math.max(d,m)},color:c})}}w&&(g.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,
|
|
460
|
+
0,0,this.width,this.height),b.clearRect(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:E.fadeInAnimation,easingFunction:E.easing.easeInQuad,animationBase:0}}};v.prototype.renderError=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g,c=a.axisY._position?"left"===a.axisY._position||"right"===a.axisY._position?!1:!0:!1;if(!(0>=a.dataSeriesIndexes.length)){var e=null,k=!1,d=this.plotArea,
|
|
461
|
+
m=0,l,n,q,p,s,h,t,r=a.axisX.dataInfo.minDiff;isFinite(r)||(r=0.3*Math.abs(a.axisX.range));b.save();w&&this._eventManager.ghostCtx.save();b.beginPath();b.rect(d.x1,d.y1,d.width,d.height);b.clip();w&&(this._eventManager.ghostCtx.beginPath(),this._eventManager.ghostCtx.rect(d.x1,d.y1,d.width,d.height),this._eventManager.ghostCtx.clip());for(var v=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)&&v||v++;for(var D=0;D<
|
|
462
|
+
a.dataSeriesIndexes.length;D++){var x=a.dataSeriesIndexes[D],A=this.data[x],z=A.dataPoints,H=f(A._linkedSeries)?!1:A._linkedSeries.type.match(/(bar|column)/ig)&&A._linkedSeries.visible?!0:!1,F=0;if(H)for(e=A._linkedSeries.id,u=0;u<e;u++)!this.data[u].type.match(/(bar|column)/ig)||!this.data[u].visible||this.data[u].type.match(/(stacked)/ig)&&F||(this.data[u].type.match(/(range)/ig)&&(k=!0),F++);e=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:
|
|
463
|
+
1;m=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:c?Math.min(0.15*this.height,0.9*(this.plotArea.height/(H?v:1)))<<0:0.3*this.width;k&&(m=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?this.dataPointWidth:c?Math.min(0.15*this.height,0.9*(this.plotArea.height/(H?v:1)))<<0:0.03*this.width);u=this.options.dataPointWidth?this.dataPointWidth:0.9*((c?d.height:d.width)*(a.axisX.logarithmic?Math.log(r)/Math.log(a.axisX.range):
|
|
464
|
+
Math.abs(r)/Math.abs(a.axisX.range))/(H?v:1))<<0;this.dataPointMaxWidth&&e>m&&(e=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,m));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&m<e)&&(m=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,e));u<e&&(u=e);u>m&&(u=m);if(0<z.length)for(var G=A._colorSet,m=0;m<z.length;m++){var e=A.lineColor=A.options.color?A.options.color:G[0],O={color:z[m].whiskerColor?z[m].whiskerColor:z[m].color?A.whiskerColor?A.whiskerColor:z[m].color:
|
|
465
|
+
A.whiskerColor?A.whiskerColor:e,thickness:f(z[m].whiskerThickness)?A.whiskerThickness:z[m].whiskerThickness,dashType:z[m].whiskerDashType?z[m].whiskerDashType:A.whiskerDashType,length:f(z[m].whiskerLength)?f(A.options.whiskerLength)?u:A.options.whiskerLength:z[m].whiskerLength,trimLength:f(z[m].whiskerLength)?f(A.options.whiskerLength)?50:0:0};O.length="number"===typeof O.length?0>=O.length?0:O.length>=u?u:O.length:"string"===typeof O.length?parseInt(O.length)*u/100>u?u:parseInt(O.length)*u/100>u:
|
|
466
|
+
u;O.thickness="number"===typeof O.thickness?0>O.thickness?0:Math.round(O.thickness):2;var Q={color:z[m].stemColor?z[m].stemColor:z[m].color?A.stemColor?A.stemColor:z[m].color:A.stemColor?A.stemColor:e,thickness:z[m].stemThickness?z[m].stemThickness:A.stemThickness,dashType:z[m].stemDashType?z[m].stemDashType:A.stemDashType};Q.thickness="number"===typeof Q.thickness?0>Q.thickness?0:Math.round(Q.thickness):2;z[m].getTime?t=z[m].x.getTime():t=z[m].x;if(!(t<a.axisX.dataInfo.viewPortMin||t>a.axisX.dataInfo.viewPortMax)&&
|
|
467
|
+
!f(z[m].y)&&z[m].y.length&&"number"===typeof z[m].y[0]&&"number"===typeof z[m].y[1]){var $=a.axisX.convertValueToPixel(t);c?n=$:l=$;$=a.axisY.convertValueToPixel(z[m].y[0]);c?q=$:s=$;$=a.axisY.convertValueToPixel(z[m].y[1]);c?p=$:h=$;c?(s=a.axisX.reversed?n+(H?v:1)*u/2-(H?F-1:0)*u<<0:n-(H?v:1)*u/2+(H?F-1:0)*u<<0,h=a.axisX.reversed?s-u<<0:s+u<<0):(q=a.axisX.reversed?l+(H?v:1)*u/2-(H?F-1:0)*u<<0:l-(H?v:1)*u/2+(H?F-1:0)*u<<0,p=a.axisX.reversed?q-u<<0:q+u<<0);!c&&s>h&&($=s,s=h,h=$);c&&q>p&&($=q,q=p,p=
|
|
468
|
+
$);$=A.dataPointIds[m];this._eventManager.objectMap[$]={id:$,objectType:"dataPoint",dataSeriesIndex:x,dataPointIndex:m,x1:Math.min(q,p),y1:Math.min(s,h),x2:Math.max(p,q),y2:Math.max(h,s),isXYSwapped:c,stemProperties:Q,whiskerProperties:O};y(b,Math.min(q,p),Math.min(s,h),Math.max(p,q),Math.max(h,s),e,O,Q,c);w&&y(this._eventManager.ghostCtx,q,s,p,h,e,O,Q,c);if(z[m].indexLabel||A.indexLabel||z[m].indexLabelFormatter||A.indexLabelFormatter)this._indexLabels.push({chartType:"error",dataPoint:z[m],dataSeries:A,
|
|
469
|
+
indexKeyword:0,point:{x:c?z[m].y[1]>=z[m].y[0]?q:p:q+(p-q)/2,y:c?s+(h-s)/2:z[m].y[1]>=z[m].y[0]?h:s},direction:z[m].y[1]>=z[m].y[0]?-1:1,bounds:{x1:c?Math.min(q,p):q,y1:c?s:Math.min(s,h),x2:c?Math.max(q,p):p,y2:c?h:Math.max(s,h)},color:e,axisSwapped:c}),this._indexLabels.push({chartType:"error",dataPoint:z[m],dataSeries:A,indexKeyword:1,point:{x:c?z[m].y[1]>=z[m].y[0]?p:q:q+(p-q)/2,y:c?s+(h-s)/2:z[m].y[1]>=z[m].y[0]?s:h},direction:z[m].y[1]>=z[m].y[0]?1:-1,bounds:{x1:c?Math.min(q,p):q,y1:c?s:Math.min(s,
|
|
470
|
+
h),x2:c?Math.max(q,p):p,y2:c?h:Math.max(s,h)},color:e,axisSwapped:c})}}}w&&(g.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());
|
|
471
|
+
b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:E.fadeInAnimation,easingFunction:E.easing.easeInQuad,animationBase:0}}};v.prototype.renderRangeBar=function(a){var g=a.targetCanvasCtx||this.plotArea.ctx,b=w?this._preRenderCtx:g;if(!(0>=a.dataSeriesIndexes.length)){var c=null,e=this.plotArea,k=0,d,m,l,n,k=this.options.dataPointMinWidth?this.dataPointMinWidth:this.options.dataPointWidth?this.dataPointWidth:1;d=this.options.dataPointMaxWidth?this.dataPointMaxWidth:this.options.dataPointWidth?
|
|
472
|
+
this.dataPointWidth:Math.min(0.15*this.height,0.9*(this.plotArea.height/a.plotType.totalDataSeries))<<0;var 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&&k>d&&(k=Math.min(this.options.dataPointWidth?this.dataPointWidth:Infinity,d));!this.dataPointMaxWidth&&(this.dataPointMinWidth&&
|
|
473
|
+
d<k)&&(d=Math.max(this.options.dataPointWidth?this.dataPointWidth:-Infinity,k));q<k&&(q=k);q>d&&(q=d);b.save();w&&this._eventManager.ghostCtx.save();b.beginPath();b.rect(e.x1,e.y1,e.width,e.height);b.clip();w&&(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 s=a.dataSeriesIndexes[p],h=this.data[s],t=h.dataPoints;if(0<t.length){var r=5<q&&h.bevelEnabled?!0:!1;b.strokeStyle=
|
|
474
|
+
"#4572A7 ";for(k=0;k<t.length;k++)if(t[k].getTime?n=t[k].x.getTime():n=t[k].x,!(n<a.axisX.dataInfo.viewPortMin||n>a.axisX.dataInfo.viewPortMax)&&!f(t[k].y)&&t[k].y.length&&"number"===typeof t[k].y[0]&&"number"===typeof t[k].y[1]){d=a.axisY.convertValueToPixel(t[k].y[0]);m=a.axisY.convertValueToPixel(t[k].y[1]);l=a.axisX.convertValueToPixel(n);l=a.axisX.reversed?l+a.plotType.totalDataSeries*q/2-(a.previousDataSeriesCount+p)*q<<0:l-a.plotType.totalDataSeries*q/2+(a.previousDataSeriesCount+p)*q<<0;var v=
|
|
475
|
+
a.axisX.reversed?l-q<<0:l+q<<0;d>m&&(c=d,d=m,m=c);c=t[k].color?t[k].color:h._colorSet[k%h._colorSet.length];P(b,d,a.axisX.reversed?v:l,m,a.axisX.reversed?l:v,c,0,null,r,!1,!1,!1,h.fillOpacity);c=h.dataPointIds[k];this._eventManager.objectMap[c]={id:c,objectType:"dataPoint",dataSeriesIndex:s,dataPointIndex:k,x1:d,y1:l,x2:m,y2:v};c=T(c);w&&P(this._eventManager.ghostCtx,d,a.axisX.reversed?v:l,m,a.axisX.reversed?l:v,c,0,null,!1,!1,!1,!1);if(t[k].indexLabel||h.indexLabel||t[k].indexLabelFormatter||h.indexLabelFormatter)this._indexLabels.push({chartType:"rangeBar",
|
|
476
|
+
dataPoint:t[k],dataSeries:h,indexKeyword:0,point:{x:t[k].y[1]>=t[k].y[0]?d:m,y:l+(v-l)/2},direction:t[k].y[1]>=t[k].y[0]?-1:1,bounds:{x1:Math.min(d,m),y1:l,x2:Math.max(d,m),y2:v},color:c}),this._indexLabels.push({chartType:"rangeBar",dataPoint:t[k],dataSeries:h,indexKeyword:1,point:{x:t[k].y[1]>=t[k].y[0]?m:d,y:l+(v-l)/2},direction:t[k].y[1]>=t[k].y[0]?1:-1,bounds:{x1:Math.min(d,m),y1:l,x2:Math.max(d,m),y2:v},color:c})}}}w&&(g.drawImage(this._preRenderCanvas,0,0,this.width,this.height),b.globalCompositeOperation=
|
|
477
477
|
"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(e.x1,e.y1,e.width,e.height),this._eventManager.ghostCtx.restore());b.restore();return{source:g,dest:this.plotArea.ctx,animationCallback:E.fadeInAnimation,easingFunction:E.easing.easeInQuad,animationBase:0}}};v.prototype.renderRangeArea=
|
|
478
478
|
function(a){function g(){if(D){for(var a=null,b=l.length-1;0<=b;b--)a=l[b],c.lineTo(a.x,a.y2),e.lineTo(a.x,a.y2);c.closePath();c.globalAlpha=q.fillOpacity;c.fill();c.globalAlpha=1;e.fill();if(0<q.lineThickness){c.beginPath();c.moveTo(a.x,a.y2);for(b=0;b<l.length;b++)a=l[b],c.lineTo(a.x,a.y2);c.moveTo(l[0].x,l[0].y1);for(b=0;b<l.length;b++)a=l[b],c.lineTo(a.x,a.y1);c.stroke()}c.beginPath();c.moveTo(t,r);e.beginPath();e.moveTo(t,r);D={x:t,y:r};l=[];l.push({x:t,y1:r,y2:v})}}var b=a.targetCanvasCtx||
|
|
479
479
|
this.plotArea.ctx,c=w?this._preRenderCtx:b;if(!(0>=a.dataSeriesIndexes.length)){var e=this._eventManager.ghostCtx,k=[],d=this.plotArea;c.save();w&&e.save();c.beginPath();c.rect(d.x1,d.y1,d.width,d.height);c.clip();w&&(e.beginPath(),e.rect(d.x1,d.y1,d.width,d.height),e.clip());for(var f=0;f<a.dataSeriesIndexes.length;f++){var l=[],n=a.dataSeriesIndexes[f],q=this.data[n],p=q.dataPoints,k=q.id;this._eventManager.objectMap[k]={objectType:"dataSeries",dataSeriesIndex:n};k=T(k);e.fillStyle=k;var k=[],s=
|
|
@@ -840,8 +840,8 @@ n),t+=2*k*a,n+=2*a,k*=-1;this.ctx.lineTo(t,n);t+=f-c;for(s=0;s<q+1;s++)this.ctx.
|
|
|
840
840
|
2,x2:f,y2:m+p/2},this.ctx.moveTo(c,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,m),this.ctx.lineTo(c,m);else if("wavy"===this.type){t=c;n=e;k=0.5;q=(f-t)/a/3;for(s=0;s<q;s++)this.ctx.bezierCurveTo(t+a,n+k*a,t+2*a,n+k*a,t+3*a,n),t+=3*a,k*=-1;this.ctx.bezierCurveTo(t+a,n+k*a,t+2*a,n+k*a,t+3*a,n);n=m;k*=-1;this.ctx.lineTo(t,n);for(s=0;s<q;s++)this.ctx.bezierCurveTo(t-a,n+k*a,t-2*a,
|
|
841
841
|
n+k*a,t-3*a,n),t-=3*a,k*=-1}else if("zigzag"===this.type){k=1;n=e-a;t=c+a;q=(f-t)/a/2;for(s=0;s<q;s++)this.ctx.lineTo(t,n),n+=2*k*a,t+=2*a,k*=-1;this.ctx.lineTo(t,n);n+=m-e;for(s=0;s<q+1;s++)this.ctx.lineTo(t,n),n+=2*k*a,t-=2*a,k*=-1;this.ctx.lineTo(t+a,n+k*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=b;this.ctx=d}};ha(W,V);W.prototype.createUserOptions=
|
|
842
842
|
function(a){if("undefined"!==typeof a||this.options._isPlaceholder){var d=0;this.parent.options._isPlaceholder&&this.parent.createUserOptions();this.options._isPlaceholder||(va(this.parent.stripLines),d=this.parent.options.stripLines.indexOf(this.options));this.options="undefined"===typeof a?{}:a;this.parent.options.stripLines[d]=this.options}};W.prototype.render=function(){this.ctx.save();var a=this.parent.getPixelCoordinatesOnAxis(this.value),d=Math.abs("pixel"===this._thicknessType?this.thickness:
|
|
843
|
-
Math.abs(this.parent.convertValueToPixel(this.endValue)-this.parent.convertValueToPixel(this.startValue)));if(0<d){var b=null===this.opacity?1:this.opacity;this.ctx.strokeStyle=this.color;this.ctx.beginPath();var c=this.ctx.globalAlpha;this.ctx.globalAlpha=b;T(this.id);var e,f,m
|
|
844
|
-
|
|
843
|
+
Math.abs(this.parent.convertValueToPixel(this.endValue)-this.parent.convertValueToPixel(this.startValue)));if(0<d){var b=null===this.opacity?1:this.opacity;this.ctx.strokeStyle=this.color;this.ctx.beginPath();var c=this.ctx.globalAlpha;this.ctx.globalAlpha=b;T(this.id);var e,k,f,m;this.ctx.lineWidth=d;this.ctx.setLineDash&&this.ctx.setLineDash(R(this.lineDashType,d));if("bottom"===this.parent._position||"top"===this.parent._position)e=k=1===this.ctx.lineWidth%2?(a.x<<0)+0.5:a.x<<0,f=this.chart.plotArea.y1,
|
|
844
|
+
m=this.chart.plotArea.y2,this.bounds={x1:e-d/2,y1:f,x2:k+d/2,y2:m};else if("left"===this.parent._position||"right"===this.parent._position)f=m=1===this.ctx.lineWidth%2?(a.y<<0)+0.5:a.y<<0,e=this.chart.plotArea.x1,k=this.chart.plotArea.x2,this.bounds={x1:e,y1:f-d/2,x2:k,y2:m+d/2};this.ctx.moveTo(e,f);this.ctx.lineTo(k,m);this.ctx.stroke();this.ctx.globalAlpha=c}this.ctx.restore()};ha(X,V);X.prototype.showAt=function(a){if(!this.enabled)return!1;var d=this.chart,b=!1;d.resetOverlayedCanvas();d.clearedOverlayedCanvas=
|
|
845
845
|
this.parent.type;this.chart.renderCrosshairs(this.parent);if("xySwapped"===d.plotInfo.axisPlacement)if("bottom"===this.parent._position)for(var c=0;c<d.axisY.length;c++)this.parent===d.axisY[c]&&(d.axisY[c]._crosshairValue=a>=d.axisY[c].viewportMinimum&&a<=d.axisY[c].viewportMaximum?a:null);else if("top"===this.parent._position)for(c=0;c<d.axisY2.length;c++)this.parent===d.axisY2[c]&&(d.axisY2[c]._crosshairValue=a>=d.axisY2[c].viewportMinimum&&a<=d.axisY2[c].viewportMaximum?a:null);else if("left"===
|
|
846
846
|
this.parent._position)for(c=0;c<d.axisX.length;c++)this.parent===d.axisX[c]&&(d.axisX[c]._crosshairValue=a>=d.axisX[c].viewportMinimum&&a<=d.axisX[c].viewportMaximum?a:null);else{if("right"===this.parent._position)for(c=0;c<d.axisX2.length;c++)this.parent===d.axisX2[c]&&(d.axisX2[c]._crosshairValue=a>=d.axisX2[c].viewportMinimum&&a<=d.axisX2[c].viewportMaximum?a:null)}else if("bottom"===this.parent._position)for(c=0;c<d.axisX.length;c++)this.parent===d.axisX[c]&&(d.axisX[c]._crosshairValue=a>=d.axisX[c].viewportMinimum&&
|
|
847
847
|
a<=d.axisX[c].viewportMaximum?a:null);else if("top"===this.parent._position)for(c=0;c<d.axisX2.length;c++)this.parent===d.axisX2[c]&&(d.axisX2[c]._crosshairValue=a>=d.axisX2[c].viewportMinimum&&a<=d.axisX2[c].viewportMaximum?a:null);else if("left"===this.parent._position)for(c=0;c<d.axisY.length;c++)this.parent===d.axisY[c]&&(d.axisY[c]._crosshairValue=a>=d.axisY[c].viewportMinimum&&a<=d.axisY[c].viewportMaximum?a:null);else if("right"===this.parent._position)for(c=0;c<d.axisY2.length;c++)this.parent===
|
|
@@ -919,15 +919,15 @@ this.fontColor?this.fontColor:"#000000",this.contentDiv.style.fontFamily=this.fo
|
|
|
919
919
|
"stackedBar"===k[0].dataSeries.type||"stackedBar100"===k[0].dataSeries.type?a=a-10-this.container.clientWidth:(a=k[0].dataSeries.axisX.convertValueToPixel(k[0].dataPoint.x)-this.container.clientWidth<<0,a-=10);0>a&&(a=Math.max(0,a+this.container.clientWidth+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!==k.length||this.shared||"line"!==k[0].dataSeries.type&&
|
|
920
920
|
"stepLine"!==k[0].dataSeries.type&&"spline"!==k[0].dataSeries.type&&"area"!==k[0].dataSeries.type&&"stepArea"!==k[0].dataSeries.type&&"splineArea"!==k[0].dataSeries.type?"bar"===k[0].dataSeries.type||"rangeBar"===k[0].dataSeries.type||"stackedBar"===k[0].dataSeries.type||"stackedBar100"===k[0].dataSeries.type?k[0].dataSeries.axisX.convertValueToPixel(k[0].dataPoint.x):d:k[0].dataSeries.axisY.convertValueToPixel(k[0].dataPoint.y);d=-d+10;0<d+this.container.clientHeight+5&&(d-=d+this.container.clientHeight+
|
|
921
921
|
5-0);this.fixMozTransitionDelay(a,d);!this.animationEnabled||m?this.disableAnimation():(this.enableAnimation(),this.container.style.MozTransition=this.mozContainerTransition);this.positionLeft=a;this.positionBottom=d;this.container.style.left=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(c=0;c<k.length;c++)d.push({xValue:k[c].dataPoint.x,dataPoint:k[c].dataPoint,dataSeries:k[c].dataSeries,dataPointIndex:k[c].index,
|
|
922
|
-
dataSeriesIndex:k[c].dataSeries._index});this._updatedEventParameters={chart:this.chart,toolTip:this.options,content:b,entries:d};this._entries=k}}else this.hide(),this.enabled&&this.dispatchEvent("hidden",{chart:this.chart,toolTip:this},this);this._dataSeriesIndex=this._xValue=null}};na.prototype.highlightObjects=function(a){var g=this.chart.overlaidCanvasCtx;
|
|
923
|
-
|
|
924
|
-
|
|
925
|
-
|
|
926
|
-
|
|
927
|
-
c
|
|
928
|
-
|
|
929
|
-
|
|
930
|
-
|
|
922
|
+
dataSeriesIndex:k[c].dataSeries._index});this._updatedEventParameters={chart:this.chart,toolTip:this.options,content:b,entries:d};this._entries=k}}else this.hide(),this.enabled&&this.dispatchEvent("hidden",{chart:this.chart,toolTip:this},this);this._dataSeriesIndex=this._xValue=null}};na.prototype.highlightObjects=function(a){var g=this.chart.overlaidCanvasCtx;f(this.chart.clearedOverlayedCanvas)||"toolTip"===this.chart.clearedOverlayedCanvas?(this.chart.resetOverlayedCanvas(),g.clearRect(0,0,this.chart.width,
|
|
923
|
+
this.chart.height),this.chart.clearedOverlayedCanvas="toolTip"):this.chart.clearedOverlayedCanvas=null;g.save();var b=this.chart.plotArea,c=0;g.beginPath();g.rect(b.x1,b.y1,b.x2-b.x1,b.y2-b.y1);g.clip();for(b=0;b<a.length;b++){var e=a[b];if((e=this.chart._eventManager.objectMap[e.dataSeries.dataPointIds[e.index]])&&e.objectType&&"dataPoint"===e.objectType){var c=this.chart.data[e.dataSeriesIndex],k=c.dataPoints[e.dataPointIndex],l=e.dataPointIndex;!1===k.highlightEnabled||!0!==c.highlightEnabled&&
|
|
924
|
+
!0!==k.highlightEnabled||("line"===c.type||"stepLine"===c.type||"spline"===c.type||"scatter"===c.type||"area"===c.type||"stepArea"===c.type||"splineArea"===c.type||"stackedArea"===c.type||"stackedArea100"===c.type||"rangeArea"===c.type||"rangeSplineArea"===c.type?(k=c.getMarkerProperties(l,e.x1,e.y1,this.chart.overlaidCanvasCtx),k.size=Math.max(1.5*k.size<<0,10),k.borderColor=k.borderColor||"#FFFFFF",k.borderThickness=k.borderThickness||Math.ceil(0.1*k.size),m.drawMarkers([k]),"undefined"!==typeof e.y2&&
|
|
925
|
+
(k=c.getMarkerProperties(l,e.x1,e.y2,this.chart.overlaidCanvasCtx),k.size=Math.max(1.5*k.size<<0,10),k.borderColor=k.borderColor||"#FFFFFF",k.borderThickness=k.borderThickness||Math.ceil(0.1*k.size),m.drawMarkers([k]))):"bubble"===c.type?(k=c.getMarkerProperties(l,e.x1,e.y1,this.chart.overlaidCanvasCtx),k.size=e.size,k.color="white",k.borderColor="white",g.globalAlpha=0.3,m.drawMarkers([k]),g.globalAlpha=1):"column"===c.type||"stackedColumn"===c.type||"stackedColumn100"===c.type||"bar"===c.type||
|
|
926
|
+
"rangeBar"===c.type||"stackedBar"===c.type||"stackedBar100"===c.type||"rangeColumn"===c.type||"waterfall"===c.type?P(g,e.x1,e.y1,e.x2,e.y2,"white",0,null,!1,!1,!1,!1,0.3):"pie"===c.type||"doughnut"===c.type?d(g,e.center,e.radius,"white",c.type,e.startAngle,e.endAngle,0.3,e.percentInnerRadius):"funnel"===c.type||"pyramid"===c.type?t(g,e.funnelSection,0.3,"white"):"candlestick"===c.type?(g.globalAlpha=1,g.strokeStyle=e.color,g.lineWidth=2*e.borderThickness,c=0===g.lineWidth%2?0:0.5,g.beginPath(),g.moveTo(e.x3-
|
|
927
|
+
c,Math.min(e.y2,e.y3)),g.lineTo(e.x3-c,Math.min(e.y1,e.y4)),g.stroke(),g.beginPath(),g.moveTo(e.x3-c,Math.max(e.y1,e.y4)),g.lineTo(e.x3-c,Math.max(e.y2,e.y3)),g.stroke(),P(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"===c.type?(g.globalAlpha=1,g.strokeStyle=e.color,g.lineWidth=2*e.borderThickness,c=0===g.lineWidth%2?0:0.5,g.beginPath(),g.moveTo(e.x3-c,e.y2),g.lineTo(e.x3-c,e.y3),g.stroke(),g.beginPath(),g.moveTo(e.x3,
|
|
928
|
+
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"===c.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/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(),P(g,e.x1,Math.max(e.y2,e.y3),
|
|
929
|
+
e.x2,Math.min(e.y2,e.y3),"transparent",2*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-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,
|
|
930
|
+
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"===c.type&&y(g,e.x1,e.y1,e.x2,e.y2,"white",e.whiskerProperties,e.stemProperties,e.isXYSwapped,0.3))}}g.restore();g.globalAlpha=1;g.beginPath()};na.prototype.getToolTipInnerHTML=function(a){a=a.entries;var d=null,b=null,c=null,e=0,f="";this.isToolTipDefinedInData=!0;for(var m=0;m<a.length;m++)if(a[m].dataSeries.toolTipContent||a[m].dataPoint.toolTipContent){this.isToolTipDefinedInData=
|
|
931
931
|
!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);else if(this.shared&&"none"!==this.chart.plotInfo.axisPlacement){for(var t=null,l="",m=0;m<a.length;m++){b=a[m].dataSeries;c=a[m].dataPoint;e=a[m].index;f="";if(0===m&&this.isToolTipDefinedInData&&!this.content){this.chart.axisX&&0<this.chart.axisX.length?l+="undefined"!==
|
|
932
932
|
typeof this.chart.axisX[0].labels[c.x]?this.chart.axisX[0].labels[c.x]:"{x}":this.chart.axisX2&&0<this.chart.axisX2.length&&(l+="undefined"!==typeof this.chart.axisX2[0].labels[c.x]?this.chart.axisX2[0].labels[c.x]:"{x}");l+="</br>";if(!b.visible)continue;l=this.chart.replaceKeywordsWithValue(l,c,b,e)}null===c.toolTipContent||"undefined"===typeof c.toolTipContent&&null===b.options.toolTipContent||("line"===b.type||"stepLine"===b.type||"spline"===b.type||"area"===b.type||"stepArea"===b.type||"splineArea"===
|
|
933
933
|
b.type||"column"===b.type||"bar"===b.type||"scatter"===b.type||"stackedColumn"===b.type||"stackedColumn100"===b.type||"stackedBar"===b.type||"stackedBar100"===b.type||"stackedArea"===b.type||"stackedArea100"===b.type||"waterfall"===b.type?(this.chart.axisX&&1<this.chart.axisX.length&&(f+=t!=b.axisXIndex?b.axisX.title?b.axisX.title+"<br/>":"X:{axisXIndex}<br/>":""),f+=c.toolTipContent?c.toolTipContent:b.toolTipContent?b.toolTipContent:this.content&&"function"!==typeof this.content?this.content:"<span data-color='\""+
|
|
@@ -945,15 +945,15 @@ c,b,e)}return d};na.prototype.enableAnimation=function(){if(!this.container.styl
|
|
|
945
945
|
this.container.style.MsTransition="",this.container.style.transition="")};na.prototype.hide=function(a){this.container&&(this.container.style.display="none",this.currentSeriesIndex=-1,this._entries=this._dataSeriesIndex=this._xValue=null,this._prevY=this._prevX=NaN,this._updatedEventParameters=null,("undefined"===typeof a||a)&&this.chart.resetOverlayedCanvas())};na.prototype.show=function(a,d,b){this._updateToolTip(a,d,"undefined"===typeof b?!1:b)};na.prototype.showAtIndex=function(a,d){};na.prototype.showAtX=
|
|
946
946
|
function(a,d){if(!this.enabled)return!1;!f(this.chart.clearedOverlayedCanvas)&&this.chart.clearedOverlayedCanvas.indexOf("axis")&&(this.chart.clearedOverlayedCanvas=null);this._updateOptions();var b,c,e,k=[];e=!1;d=!f(d)&&0<=d&&d<this.chart.data.length?d:0;if(this.shared)for(var m=0;m<this.chart.data.length;m++)b=this.chart.data[m],(c=b.getDataPointAtX(a,!1))&&(c.dataPoint&&!f(c.dataPoint.y)&&b.visible)&&(c.dataSeries=b,this.chart.data[d].axisX.convertValueToPixel(a)===b.axisX.convertValueToPixel(c.dataPoint.x)&&
|
|
947
947
|
k.push(c));else b=this.chart.data[d],(c=b.getDataPointAtX(a,!1))&&(c.dataPoint&&!f(c.dataPoint.y)&&b.visible)&&(c.dataSeries=b,k.push(c));if(0<k.length){for(m=0;m<k.length;m++)if(c=k[m],(this.shared||0<=c.dataSeries.type.indexOf("100"))&&c.dataSeries.axisX&&c.dataPoint.x>=c.dataSeries.axisX.viewportMinimum&&c.dataPoint.x<=c.dataSeries.axisX.viewportMaximum){e=!1;break}else if(c.dataSeries.axisX&&c.dataSeries.axisY&&(c.dataPoint.x<c.dataSeries.axisX.viewportMinimum||c.dataPoint.x>c.dataSeries.axisX.viewportMaximum||
|
|
948
|
-
c.dataPoint.y<c.dataSeries.axisY.viewportMinimum||c.dataPoint.y>c.dataSeries.axisY.viewportMaximum))e=!0;else{e=!1;break}if(e)return this.hide(),!1;this._entries=k;m="";m=this.getToolTipInnerHTML({entries:k});if(null!==m){this.contentDiv.innerHTML=m;if(this.isToolTipDefinedInData&&f(this.options.content)&&f(this.options.contentFormatter))for(c=this.contentDiv.getElementsByTagName("span"),m=0;m<c.length;m++)c[m]&&
|
|
949
|
-
(m=!0,this.container.style.display="block");try{this.contentDiv.style.background=this.backgroundColor?this.backgroundColor:w?"rgba(255,255,255,.9)":"rgb(255,255,255)",this.borderColor="waterfall"===k[0].dataSeries.type?this.contentDiv.style.borderRightColor=this.contentDiv.style.borderLeftColor=this.contentDiv.style.borderColor=this.options.borderColor?this.options.borderColor:k[0].dataPoint.color?k[0].dataPoint.color:
|
|
950
|
-
k[0].dataSeries.type?this.contentDiv.style.borderRightColor=this.contentDiv.style.borderLeftColor=this.contentDiv.style.borderColor=this.options.borderColor?this.options.borderColor:k[0].dataSeries.color?k[0].dataSeries.color:k[0].dataSeries._colorSet[b.index%k[0].dataSeries._colorSet.length]:this.contentDiv.style.borderRightColor=this.contentDiv.style.borderLeftColor=this.contentDiv.style.borderColor=this.options.borderColor?
|
|
951
|
-
k[0].dataSeries.color:k[0].dataSeries._colorSet[k[0].index%k[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||
|
|
952
|
-
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=this.fontStyle?this.fontStyle:w?"italic":"normal"}catch(t){}"pie"===k[0].dataSeries.type||"doughnut"===k[0].dataSeries.type?b=k[0].dataSeries.dataPointEOs[k[0].index].center.x+k[0].dataSeries.radius*
|
|
953
|
-
0:this.container.clientWidth):"funnel"===k[0].dataSeries.type||"pyramid"===k[0].dataSeries.type?(c=k[0].dataSeries.dataPointEOs[k[0].index].sectionsofFunnel,b=(c.x1+c.x2-this.container.clientWidth)/2):(b="bar"===k[0].dataSeries.type||"rangeBar"===k[0].dataSeries.type||"stackedBar"===k[0].dataSeries.type||"stackedBar100"===k[0].dataSeries.type?k[0].dataSeries.axisY.convertValueToPixel(k[0].dataPoint.y.length?
|
|
954
|
-
0:k[0].dataSeries.axisX.convertValueToPixel(k[0].dataPoint.x)-this.container.clientWidth<<0,b-=10);0>b&&(b+=this.container.clientWidth+20);b+this.container.clientWidth>Math.max(this.chart.container.clientWidth,this.chart.width)&&(b=Math.max(0,Math.max(this.chart.container.clientWidth,this.chart.width)-this.container.clientWidth));1!==k.length||this.shared||"line"!==k[0].dataSeries.type&&"stepLine"!==k[0].dataSeries.type&&
|
|
955
|
-
k[0].dataSeries.type&&"splineArea"!==k[0].dataSeries.type?"pie"===k[0].dataSeries.type||"doughnut"===k[0].dataSeries.type?(c=k[0].dataSeries.dataPointEOs[k[0].index].center.y+k[0].dataSeries.radius*Math.sin(k[0].dataSeries.dataPointEOs[k[0].index].midAngle),c<k[0].dataSeries.dataPointEOs[k[0].index].center.y&&(c+=this.container.clientHeight)):"funnel"===k[0].dataSeries.type||"pyramid"===k[0].dataSeries.type?(c=k[0].dataSeries.dataPointEOs[k[0].dataSeries.reversed?
|
|
956
|
-
1-k[0].index:k[0].index].sectionsofFunnel,c="undefined"!==typeof c.x5?(c.y2+c.y4)/2:(c.y2+c.y3)/2+this.container.clientHeight/2):c="bar"===k[0].dataSeries.type||"rangeBar"===k[0].dataSeries.type||"stackedBar"===k[0].dataSeries.type||"stackedBar100"===k[0].dataSeries.type?k[0].dataSeries.axisX.convertValueToPixel(k[0].dataPoint.x):k[0].dataSeries.axisY.convertValueToPixel(k[0].dataPoint.y.length?k[0].dataPoint.y[k[0].dataPoint.y.length-1]:k[0].dataPoint.y):c=k[0].dataSeries.axisY.convertValueToPixel(k[0].dataPoint.y);
|
|
948
|
+
c.dataPoint.y<c.dataSeries.axisY.viewportMinimum||c.dataPoint.y>c.dataSeries.axisY.viewportMaximum))e=!0;else{e=!1;break}if(e)return this.hide(),!1;this.highlightObjects(k);"toolTip"===this.chart.clearedOverlayedCanvas&&this.chart.renderCrosshairs();this._entries=k;m="";m=this.getToolTipInnerHTML({entries:k});if(null!==m){this.contentDiv.innerHTML=m;if(this.isToolTipDefinedInData&&f(this.options.content)&&f(this.options.contentFormatter))for(c=this.contentDiv.getElementsByTagName("span"),m=0;m<c.length;m++)c[m]&&
|
|
949
|
+
(c[m].style.color=c[m].getAttribute("data-color"));m=!1;"none"===this.container.style.display&&(m=!0,this.container.style.display="block");try{this.contentDiv.style.background=this.backgroundColor?this.backgroundColor:w?"rgba(255,255,255,.9)":"rgb(255,255,255)",this.borderColor="waterfall"===k[0].dataSeries.type?this.contentDiv.style.borderRightColor=this.contentDiv.style.borderLeftColor=this.contentDiv.style.borderColor=this.options.borderColor?this.options.borderColor:k[0].dataPoint.color?k[0].dataPoint.color:
|
|
950
|
+
0<k[0].dataPoint.y?k[0].dataSeries.risingColor:k[0].dataSeries.fallingColor:"error"===k[0].dataSeries.type?this.contentDiv.style.borderRightColor=this.contentDiv.style.borderLeftColor=this.contentDiv.style.borderColor=this.options.borderColor?this.options.borderColor:k[0].dataSeries.color?k[0].dataSeries.color:k[0].dataSeries._colorSet[b.index%k[0].dataSeries._colorSet.length]:this.contentDiv.style.borderRightColor=this.contentDiv.style.borderLeftColor=this.contentDiv.style.borderColor=this.options.borderColor?
|
|
951
|
+
this.options.borderColor:k[0].dataPoint.color?k[0].dataPoint.color:k[0].dataSeries.color?k[0].dataSeries.color:k[0].dataSeries._colorSet[k[0].index%k[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||
|
|
952
|
+
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=this.fontStyle?this.fontStyle:w?"italic":"normal"}catch(t){}"pie"===k[0].dataSeries.type||"doughnut"===k[0].dataSeries.type?b=k[0].dataSeries.dataPointEOs[k[0].index].center.x+k[0].dataSeries.radius*
|
|
953
|
+
Math.cos(k[0].dataSeries.dataPointEOs[k[0].index].midAngle)+-("left"===k[0].dataSeries.dataPointEOs[k[0].index].hemisphere?0:this.container.clientWidth):"funnel"===k[0].dataSeries.type||"pyramid"===k[0].dataSeries.type?(c=k[0].dataSeries.dataPointEOs[k[0].index].sectionsofFunnel,b=(c.x1+c.x2-this.container.clientWidth)/2):(b="bar"===k[0].dataSeries.type||"rangeBar"===k[0].dataSeries.type||"stackedBar"===k[0].dataSeries.type||"stackedBar100"===k[0].dataSeries.type?k[0].dataSeries.axisY.convertValueToPixel(k[0].dataPoint.y.length?
|
|
954
|
+
k[0].dataPoint.y[k[0].dataPoint.y.length-1]:k[0].dataPoint.y)-this.container.clientWidth<<0:k[0].dataSeries.axisX.convertValueToPixel(k[0].dataPoint.x)-this.container.clientWidth<<0,b-=10);0>b&&(b+=this.container.clientWidth+20);b+this.container.clientWidth>Math.max(this.chart.container.clientWidth,this.chart.width)&&(b=Math.max(0,Math.max(this.chart.container.clientWidth,this.chart.width)-this.container.clientWidth));1!==k.length||this.shared||"line"!==k[0].dataSeries.type&&"stepLine"!==k[0].dataSeries.type&&
|
|
955
|
+
"spline"!==k[0].dataSeries.type&&"area"!==k[0].dataSeries.type&&"stepArea"!==k[0].dataSeries.type&&"splineArea"!==k[0].dataSeries.type?"pie"===k[0].dataSeries.type||"doughnut"===k[0].dataSeries.type?(c=k[0].dataSeries.dataPointEOs[k[0].index].center.y+k[0].dataSeries.radius*Math.sin(k[0].dataSeries.dataPointEOs[k[0].index].midAngle),c<k[0].dataSeries.dataPointEOs[k[0].index].center.y&&(c+=this.container.clientHeight)):"funnel"===k[0].dataSeries.type||"pyramid"===k[0].dataSeries.type?(c=k[0].dataSeries.dataPointEOs[k[0].dataSeries.reversed?
|
|
956
|
+
k[0].dataSeries.dataPointEOs.length-1-k[0].index:k[0].index].sectionsofFunnel,c="undefined"!==typeof c.x5?(c.y2+c.y4)/2:(c.y2+c.y3)/2+this.container.clientHeight/2):c="bar"===k[0].dataSeries.type||"rangeBar"===k[0].dataSeries.type||"stackedBar"===k[0].dataSeries.type||"stackedBar100"===k[0].dataSeries.type?k[0].dataSeries.axisX.convertValueToPixel(k[0].dataPoint.x):k[0].dataSeries.axisY.convertValueToPixel(k[0].dataPoint.y.length?k[0].dataPoint.y[k[0].dataPoint.y.length-1]:k[0].dataPoint.y):c=k[0].dataSeries.axisY.convertValueToPixel(k[0].dataPoint.y);
|
|
957
957
|
c=-c+10;0<c+this.container.clientHeight+5&&(c-=c+this.container.clientHeight+5-0);this.fixMozTransitionDelay(b,c);!this.animationEnabled||m?this.disableAnimation():(this.enableAnimation(),this.container.style.MozTransition=this.mozContainerTransition);this.container.style.left=b+"px";this.container.style.bottom=c+"px"}else return this.hide(!1),!1}else return this.hide(),!1;this._xValue=a;this._dataSeriesIndex=d;this._prevY=this._prevX=NaN;return!0};na.prototype.fixMozTransitionDelay=function(a,d){if(20<
|
|
958
958
|
this.chart._eventManager.lastObjectId)this.mozContainerTransition=this.getContainerTransition(0);else{var b=parseFloat(this.container.style.left),b=isNaN(b)?0:b,c=parseFloat(this.container.style.bottom),c=isNaN(c)?0:c;10<Math.sqrt(Math.pow(b-a,2)+Math.pow(c-d,2))?this.mozContainerTransition=this.getContainerTransition(0.1):this.mozContainerTransition=this.getContainerTransition(0)}};na.prototype.getContainerTransition=function(a){return"left "+a+"s ease-out 0s, bottom "+a+"s ease-out 0s"};da.prototype.reset=
|
|
959
959
|
function(){this.lastObjectId=0;this.objectMap=[];this.rectangularRegionEventSubscriptions=[];this.previousDataPointEventObject=null;this.eventObjects=[];w&&(this.ghostCtx.clearRect(0,0,this.chart.width,this.chart.height),this.ghostCtx.beginPath())};da.prototype.getNewObjectTrackingId=function(){return++this.lastObjectId};da.prototype.mouseEventHandler=function(a){if("mousemove"===a.type||"click"===a.type){var d=[],b=za(a),c=null;if((c=this.chart.getObjectAtXY(b.x,b.y,!1))&&"undefined"!==typeof this.objectMap[c])if(c=
|
|
@@ -967,7 +967,7 @@ function(){f.animate.call(f)}):this.chart.isAnimating=!1};ga.prototype.cancelAll
|
|
|
967
967
|
c=d.source.canvas,e=d.animationBase;b.drawImage(c,0,0,c.width,c.height,e-e*a,0,a*b.canvas.width/ka,b.canvas.height/ka)}},xClipAnimation:function(a,d){if(0!==a){var b=d.dest,c=d.source.canvas;b.save();0<a&&b.drawImage(c,0,0,c.width*a,c.height,0,0,c.width*a/ka,c.height/ka);b.restore()}},fadeInAnimation:function(a,d){if(0!==a){var b=d.dest,c=d.source.canvas;b.save();b.globalAlpha=a;b.drawImage(c,0,0,c.width,c.height,0,0,b.canvas.width/ka,b.canvas.height/ka);b.restore()}},easing:{linear:function(a,d,
|
|
968
968
|
b,c){return b*a/c+d},easeOutQuad:function(a,d,b,c){return-b*(a/=c)*(a-2)+d},easeOutQuart:function(a,d,b,c){return-b*((a=a/c-1)*a*a*a-1)+d},easeInQuad:function(a,d,b,c){return b*(a/=c)*a+d},easeInQuart:function(a,d,b,c){return b*(a/=c)*a*a*a+d}}},m={drawMarker:function(a,d,b,c,e,f,m,t){if(b){var l=1;b.fillStyle=f?f:"#000000";b.strokeStyle=m?m:"#000000";b.lineWidth=t?t:0;b.setLineDash&&b.setLineDash(R("solid",t));"circle"===c?(b.moveTo(a,d),b.beginPath(),b.arc(a,d,e/2,0,2*Math.PI,!1),f&&b.fill(),t&&
|
|
969
969
|
(m?b.stroke():(l=b.globalAlpha,b.globalAlpha=0.15,b.strokeStyle="black",b.stroke(),b.globalAlpha=l))):"square"===c?(b.beginPath(),b.rect(a-e/2,d-e/2,e,e),f&&b.fill(),t&&(m?b.stroke():(l=b.globalAlpha,b.globalAlpha=0.15,b.strokeStyle="black",b.stroke(),b.globalAlpha=l))):"triangle"===c?(b.beginPath(),b.moveTo(a-e/2,d+e/2),b.lineTo(a+e/2,d+e/2),b.lineTo(a,d-e/2),b.closePath(),f&&b.fill(),t&&(m?b.stroke():(l=b.globalAlpha,b.globalAlpha=0.15,b.strokeStyle="black",b.stroke(),b.globalAlpha=l)),b.beginPath()):
|
|
970
|
-
"cross"===c&&(b.strokeStyle=f,b.lineWidth=e/4,b.beginPath(),b.moveTo(a-e/2,d-e/2),b.lineTo(a+e/2,d+e/2),b.stroke(),b.moveTo(a+e/2,d-e/2),b.lineTo(a-e/2,d+e/2),b.stroke())}},drawMarkers:function(a){for(var d=0;d<a.length;d++){var b=a[d];m.drawMarker(b.x,b.y,b.ctx,b.type,b.size,b.color,b.borderColor,b.borderThickness)}}};return v}();Ha.version="v3.12.
|
|
970
|
+
"cross"===c&&(b.strokeStyle=f,b.lineWidth=e/4,b.beginPath(),b.moveTo(a-e/2,d-e/2),b.lineTo(a+e/2,d+e/2),b.stroke(),b.moveTo(a+e/2,d-e/2),b.lineTo(a-e/2,d+e/2),b.stroke())}},drawMarkers:function(a){for(var d=0;d<a.length;d++){var b=a[d];m.drawMarker(b.x,b.y,b.ctx,b.type,b.size,b.color,b.borderColor,b.borderThickness)}}};return v}();Ha.version="v3.12.12 GA";window.CanvasJS&&(Ha&&!window.CanvasJS.Chart)&&(window.CanvasJS.Chart=Ha);da.StockChart={width:500,height:600,backgroundColor:"white",theme:"light1",
|
|
971
971
|
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"}};da.Navigator={enabled:!0,width:500,height:70,verticalAlign:"bottom",horizontalAlign:"left",
|
|
972
972
|
dynamicUpdate:!0,backgroundColor:"#fff",animationEnabled:!1,animationDuration:1200,theme:"light1",colorSet:"colorSet1",publicProperties:{slider:"readWrite",backgroundColor:"readWrite",animationEnabled:"readWrite",animationDuration:"readWrite",theme:"readWrite",axisX:"readWrite",axisY:"readWrite",axisX2:"readWrite",axisY2:"readWrite",data:"readWrite",colorSet:"readWrite",options:"readWrite",bounds:"readOnly"}};da.RangeSelector={enabled:!0,width:500,height:35,label:"Range",verticalAlign:"top",horizontalAlign:"center",
|
|
973
973
|
selectedRangeButtonIndex:null,publicProperties:{options:"readWrite",buttons:"readWrite",inputFields:"readWrite",buttonStyle:"readWrite",bounds:"readOnly"}};da.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"}};da.ButtonStyle={backgroundColor:"#fff",backgroundColorOnHover:"#2196f3",backgroundColorOnSelect:"#2196f3",borderColor:"#2196f3",
|
|
@@ -1031,7 +1031,7 @@ this.navigator.width+"px",this.navigator.chart.panel.style.height=this.navigator
|
|
|
1031
1031
|
this.charts[0].options.colorSet?this.charts[0].options.colorSet:this.colorSet;this.navigator._chartOptions=d;this.navigator.slider=this.navigator.slider||new N(this.navigator,this.options&&this.options.navigator&&this.options.navigator.slider?this.options.navigator.slider:null);this.navigator.slider._initialize()}if(this.rangeSelector){var a=this.rangeSelector.sessionVariables;if(this.rangeSelector.inputFields)for(var g=this.rangeSelector.inputFields.sessionVariables,r=0;r<this.rangeSelector.inputFields.elements.length;r++)this._canvasJSContainer.removeChild(this.rangeSelector.inputFields.elements[r])}this.rangeSelector=
|
|
1032
1032
|
new R(this,this.options&&this.options.rangeSelector?this.options.rangeSelector:null);this.rangeSelector.buttonStyle=new W(this,this.rangeSelector.options&&this.rangeSelector.options.buttonStyle?this.rangeSelector.options.buttonStyle:null);this.rangeSelector.inputFields=new U(this,this.rangeSelector.options&&this.rangeSelector.options.inputFields?this.rangeSelector.options.inputFields:null);this.rangeSelector.inputFields.style=new X(this,this.rangeSelector.inputFields.options&&this.rangeSelector.inputFields.options.style?
|
|
1033
1033
|
this.rangeSelector.inputFields.options.style:null);this.rangeSelector.inputFields.style._updateOptions();this.rangeSelector.inputFields._initialize();this.rangeSelector.inputFields.sessionVariables=g?g:this.rangeSelector.inputFields.sessionVariables;if(this.rangeSelector.inputFields&&this.rangeSelector.inputFields.enabled)for(this.rangeSelector.inputFields._textBlocks=[],this.rangeSelector.inputFields._labels=[],this.rangeSelector.inputFieldsWidth=0,m=this.rangeSelector.inputFields.style.maxWidth=
|
|
1034
|
-
this.rangeSelector.inputFields.style.options.maxWidth?this.rangeSelector.inputFields.style.options.maxWidth:0.4*this.rangeSelector.width,r=0;r<this.rangeSelector.inputFields.elements.length;r++)t=new la(this.rangeSelector.ctx,{x:0,y:0,backgroundColor:this.rangeSelector.inputFields.style.backgroundColor,borderColor:this.rangeSelector.inputFields.style.borderColor,borderThickness:this.rangeSelector.inputFields.style.borderThickness,cornerRadius:0,maxWidth:!f(this.rangeSelector.inputFields.style.options.width)&&
|
|
1034
|
+
this.rangeSelector.inputFields.style.options.maxWidth?this.rangeSelector.inputFields.style.options.maxWidth:0.4*(this.rangeSelector.width?this.rangeSelector.width:this.width),r=0;r<this.rangeSelector.inputFields.elements.length;r++)t=new la(this.rangeSelector.ctx,{x:0,y:0,backgroundColor:this.rangeSelector.inputFields.style.backgroundColor,borderColor:this.rangeSelector.inputFields.style.borderColor,borderThickness:this.rangeSelector.inputFields.style.borderThickness,cornerRadius:0,maxWidth:!f(this.rangeSelector.inputFields.style.options.width)&&
|
|
1035
1035
|
this.rangeSelector.inputFields.style.options.width<m?this.rangeSelector.inputFields.style.width:m,maxHeight:1.5*this.rangeSelector.inputFields.style.fontSize+("object"===typeof this.rangeSelector.inputFields.style.padding?(this.rangeSelector.inputFields.style.padding.top||0)+(this.rangeSelector.inputFields.style.padding.bottom||0):2*this.rangeSelector.inputFields.style.padding),angle:0,padding:this.rangeSelector.inputFields.style.padding,text:this.rangeSelector.inputFields.valueFormatString,textAlign:this.rangeSelector.inputFields.style.textAlign,
|
|
1036
1036
|
fontSize:this.rangeSelector.inputFields.style.fontSize,fontFamily:this.rangeSelector.inputFields.style.fontFamily,fontWeight:this.rangeSelector.inputFields.style.fontWeight,fontColor:this.rangeSelector.inputFields.style.fontColor,fontStyle:this.rangeSelector.inputFields.style.fontStyle,textBaseline:"middle"}),g=t.measureText(),d=new la(this.rangeSelector.ctx,{x:0,y:0,backgroundColor:w?"transparent":null,borderColor:this.rangeSelector.inputFields.style.borderColor,borderThickness:0,cornerRadius:0,
|
|
1037
1037
|
maxWidth:0.2*this.width,maxHeight:1.5*this.rangeSelector.inputFields.style.fontSize+("object"===typeof this.rangeSelector.inputFields.style.padding?(this.rangeSelector.inputFields.style.padding.top||0)+(this.rangeSelector.inputFields.style.padding.bottom||0):2*this.rangeSelector.inputFields.style.padding),angle:0,padding:this.rangeSelector.inputFields.style.padding,text:"From",textAlign:"left",fontSize:this.rangeSelector.inputFields.style.fontSize,fontFamily:this.rangeSelector.inputFields.style.fontFamily,
|
|
@@ -1069,129 +1069,129 @@ this.rangeSelector.buttonStyle.cursor;this.rangeSelector.sessionVariables._click
|
|
|
1069
1069
|
("on"===b.state&&"navigator"!==m.minimum)&&(b.textBlock.fontWeight="bold",b.textBlock.fontColor=this.rangeSelector.buttonStyle.labelFontColorOnHover,b.textBlock.backgroundColor=this.rangeSelector.buttonStyle.backgroundColorOnSelect);if("ytd"===b.rangeType&&e)a=new Date(e.viewportMaximum),a.setDate(1),a.setMonth(0),a=a.getTime();else if(f(n))y?(a=y.minimum,g=y.maximum):e&&(a=e.minimum,g=e.maximum),"chart"===m.maximum&&(m.maximum="rangeButton");else{var q=this.navigator&&this.navigator.slider&&this.navigator.slider.hasOptionChanged("maximum")||
|
|
1070
1070
|
this.rangeSelector&&this.rangeSelector.inputFields&&this.rangeSelector.inputFields.hasOptionChanged("endValue")?"navigator"===m.maximum?this.navigator.slider.maximum:this.rangeSelector.inputFields.enabled&&!f(this.rangeSelector.inputFields.options.endValue)?this.rangeSelector.inputFields.options.endValue:f(e.options.viewportMaximum)?e.viewportMaximum:e.options.viewportMaximum:e.viewportMaximum;q>(y?y.maximum:e.maximum)&&(q=y?y.maximum:e.maximum);if(q-n<(y?y.minimum:e.minimum)){if("navigator"!==m.maximum&&
|
|
1071
1071
|
f(this.rangeSelector.inputFields.options.endValue))"chart"===m.maximum&&(m.maximum="rangeButton");else{this._selectedRangeButtonIndex=null;continue}g=y?y:e;n=g.minimum-(q-n);a=g.minimum;g=Math.min(g.maximum,("dateTime"===g.valueType&&"object"===typeof q?q.getTime():q)+n)}else a=q-n,g=q}m.minimum="rangeButton";m.maximum=f(m.maximum)||"chart"===m.maximum&&f(e.options.viewportMaximum)&&f(e.options.maximum)?"rangeButton":m.maximum}f(this.rangeSelector.sessionVariables._clickedRangeButtonIndex)||d===this.rangeSelector.sessionVariables._clickedRangeButtonIndex||
|
|
1072
|
-
(b.state="off");this._axisXMin="rangeButton"===m.minimum&&(f(this._axisXMin)||this.rangeSelector.hasOptionChanged("selectedRangeButtonIndex"))?a:this._axisXMin;this._axisXMax=f(g)?f(this.sessionVariables._axisXMax)?this._axisXMax:this.sessionVariables._axisXMax:g}else b.cursor="not-allowed"}if(this.rangeSelector.inputFields&&this.rangeSelector.inputFields.enabled){this.rangeSelector.inputFields.valueType=this.options.rangeSelector&&
|
|
1073
|
-
this.options.rangeSelector.inputFields.valueType:this.isDateTime?"dateTime":"number";for(d=0;d<this.rangeSelector.inputFields._textBlocks.length;d++)e=this.rangeSelector.inputFields._textBlocks[d],e.mousemove=function(a){t.rangeSelector&&t.rangeSelector.inputFields&&!t.rangeSelector.inputFields.enabled||(a.inputField.cursor=a.stockChart.rangeSelector.inputFields.style.cursor)},e.mouseover=function(a){t.rangeSelector&&
|
|
1074
|
-
a.stockChart.rangeSelector.inputFields.style.cursor)},e.mouseout=function(a){t.rangeSelector&&t.rangeSelector.inputFields&&!t.rangeSelector.inputFields.enabled||(a.inputField.cursor="auto")},e.click=function(a){t.rangeSelector&&t.rangeSelector.inputFields&&!t.rangeSelector.inputFields.enabled||(a.stockChart.rangeSelector.inputFields.elements[a.inputFieldIndex].style.display="inline",a.stockChart.rangeSelector.inputFields.elements[a.inputFieldIndex].focus())};
|
|
1075
|
-
this.rangeSelector.inputFields.valueType?(this.rangeSelector.inputFields.valueFormatString=this.options.rangeSelector&&this.options.rangeSelector.inputFields&&this.options.rangeSelector.inputFields.valueFormatString?this.options.rangeSelector.inputFields.valueFormatString:"MMM DD YYYY",this.rangeSelector.inputFields.startValue=this.rangeSelector.inputFields.enabled&&!f(this.rangeSelector.inputFields.options.startValue)?qa(this.rangeSelector.inputFields.options.startValue,
|
|
1076
|
-
f(a)?k:a,this.rangeSelector.inputFields.endValue=this.rangeSelector.inputFields.hasOptionChanged("endValue")&&this.rangeSelector.inputFields.enabled&&!f(this.rangeSelector.inputFields.options.endValue)?qa(this.rangeSelector.inputFields.options.endValue,this.rangeSelector.inputFields.valueFormatString):f(g)?f(this.sessionVariables._axisXMax)?v:this.sessionVariables._axisXMax:g):(this.rangeSelector.inputFields.valueFormatString=this.options.rangeSelector&&
|
|
1077
|
-
this.options.rangeSelector.inputFields.valueFormatString:"#,##0.##",this.rangeSelector.inputFields.startValue=this.rangeSelector.inputFields.enabled&&!f(this.rangeSelector.inputFields.options.startValue)?this.rangeSelector.inputFields.options.startValue:f(a)?k:a,this.rangeSelector.inputFields.endValue=this.rangeSelector.inputFields.hasOptionChanged("endValue")&&this.rangeSelector.inputFields.enabled
|
|
1078
|
-
f(g)?f(this.sessionVariables._axisXMax)?v:this.sessionVariables._axisXMax:g);var p,s;"dateTime"===this.rangeSelector.inputFields.valueType&&(p=qa(this.rangeSelector.inputFields.options.startValue||this.rangeSelector.inputFields.startValue,"YYYY-MM-DD'T'HH:mm:ss"),s=qa(this.rangeSelector.inputFields.endValue,"YYYY-MM-DD'T'HH:mm:ss"),w||(p=p.replace(/-/g,"/"),s=s.replace(/-/g,"/"),p=p.replace("T"," "),
|
|
1079
|
-
" UTC$1$3")));"navigator"!==m.minimum&&(this._axisXMin=!f(this._axisXMin)&&!f(m.minimum)&&"rangeButton"!==m.minimum&&"chart"!==m.minimum||"chart"===m.minimum&&(!this.rangeSelector.inputFields.enabled||f(this.rangeSelector.inputFields.options.startValue))?this._axisXMin:"dateTime"===this.rangeSelector.inputFields.valueType?(new Date(p)).getTime():this.rangeSelector.inputFields.startValue,
|
|
1080
|
-
"navigator"!==m.maximum&&(this._axisXMax=!f(this._axisXMax)&&!f(m.maximum)&&"rangeButton"!==m.maximum&&"chart"!==m.maximum||"chart"===m.maximum&&(!this.rangeSelector.inputFields.enabled||f(this.rangeSelector.inputFields.options.endValue))?this._axisXMax:"dateTime"===this.rangeSelector.inputFields.valueType?(new Date(s)).getTime():this.rangeSelector.inputFields.endValue,this.rangeSelector.inputFields.enabled
|
|
1081
|
-
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&&this.rangeSelector.enabled&&this.rangeSelector.render();this.navigator&&this.navigator.slider&&(this.navigator.slider.hasOptionChanged("minimum")||this.navigator.slider.hasOptionChanged("maximum"))?
|
|
1082
|
-
this.rangeSelector.inputFields.enabled&&this.rangeSelector.inputFields.hasOptionChanged("startValue")&&"navigator"!==m.minimum||this.rangeSelector.inputFields.enabled&&this.rangeSelector.inputFields.hasOptionChanged("endValue")&&"navigator"!==m.maximum?this.rangeUpdatedBy="rangeButton"===m.minimum?"rangeButton":"inputFields":this.rangeSelector.hasOptionChanged("selectedRangeButtonIndex")&&"rangeButton"===m.minimum&&(this.rangeUpdatedBy=
|
|
1083
|
-
this.rangeSelector.enabled)&&this.rangeSelector.resetRangeButtons()}if(f(this._axisXMin)||f(m.minimum))this._axisXMin=k;if(f(this._axisXMax)||f(m.maximum))this._axisXMax=v;if(f(this._initialAxisXMin)||f(m.minimum))this._initialAxisXMin=this._axisXMin;if(f(this._initialAxisXMax)||f(m.maximum))this._initialAxisXMax=this._axisXMax;z!==this._prevViewportMinimum&&(this._prevViewportMinimum=z,"chart"===m.minimum&&(this.sessionVariables._axisXMin=
|
|
1084
|
-
(this._prevViewportMaximum=A,"chart"===m.maximum&&(this.sessionVariables._axisXMax=this._initialAxisXMax=this._axisXMax));this.rangeSelector.enabled&&this.rangeSelector.hasOptionChanged("selectedRangeButtonIndex")&&"navigator"!==m.minimum&&"inputFields"!==m.minimum?(this.sessionVariables._axisXMin=this._initialAxisXMin=this._axisXMin,this.sessionVariables._axisXMax=this._axisXMax,"rangeButton"===m.maximum&&(this._initialAxisXMax=
|
|
1085
|
-
this.navigator.enabled&&(!this.navigator.slider||this.navigator.slider.hasOptionChanged("minimum"))||this.rangeSelector.enabled&&"navigator"!==m.minimum&&this.rangeSelector.inputFields.enabled&&this.rangeSelector.inputFields.hasOptionChanged("startValue")?this._axisXMin:this.sessionVariables._axisXMin,this._axisXMax=f(this.sessionVariables._axisXMax)||this.navigator.enabled&&(!this.navigator.slider||this.navigator.slider.hasOptionChanged("maximum"))||
|
|
1086
|
-
this.rangeSelector.inputFields.enabled&&this.rangeSelector.inputFields.hasOptionChanged("endValue")?this._axisXMax:this.sessionVariables._axisXMax);this.rangeSelector.enabled&&this.rangeSelector.hasOptionChanged("selectedRangeButtonIndex")&&(this.rangeSelector.sessionVariables.selectedRangeButtonIndex=this.rangeSelector.options.selectedRangeButtonIndex);this.rangeSelector.inputFields.enabled&&(this.rangeSelector.inputFields.hasOptionChanged("startValue")&&
|
|
1087
|
-
this.sessionVariables._axisXMin=this._initialAxisXMin=this._axisXMin:this.sessionVariables._axisXMin=this._initialAxisXMin=this.rangeSelector.inputFields.options.startValue,this.rangeSelector.inputFields.sessionVariables.startValue=this.rangeSelector.inputFields.options.startValue),this.rangeSelector.inputFields.hasOptionChanged("endValue")&&(this.navigator&&this.navigator.slider&&!f(this.navigator.slider.options.maximum)?
|
|
1088
|
-
this._initialAxisXMax=this.rangeSelector.inputFields.options.endValue,this.rangeSelector.inputFields.sessionVariables.endValue=this.rangeSelector.inputFields.options.endValue));if(!f(y)){this.navigator.slider.hasOptionChanged("minimum")&&void 0!==this.navigator.slider.options.minimum&&(this.sessionVariables._axisXMin=this._initialAxisXMin=this.navigator.slider.sessionVariables.minimum=this.navigator.slider.minimum=
|
|
1089
|
-
void 0!==this.navigator.slider.options.maximum&&(this.sessionVariables._axisXMax=this._initialAxisXMax=this.navigator.slider.sessionVariables.maximum=this.navigator.slider.maximum=this.navigator.slider.options.maximum);if(this._initialAxisXMin<y.minimum||this._initialAxisXMin>y.maximum)this._initialAxisXMin=isFinite(y.minimum)?y.minimum:this._initialAxisXMin;if(this._initialAxisXMax<y.minimum||this._initialAxisXMax>
|
|
1090
|
-
if(this._axisXMin<y.minimum||this._axisXMin>y.maximum)this._axisXMin=y.minimum;if(this._axisXMax<y.minimum||this._axisXMax>y.maximum)this._axisXMax=y.maximum;m&&(f(m.minimum)&&f(this.sessionVariables._axisXMin))&&(this._axisXMin=y.minimum);m&&(f(m.maximum)&&f(this.sessionVariables._axisXMax))&&(this._axisXMax=y.maximum)}if(m&&f(m.minimum)&&f(m.maximum)||m&&("rangeButton"===m.minimum&&"rangeButton"===m.maximum)&&f(this.rangeUpdatedBy))for(d=
|
|
1091
|
-
this.rangeSelector.buttons[d].enabled&&(this.rangeSelector.buttons[d].state="on",this.rangeSelector.selectedRangeButtonIndex=this._selectedRangeButtonIndex=d,m.minimum=m.maximum="rangeButton",this.rangeSelector.buttons[d].textBlock.fontWeight="bold",this.rangeSelector.buttons[d].textBlock.fontColor=this.rangeSelector.buttonStyle.labelFontColorOnHover,this.rangeSelector.buttons[d].textBlock.backgroundColor=this.rangeSelector.buttonStyle.backgroundColorOnSelect,
|
|
1092
|
-
!f(y)&&y.reversed?this._syncCharts(this._axisXMax,this._axisXMin):this._syncCharts(this._axisXMin,this._axisXMax)};r.prototype.setChartsLayout=function(){var d,f,l=0,m=this.width;this.isPlotAreaSet=this.isDateTime=!1;for(var a=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<
|
|
1093
|
-
g.x2?g.x1:b.lineCoordinates.x1;f.x2=g.x2>b.lineCoordinates.x2?g.x2:b.lineCoordinates.x2}d.axisY2&&0<d.axisY2.length&&d.axisY2[0]&&(b=d.axisY2[0],f.x1=g.x1<g.x2?g.x1:b.lineCoordinates.x1,f.x2=g.x2>b.lineCoordinates.x2?g.x2:b.lineCoordinates.x2)}for(g=0;g<d.data.length;g++)"dateTime"===d.data[g].xValueType&&(this.isDateTime=!0);l=Math.max(l,f.x1);m=Math.min(m,f.x2);d.sessionVariables.plotAreaBounds=f}this._chartsPlotAreaX1=l;this._chartsPlotAreaX2=
|
|
1094
|
-
[this.canvas,this.overlaidCanvas])};r.prototype._syncCharts=function(d,t){for(var l=this,m=null,a=Math.min(d,t),g=Math.max(d,t),b=0;b<this.charts.length;b++){m=this.charts[b];m.toolTip&&((isNaN(m.toolTip._prevX)||isNaN(m.toolTip._prevY))&&f(m.toolTip._xValue))&&m.toolTip.hide();for(var c=0;c<m.axisX.length;c++)m.axisX[c].setViewPortRange(d,t),m.axisX[c].options.labelAngle=f(m.axisX[c].options.labelAngle)?0:m.axisX[c].options.labelAngle,this.charts[b].axisX[c].crosshair&&
|
|
1095
|
-
(this.charts[b].axisX[c].crosshair.options.updated||(this.charts[b].axisX[c].crosshair.options.updated=function(a){for(var b=0;b<l.charts.length;b++)if(l.charts[b]!=a.chart)for(var c=0;c<l.charts[b].axisX.length;c++)l.charts[b].axisX[c].crosshair&&l.charts[b].axisX[c].crosshair.showAt(a.value)}),this.charts[b].axisX[c].crosshair.options.hidden||(this.charts[b].axisX[c].crosshair.options.hidden=function(a){for(var b=0;b<l.charts.length;b++)if(l.charts[b]!=
|
|
1096
|
-
l.charts[b].axisX[c].crosshair.hide()}));for(c=0;c<m.axisX2.length;c++)m.axisX2[c].setViewPortRange(d,t),m.axisX2[c].options.labelAngle=f(m.axisX2[c].options.labelAngle)?0:m.axisX2[c].options.labelAngle,this.charts[b].axisX2[c].crosshair&&this.charts[b].axisX2[c].crosshair.enabled&&(this.charts[b].axisX2[c].crosshair.options.updated||(this.charts[b].axisX2[c].crosshair.options.updated=function(a){for(var b=0;b<l.charts.length;b++)if(l.charts[b]!=
|
|
1097
|
-
l.charts[b].axisX2[c].crosshair.showAt(a.value)}),this.charts[b].axisX2[c].crosshair.options.hidden||(this.charts[b].axisX2[c].crosshair.options.hidden=function(a){for(var b=0;b<l.charts.length;b++)if(l.charts[b]!=a.chart)for(var c=0;c<l.charts[b].axisX2.length;c++)l.charts[b].axisX2[c].crosshair&&l.charts[b].axisX2[c].crosshair.hide()}));m._initialize();m.setLayout();m.panEnabled=m.options.zoomEnabled&&m.zoomEnabled
|
|
1098
|
-
f(this.charts[b].options.toolTip.updated))&&this.charts[b].toolTip&&(this.charts[b].toolTip.updated=function(a){for(var b=0;b<l.charts.length;b++)l.charts[b]!=a.chart&&l.charts[b].toolTip.showAtX(a.entries[0].xValue,a.entries[0].dataSeriesIndex)});(f(this.charts[b].options.toolTip)||!f(this.charts[b].options.toolTip)&&f(this.charts[b].options.toolTip.hidden))&&this.charts[b].toolTip&&(this.charts[b].toolTip.hidden=
|
|
1099
|
-
(this.rangeSelector.enabled&&this.rangeSelector.inputFields&&this.rangeSelector.inputFields.enabled)&&this.rangeSelector._updateInputFields(a,g);this.navigator&&this.navigator.enabled&&this.navigator._updateSlider(a,g)};r.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();
|
|
1100
|
-
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);for(;this.container&&this.container.hasChildNodes();)this.container.removeChild(this.container.lastChild);this.container=this._canvasJSContainer=
|
|
1101
|
-
Ba(this._eventManager.ghostCanvas);this.navigator.panel=null;this.rangeSelector.panel=null};r.prototype.exportChart=function(d){d="undefined"===typeof d?{}:d;var f=d.format?d.format:"png",l=d.fileName?d.fileName:this.exportFileName,m=this.canvas.cloneNode();m.setAttribute("class",m.getAttribute("class")+"-clone");var a=m.getContext("2d");a.drawImage(this.canvas,0,0);for(var g=[],b=0;b<this.charts.length;b++){var c=
|
|
1102
|
-
g.push({canvas:c.overlaidCanvas,position:{x:c.container.offsetLeft,y:c.container.offsetTop}})}this.navigator&&this.navigator.enabled&&(b=this.navigator,g.push({canvas:b.chart.canvas,position:{x:b.panel.offsetLeft,y:b.panel.offsetTop}}),g.push({canvas:b.chart.overlaidCanvas,position:{x:b.panel.offsetLeft,y:b.panel.offsetTop}}));for(b=0;b<g.length;b++)a.drawImage(g[b].canvas,g[b].position.x*ka,g[b].position.y*
|
|
1103
|
-
this.exportChart({toDataURL:!0}),f=document.createElement("iframe");f.setAttribute("class","canvasjs-chart-print-frame");S(f,{position:"absolute",width:"100%",border:0,margin:0,padding:0});f.style.height=this.height+"px";this._canvasJSContainer.appendChild(f);var l=this,m=f.contentWindow||f.contentDocument.document||f.contentDocument;m.document.open();m.document.write('<!DOCTYPE HTML>\n<html><body><img src="'+
|
|
1104
|
-
"0px 0px 0px 0px",m.document.body.style.padding="0px 0px 0px 0px");m.document.close();setTimeout(function(){m.focus();m.print();setTimeout(function(){l._canvasJSContainer.removeChild(f)},1E3)},500)};r.prototype.getObjectAtXY=function(d,t,l){l=null;if(!f(this.rangeSelector)){for(var m=0;m<this.rangeSelector.buttons.length;m++){var a=this.rangeSelector.buttons[m];d>=a.bounds.x1&&(d<=a.bounds.x2&&t>=a.bounds.y1&&
|
|
1105
|
-
this.rangeSelector.inputFields._textBlocks[m],d>=a.bounds.x1&&(d<=a.bounds.x2&&t>=a.bounds.y1&&t<=a.bounds.y2)&&(l=a.id)}return l};r.prototype._touchEventHandler=function(d){if(d.changedTouches){var t=[],l=d.changedTouches,m=l?l[0]:d,a=null;switch(d.type){case "touchstart":case "MSPointerDown":t=["mousemove","mousedown"];this._lastTouchData=za(m);this._lastTouchData.time=new Date;break;case "touchmove":case "MSPointerMove":t=
|
|
1106
|
-
this._lastTouchData.time?new Date-this._lastTouchData.time:0,t="touchstart"===this._lastTouchEventType||"MSPointerDown"===this._lastTouchEventType||300>g?["mouseup","click"]:["mouseup"];break;default:return}if(!(l&&1<l.length)){a=za(m);a.time=new Date;try{var b=a.y-this._lastTouchData.y,g=a.time-this._lastTouchData.time;if(1<Math.abs(b)&&this._lastTouchData.scroll||5<Math.abs(b)&&250>g)this._lastTouchData.scroll=!0}catch(c){}this._lastTouchEventType=
|
|
1107
|
-
this.resetOverlayedCanvas(),this.isDrag=!1;else for(l=0;l<t.length;l++){a=t[l];b=document.createEvent("MouseEvent");b.initMouseEvent(a,!0,!0,window,1,m.screenX,m.screenY,m.clientX,m.clientY,!1,!1,!1,!1,0,null);m.target.dispatchEvent(b);if(this._lastTouchData&&!f(this._lastTouchData.scroll)&&!this._lastTouchData.scroll||this._lastTouchData&&!this._lastTouchData.scroll&&250<g&&f(this._chartScroll)||"click"===a)d.preventManipulation&&
|
|
1108
|
-
this._chartScroll=null}}}};r.prototype._mouseEventHandler=function(d){"undefined"===typeof d.target&&d.srcElement&&(d.target=d.srcElement);var f=za(d),l=d.type,m,a;d.which?a=3==d.which:d.button&&(a=2==d.button);r.capturedEventParam&&(m=r.capturedEventParam,"mouseup"===l&&(r.capturedEventParam=null,m.stockChart.overlaidCanvas.releaseCapture?m.stockChart.overlaidCanvas.releaseCapture():document.documentElement.removeEventListener("mouseup",
|
|
1109
|
-
l||m.stockChart.overlaidCanvas.releaseCapture?d.target!==m.stockChart.overlaidCanvas&&w||m[l].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(),Ja&&window.console&&(window.console.log(l+" --\x3e x: "+f.x+"; y:"+f.y),a&&window.console.log(d.which),
|
|
1110
|
-
this._events){for(var g=0;g<this._events.length;g++)if(this._events[g].hasOwnProperty(l))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[l].call(m.context,f.x,f.y);"mousedown"===l&&!0===m.capture?(Chart.capturedEventParam=m,this.overlaidCanvas.setCapture?this.overlaidCanvas.setCapture():document.documentElement.addEventListener("mouseup",this._mouseEventHandler,!1)):"mouseup"===l&&(m.stockChart.overlaidCanvas.releaseCapture?
|
|
1111
|
-
document.documentElement.removeEventListener("mouseup",this._mouseEventHandler,!1));break}else m=null;d.target.style.cursor=m&&m.cursor?m.cursor:this._defaultCursor}l=this.bounds;(f.x<l.x1||f.x>l.x2||f.y<l.y1||f.y>l.y2)&&this.resetOverlayedCanvas();!this.isDrag&&this._eventManager&&this._eventManager.mouseEventHandler(d)}};r.prototype.resetOverlayedCanvas=function(){this.overlaidCanvasCtx.clearRect(0,0,this.width,this.height)};r.prototype.clearCanvas=jb;
|
|
1112
|
-
Ka);Ha.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,l=0;l<this.axisX.length;l++)this.axisX[l].lineCoordinates.x1+=f,this.axisX[l].lineCoordinates.x2-=d,this.axisX[l].lineCoordinates.width=this.axisX[l].lineCoordinates.x2-this.axisX[l].lineCoordinates.x1,this.axisX[l].bounds.x1+=f,this.axisX[l].bounds.x2-=
|
|
1113
|
-
for(l=0;l<this.axisX2.length;l++)this.axisX2[l].lineCoordinates.x1+=f,this.axisX2[l].lineCoordinates.x2-=d,this.axisX2[l].lineCoordinates.width=this.axisX2[l].lineCoordinates.x2-this.axisX2[l].lineCoordinates.x1,this.axisX2[l].bounds.x1+=f,this.axisX2[l].bounds.x2-=d,this.axisX2[l].calculateValueToPixelConversionParameters();for(l=0;l<this.axisY.length;l++)this.axisY[l].lineCoordinates.x1+=f,this.axisY[l].lineCoordinates.x2+=f,this.axisY[l].bounds.x1+=
|
|
1114
|
-
d,this.axisY2[l].lineCoordinates.x2-=d,this.axisY2[l].bounds.x1-=d,this.axisY2[l].bounds.x2-=d}};Ha.prototype.syncCharts=function(d,l){this.stockChart&&(this.stockChart.sessionVariables._axisXMin=d,this.stockChart.sessionVariables._axisXMax=l,d=f(d)?this.stockChart._initialAxisXMin:d,l=f(l)?this.stockChart._initialAxisXMax:l,this.stockChart._syncCharts(d,l),this.stockChart.rangeSelector&&(this.stockChart.rangeSelector&&
|
|
1115
|
-
G.prototype.reset=function(){this.lastObjectId=0;this.objectMap=[];this.rectangularRegionEventSubscriptions=[];this.eventObjects=[];w&&(this.ghostCtx.clearRect(0,0,this.stockChart.width,this.stockChart.height),this.ghostCtx.beginPath())};G.prototype.getNewObjectTrackingId=function(){return++this.lastObjectId};G.prototype.mouseEventHandler=function(d){if("mousemove"===d.type||"click"===d.type){var f=
|
|
1116
|
-
this.objectMap[m],"rangeButton"===m.objectType){var a=this.stockChart.rangeSelector.buttons[m.rangeButtonIndex];m.eventParameter={x:l.x,y:l.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"};f.push(m)}else"inputFields"===
|
|
1117
|
-
{x:l.x,y:l.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(l=0;l<this.mouseoveredObjectMaps.length;l++){for(var g=!0,m=0;m<f.length;m++)if(f[m].id===this.mouseoveredObjectMaps[l].id){g=!1;break}g?this.fireEvent(this.mouseoveredObjectMaps[l],
|
|
1118
|
-
a;for(l=0;l<f.length;l++){a=!1;for(m=0;m<this.mouseoveredObjectMaps.length;m++)if(f[l].id===this.mouseoveredObjectMaps[m].id){a=!0;break}a||(this.fireEvent(f[l],"mouseover",d),this.mouseoveredObjectMaps.push(f[l]));"click"===d.type?this.fireEvent(f[l],"click",d):"mousemove"===d.type&&this.fireEvent(f[l],"mousemove",d)}}};G.prototype.fireEvent=function(d,f,l){if(d&&f){var m=d.eventParameter,a=d.eventContext,g=d.eventContext.userContext;
|
|
1119
|
-
l.target.style.cursor&&(l.target.style.cursor=g.cursor):(l.target.style.cursor=this.stockChart._defaultCursor,delete d.eventParameter,delete d.eventContext)}};ha(A,V);A.prototype._updateOptions=function(){this.updateOption("enabled");this.updateOption("backgroundColor");"undefined"===typeof this.options.backgroundColor&&"undefined"!==typeof this.stockChart.options.backgroundColor&&(this.backgroundColor=this.stockChart.backgroundColor);
|
|
1120
|
-
this.updateOption("animationEnabled");this.animationEnabled=this.animationEnabled&&w;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.options=this.stockChart.options.navigator||{_isPlaceholder:!0};this._updateOptions();
|
|
1121
|
-
(d=!f(this.panel)&&this.stockChart._canvasJSContainer.contains(this.panel))||this.stockChart._canvasJSContainer.appendChild(this.panel));d=!f(this.panel)&&this.stockChart._canvasJSContainer.contains(this.panel);if(!this.enabled||0>=this.height)d&&this.stockChart._canvasJSContainer.removeChild(this.panel);else{this.height=f(this.options.height)?0.14*this.stockChart.height:parseInt(this.options.height);d||this.stockChart._canvasJSContainer.appendChild(this.panel);
|
|
1122
|
-
r=t.x1,m=t.y1;this.width=this.options.width?this.width:t.width;"top"===this.verticalAlign?(m=t.y1+2,d="top"):(m=t.y2-this.height-2,d="bottom");"left"===this.horizontalAlign?r=t.x1-2:"center"===this.horizontalAlign?r=t.x1+t.width/2-this.width/2:"right"===this.horizontalAlign&&(r=t.x2-2-this.width);this.panel.style.top=m+"px";this.panel.style.left=r+"px";this.panel.style.height=this.height+"px";this.panel.style.width=this.width+"px";this.stockChart.layoutManager.registerSpace(d,
|
|
1123
|
-
2});this.bounds={x1:r,y1:m,x2:r+this.width,y2:m+this.height}}};A.prototype._updateSlider=function(d,l){if(!(0>=this.height)&&this.enabled){var r=this.chart.axisX&&this.chart.axisX.length?this.chart.axisX[0]:this.chart.axisX2[0];if(!f(r)){var m=Math.min(r.bounds.x2,Math.max(r.bounds.x1,r.convertValueToPixel(r.reversed?Math.max(d,Math.min(r.maximum,l)):Math.min(d,Math.min(r.maximum,l))))),a=Math.max(r.bounds.x1,Math.min(r.bounds.x2,r.convertValueToPixel(r.reversed?
|
|
1124
|
-
Math.max(d,Math.min(r.maximum,l)))));this.slider.panel.style.left=m+"px";this.slider.left=m;this.slider.panel.style.width=a-m+"px";this.slider.width=a-m;this.slider.minimum=Math.min(d,l);this.slider.maximum=Math.max(d,l);this.chart.resetOverlayedCanvas();this.slider.maskInverted?P(this.chart.overlaidCanvasCtx,m,0,a,this.height,this.slider.maskColor,0,this.slider.outlineColor,0,0,0,0,this.slider.maskOpacity):(P(this.chart.overlaidCanvasCtx,r.bounds.x1,0,m,this.height,
|
|
1125
|
-
|
|
1126
|
-
this.height-this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?m+0.5:m,this.height-this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.moveTo(1===this.slider.outlineThickness%2?m+0.5:m,this.height),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?m+0.5:m,this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?a-0.5:a,this.slider.outlineThickness/
|
|
1127
|
-
this.slider.outlineThickness%2?a-0.5:a,this.height),this.chart.overlaidCanvasCtx.moveTo(1===this.slider.outlineThickness%2?a-0.5:a,this.height-this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(this.width,this.height-this.slider.outlineThickness/2)):(this.chart.overlaidCanvasCtx.moveTo(r.bounds.x1,this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?m+0.5:m,this.slider.outlineThickness/2),
|
|
1128
|
-
2?m+0.5:m,0),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?m+0.5:m,this.height-this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?a-0.5:a,this.height-this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?a-0.5:a,0),this.chart.overlaidCanvasCtx.moveTo(1===this.slider.outlineThickness%2?a-0.5:a,this.slider.outlineThickness/
|
|
1129
|
-
2)));this.chart.overlaidCanvasCtx.stroke();this.chart.overlaidCanvasCtx.restore();P(this.chart.overlaidCanvasCtx,1===this.slider.handleBorderThickness%2?m-this.slider.handleWidth/2<<0.5:m-this.slider.handleWidth/2<<0,1===this.slider.handleBorderThickness%2?this.height/2-this.slider.handleHeight/2<<0.5:this.height/2-this.slider.handleHeight/2<<0,1===this.slider.handleBorderThickness%2?m+this.slider.handleWidth/2<<0.5:m+
|
|
1130
|
-
2+this.slider.handleHeight/2<<0.5:this.height/2+this.slider.handleHeight/2<<0,this.slider.handleColor,this.slider.handleBorderThickness,this.slider.handleBorderColor,!1,!1,!1,!1,1);P(this.chart.overlaidCanvasCtx,1===this.slider.handleBorderThickness%2?a-this.slider.handleWidth/2<<0.5:a-this.slider.handleWidth/2<<0,1===this.slider.handleBorderThickness%2?this.height/2-this.slider.handleHeight/2<<0.5:this.height/2-this.slider.handleHeight/
|
|
1131
|
-
2<<0.5:a+this.slider.handleWidth/2<<0,1===this.slider.handleBorderThickness%2?this.height/2+this.slider.handleHeight/2<<0.5:this.height/2+this.slider.handleHeight/2<<0,this.slider.handleColor,this.slider.handleBorderThickness,this.slider.handleBorderColor,!1,!1,!1,!1,1);this.chart.overlaidCanvasCtx.lineWidth=this.slider.handleBorderThickness;this.chart.overlaidCanvasCtx.strokeStyle=this.slider.handleBorderColor;this.chart.overlaidCanvasCtx.save();
|
|
1132
|
-
this.slider.handleBorderThickness%2?(m-this.slider.handleBorderThickness/2<<0)+0.5:m)-Math.round(this.slider.handleBorderThickness),this.height/2-this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.lineTo((1===this.slider.handleBorderThickness%2?(m-this.slider.handleBorderThickness/2<<0)+0.5:m)-Math.round(this.slider.handleBorderThickness),this.height/2+this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.moveTo((1===
|
|
1133
|
-
2<<0)+0.5:m)+Math.round(this.slider.handleBorderThickness),this.height/2-this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.lineTo((1===this.slider.handleBorderThickness%2?(m+this.slider.handleBorderThickness/2<<0)+0.5:m)+Math.round(this.slider.handleBorderThickness),this.height/2+this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.moveTo((1===this.slider.handleBorderThickness%2?(a-this.slider.handleBorderThickness/
|
|
1134
|
-
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.moveTo((1===this.slider.handleBorderThickness%2?(a+this.slider.handleBorderThickness/2<<0)+0.5:a)+Math.round(this.slider.handleBorderThickness),this.height/
|
|
1135
|
-
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()}}};ha(N,V);N.prototype._updateOptions=function(){this.updateOption("maskColor");this.updateOption("maskInverted");this.updateOption("maskOpacity");this.updateOption("handleColor");
|
|
1136
|
-
this.updateOption("handleWidth");this.updateOption("handleHeight");this.updateOption("outlineColor");this.updateOption("outlineThickness");this.updateOption("outlineInverted");this.updateOption("minimum");this.updateOption("maximum")};N.prototype._attachEvents=function(){var d=this;F(this.panel,"mousedown",function(f){d.stockChart.isDrag=!0;f.target!==d.leftHandle&&f.target!==d.rightHandle&&(d.stockChart.navigatorClicked
|
|
1137
|
-
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);F(this.panel,window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",function(f){d.stockChart._touchEventHandler(f)},this.stockChart.allDOMEventHandlers);
|
|
1138
|
-
l.target!==d.leftHandle&&l.target!==d.rightHandle){d.stockChart.navigatorClicked=!0;var r=za(l),m,a;m=0;var g=d.navigator.chart.axisX&&d.navigator.chart.axisX.length?d.navigator.chart.axisX[0]:d.navigator.chart.axisX2[0];l=d.navigator.slider.left;f(d.startLeft)&&(d.startLeft=l);m=l+d.navigator.slider.width;a=r.x-(l+m)/2;if(r.x<l||r.x>m){var r=Math.max(0,l+a),b=Math.min(m+a,d.navigator.width);m+a>d.navigator.width&&
|
|
1139
|
-
{stockChart:d.stockChart,source:"navigator",index:null,minimum:Math.min(g.convertPixelToValue(r),g.convertPixelToValue(b)),maximum:Math.max(g.convertPixelToValue(r),g.convertPixelToValue(b))};d.stockChart.sessionVariables._axisXMin=g.convertPixelToValue(r);d.stockChart.sessionVariables._axisXMax=g.convertPixelToValue(b);d.navigator.dynamicUpdate?(d.stockChart._rangeEventParameter.type="rangeChanging",d.stockChart.dispatchEvent("rangeChanging",
|
|
1140
|
-
g.convertPixelToValue(b)),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);F(this.navigator.panel,window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",
|
|
1141
|
-
F(this.navigator.stockChart.container,"mousemove",function(l){var r=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="ew-resize";var m;m=d.currentHandle===d.leftHandle?1:-1;var a=za(l);
|
|
1142
|
-
2+d.panel.offsetLeft):l===d.mask||l===d.panel?a.x+(d.panel.offsetLeft+(d.handleHeld?d.leftHandle.clientWidth/2:0)):l===d.rightHandle&&d.currentHandle===d.leftHandle?a.x+(d.rightHandle.offsetLeft+d.panel.offsetLeft):l===d.leftHandle&&d.currentHandle===d.rightHandle?a.x+(d.leftHandle.offsetLeft+d.currentHandle.clientWidth/2+d.panel.offsetLeft):a.x+(d.leftHandle.clientWidth/2+("canvasjs-chart-toolbar"===
|
|
1143
|
-
d.navigator.panel?l.offsetLeft:l.offsetLeft-d.stockChart._chartsPlotAreaX1));var g=a.x-d.startPosition.x;if(0!==g){l=d.panel.offsetLeft;var b=d.panel.clientWidth;0<m&&(l=Math.max(d.startLeft+m*g,d._left));d.panMode||(b=Math.min(d.startWidth-m*g,d.fullWidth),m*g>d.startWidth?(l=0<m?d.startLeft+d.startWidth:Math.max(a.x,d._left),b=(0<m?a.x:d.startLeft)-parseFloat(l)):
|
|
1144
|
-
d.panel.style.left=d.left+"px"),d.panMode||(d.panel.style.width=d.width=b+"px"),f(r)||(m=r.convertPixelToValue(Math.max(r.bounds.x1,parseFloat(l))),r=r.convertPixelToValue(parseFloat(l)+parseFloat(b)),d.stockChart.sessionVariables._axisXMin=m,d.stockChart.sessionVariables._axisXMax=r,d.stockChart.rangeSelector&&(d.stockChart.rangeSelector.enabled&&!d.panMode)&&d.stockChart.rangeSelector.resetRangeButtons(),
|
|
1145
|
-
r),maximum:Math.max(m,r)},d.navigator.dynamicUpdate?(d.stockChart._rangeEventParameter.type="rangeChanging",d.stockChart.dispatchEvent("rangeChanging",d.stockChart._rangeEventParameter,d.stockChart),d.stockChart._syncCharts(m,r),d.stockChart._rangeEventParameter.type="rangeChanged",d.stockChart.dispatchEvent("rangeChanged",d.stockChart._rangeEventParameter,d.stockChart)):d.navigator._updateSlider(d.stockChart.sessionVariables._axisXMin,
|
|
1146
|
-
"navigator")))}}else d.navigator.chart.overlaidCanvas.style.cursor=d.navigator.chart.container.style.cursor=d.navigator.panel.style.cursor="auto"},this.navigator.stockChart.allDOMEventHandlers);F(this.navigator.stockChart.container,window.navigator.msPointerEnabled?"MSPointerMove":"touchmove",function(f){d.stockChart._touchEventHandler(f)},this.navigator.stockChart.allDOMEventHandlers)};N.prototype._initialize=function(){var d=
|
|
1147
|
-
this.stockChart.navigator.options.slider?this.stockChart.navigator.options.slider:{_isPlaceholder:!0};this._updateOptions();da&&(this.eventsAttached||(this._attachEvents(),this.eventsAttached=!0),this.handleWidth=this.options.handleWidth?this.handleWidth:8,this.handleHeight=this.options.handleHeight?Math.min(this.navigator.height,this.options.handleHeight):0.25*this.navigator.height,this.leftHandle?S(this.leftHandle,
|
|
1148
|
-
left:"-"+(this.handleWidth/2+8)+"px",top:0,cursor:"ew-resize",borderStyle:"solid",borderWidth:this.handleBorderThickness+"px",borderColor:"transparent",outline:"none",padding:0,backgroundColor:"white",filter:"alpha(opacity = 0)",opacity:0,color:"transparent",fontSize:"12px",fontFamily:"Arial",userSelect:"none",MozUserSelect:"none",WebkitUserSelect:"none",zIndex:999}):(this.leftHandle=v("button","canvasjs-slider-handle",
|
|
1149
|
-
"px",width:this.handleWidth+10+"px",position:"absolute",left:"-"+(this.handleWidth/2+8)+"px",top:0,cursor:"ew-resize",borderStyle:"solid",borderWidth:this.handleBorderThickness+"px",borderColor:"transparent",outline:"none",padding:0,backgroundColor:"white",filter:"alpha(opacity = 0)",opacity:0,color:"transparent",fontSize:"12px",fontFamily:"Arial",userSelect:"none",MozUserSelect:"none",WebkitUserSelect:"none",
|
|
1150
|
-
this.rightHandle?S(this.rightHandle,{height:this.navigator.height+"px",width:this.handleWidth+10+"px",position:"absolute",right:"-"+(this.handleWidth/2+8)+"px",top:0,cursor:"ew-resize",borderStyle:"solid",borderWidth:this.handleBorderThickness+"px",borderColor:"transparent",outline:"none",padding:"0px",backgroundColor:"white",filter:"alpha(opacity = 0)",opacity:0,color:"transparent",fontSize:"12px",fontFamily:"Arial",
|
|
1151
|
-
zIndex:"999"}):(this.rightHandle=v("button","canvasjs-slider-handle","button"),this.rightHandle.innerHTML="||",S(this.rightHandle,{height:this.navigator.height+"px",width:this.handleWidth+10+"px",position:"absolute",right:"-"+(this.handleWidth/2+8)+"px",top:0,cursor:"ew-resize",borderStyle:"solid",borderWidth:this.handleBorderThickness+"px",borderColor:"transparent",outline:"none",padding:"0px",backgroundColor:"white",
|
|
1152
|
-
userSelect:"none",MozUserSelect:"none",WebkitUserSelect:"none",msUserSelect:"none",zIndex:"999"}),this.panel.appendChild(this.rightHandle),this.initHandle(this.rightHandle,-1)),S(this.panel,{position:"absolute",height:this.navigator.height+"px",left:0,width:"100%",cursor:"move",backgroundColor:"white",filter:"alpha(opacity = 0)",opacity:0}),this.fullWidth=this.panel.clientWidth,this._left=this.navigator.panel.offsetLeft,
|
|
1153
|
-
d.stockChart.rangeSelector.inputFields.enabled)for(var m=0;m<d.stockChart.rangeSelector.inputFields.elements.length;m++)f.target!=d.stockChart.rangeSelector.inputFields.elements[m]&&d.stockChart.rangeSelector.inputFields.elements[m].focused&&d.stockChart.rangeSelector.inputFields.elements[m].blur()},this.navigator.stockChart.allDOMEventHandlers),F(document,window.navigator.msPointerEnabled?"MSPointerDown":
|
|
1154
|
-
"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),F(document,"mouseup",function(r){d.panMode
|
|
1155
|
-
d.stockChart.sessionVariables._axisXMax);var m=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:Math.min(r,m),maximum:Math.max(r,m)});if(2<Math.abs(d.startLeft-d.left)||2<
|
|
1156
|
-
d.stockChart._rangeEventParameter,d.stockChart));for(var a=0;a<d.stockChart.charts.length;a++){l=d.stockChart.charts[a];l.toolTip&&l.toolTip.enabled&&l.toolTip.hide();for(var g=0;g<l.axisX.length;g++)l.axisX[g].setViewPortRange(r,m);for(g=0;g<l.axisX2.length;g++)l.axisX2[g].setViewPortRange(r,m);l.render()}d.stockChart.rangeSelector&&
|
|
1157
|
-
m);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),F(document,
|
|
1158
|
-
d.left)||2<Math.abs(d.startWidth-parseFloat(d.width)))&&d.stockChart.navigatorClicked){r=Math.min(d.stockChart.sessionVariables._axisXMin,d.stockChart.sessionVariables._axisXMax);var m=Math.max(d.stockChart.sessionVariables._axisXMin,d.stockChart.sessionVariables._axisXMax);f(d.stockChart._rangeEventParameter)&&(d.stockChart._rangeEventParameter=
|
|
1159
|
-
"rangeChanging",d.stockChart.dispatchEvent("rangeChanging",d.stockChart._rangeEventParameter,d.stockChart));for(var a=0;a<d.stockChart.charts.length;a++){l=d.stockChart.charts[a];l.toolTip&&l.toolTip.enabled&&l.toolTip.hide();for(var g=0;g<l.axisX.length;g++)l.axisX[g].setViewPortRange(r,m);for(g=0;g<l.axisX2.length;g++)l.axisX2[g].setViewPortRange(r,
|
|
1160
|
-
d.stockChart.rangeSelector._updateInputFields(r,m);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))};
|
|
1161
|
-
za(d);d.target===l.currentHandle?(l.startPosition.x+=l.currentHandle.offsetLeft+l.currentHandle.clientWidth/2+l.panel.offsetLeft,l.handleHeld=!0):d.target===l.panel&&(l.startPosition.x+=l.panel.offsetLeft);l.startWidth=l.panel.clientWidth;l.startLeft=l.panel.offsetLeft;d.preventDefault&&d.preventDefault();d.stopPropagation&&d.stopPropagation()},this.navigator.stockChart.allDOMEventHandlers),
|
|
1162
|
-
this.navigator.stockChart.allDOMEventHandlers))};ha(R,V);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();
|
|
1163
|
-
l,this.options.buttons[l]));else{for(l=0;6>l;l++)this.buttons.push(new T(this.stockChart,l));this.buttonLabels="1m 3m 6m YTD 1y All".split(" ")}this._wrapElements=!1;var r=this.stockChart.layoutManager.getFreeSpace(),m=r.x1,l=r.y1;this._shiftInputField=!0;this.width=this.options.width?this.width:r.width;f(this.buttonStyle.options.labelFontSize)&&
|
|
1164
|
-
this.stockChart.title.verticalAlign||"right"===this.stockChart.title.horizontalAlign&&"center"===this.stockChart.title.verticalAlign&&this.stockChart.exportEnabled)||"bottom"===this.verticalAlign)this._shiftInputField=!1;if(this.stockChart.subtitles)for(l=0;l<this.stockChart.subtitles.length;l++)this.stockChart.subtitles[l]&&(this.stockChart.subtitles[l].text&&
|
|
1165
|
-
this.stockChart.exportEnabled))&&(this._shiftInputField=!1);this.stockChart.navigator.enabled&&"top"===this.stockChart.navigator.verticalAlign&&(this._shiftInputField=!1);this.rangeButtonsWidth=0;if(this.buttons&&0<this.buttons.length){var a=new la(this.ctx,{x:0,y:0,backgroundColor:this.stockChart.backgroundColor,borderThickness:0,cornerRadius:0,
|
|
1166
|
-
f(this.stockChart._cultureInfo.rangeSelector.rangeText)?this.label:this.stockChart._cultureInfo.rangeSelector.rangeText,textAlign:"left",fontSize:this.buttonStyle.labelFontSize,fontFamily:this.buttonStyle.labelFontFamily,fontWeight:this.buttonStyle.labelFontWeight,fontColor:this.buttonStyle.labelFontColor,fontStyle:this.buttonStyle.labelFontStyle,
|
|
1167
|
-
(this.width-(this._label&&this._label.textBlock?this._label.textBlock.measureText().width:0))/this.buttons.length-2);for(l=0;l<this.buttons.length;l++){var g=this.buttons[l];g._index=l;a=new la(this.ctx,{x:0,y:0,backgroundColor:this.buttonStyle.backgroundColor,borderColor:this.buttonStyle.borderColor,borderThickness:this.buttonStyle.borderThickness,
|
|
1168
|
-
this.buttonStyle.maxWidth,maxHeight:1.5*this.buttonStyle.labelFontSize+("object"===typeof this.buttonStyle.padding?(this.buttonStyle.padding.top||0)+(this.buttonStyle.padding.bottom||0):2*this.buttonStyle.padding),angle:0,padding:this.buttonStyle.padding,text:this.options.buttons&&this.options.buttons.length?f(g.label)?"":g.label:this.buttonLabels[l],
|
|
1169
|
-
fontColor:this.buttonStyle.labelFontColor,fontStyle:this.buttonStyle.labelFontStyle,textBaseline:"middle"});!f(this.selectedRangeButtonIndex)&&this.selectedRangeButtonIndex===l&&this.hasOptionChanged("selectedRangeButtonIndex")?g.state="on":this.hasOptionChanged("selectedRangeButtonIndex")||"rangeButton"!==this.stockChart.rangeUpdatedBy||
|
|
1170
|
-
this.buttonStyle.width=a.width=Math.min(f(this.buttonStyle.options.width)?a.width:this.buttonStyle.options.width,a.maxWidth);this.rangeButtonsWidth+=a.width+this.buttonStyle.spacing;this.rangeButtonsHeight=a.height;d=d<a.height?a.height:d;g=this.buttons[l];g.id=++this.stockChart._eventManager.lastObjectId;this.stockChart._eventManager.objectMap[g.id]=
|
|
1171
|
-
0>this.options.height)this.height=0;this.height<this.inputFieldsHeight+this.inputFields.style.borderThickness+5&&(this.height=this.inputFieldsHeight+this.inputFields.style.borderThickness+5);this.height<d+this.buttonStyle.borderThickness+5&&(this.height=d+this.buttonStyle.borderThickness+5)}this._label&&(this._label.textBlock&&
|
|
1172
|
-
this._shiftInputField?40:0)&&(this.height=this.options.height?this.height:this.inputFieldsHeight+this.rangeButtonsHeight+12,this._wrapElements=!0);!this.inputFields.enabled&&(0===this.buttons.length&&f(this.options.height))&&(this.height=0);"bottom"===this.verticalAlign?(l=r.y2-this.height,d="bottom"):(l=r.y1,d="top");"left"===
|
|
1173
|
-
{width:this.width,height:this.height});this.bounds={x1:m,y1:l,x2:m+this.width,y2:l+this.height,width:this.width,height:this.height};for(l=0;l<this.buttons.length;l++)this.buttons[l]._initialize(l)}};R.prototype.render=function(){var d;this.setButtonsLayout();P(this.ctx,this.stockChart.bounds.x1,this.bounds.y1,
|
|
1174
|
-
(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&&this.inputFields.enabled&&this.renderInputFields(!0)};R.prototype.setButtonsLayout=
|
|
1175
|
-
this._label.textBlock.topPadding-this._label.textBlock.bottomPadding+this.buttons[0].textBlock.borderThickness)/2-this._label.textBlock.topPadding+this.buttons[0].textBlock.topPadding+2,this._label.bounds={x1:l,y1:a-this._label.textBlock.fontSize/2,x2:l+this._label.textBlock.measureText().width,
|
|
1176
|
-
this.
|
|
1177
|
-
f.bounds.x1=1===f.textBlock.borderThickness%2?(l<<0)+0.5:l,f.bounds.x2=m,a=(1===f.textBlock.borderThickness%2?this.bounds.y1+(f.textBlock.height-f.textBlock.topPadding-f.textBlock.bottomPadding+f.textBlock.borderThickness)/2<<0.5:this.bounds.y1+(f.textBlock.height-f.textBlock.topPadding-
|
|
1178
|
-
f.bounds.y2-f.bounds.y1,l=m+this.buttonStyle.spacing};R.prototype.resetRangeButtons=function(){for(var d=0;d<this.buttons.length;d++)this.buttons[d].enabled&&(this.buttons[d].state="off",this.buttons[d].textBlock.backgroundColor=this.buttonStyle.backgroundColor,this.buttons[d].textBlock.fontColor=
|
|
1179
|
-
|
|
1180
|
-
this.inputFields.valueFormatString,this.stockChart._cultureInfo);this.inputFields._labels[0].text=f(this.stockChart._cultureInfo.rangeSelector.fromText)?"From":this.stockChart._cultureInfo.rangeSelector.fromText;this.inputFields._labels[1].text=f(this.stockChart._cultureInfo.rangeSelector.toText)?"To":
|
|
1181
|
-
this.inputFields.style.width:this.inputFields.style.width=Math.abs(m.width-r._width)<=("dateTime"===this.inputFields.valueType?r.leftPadding+r.rightPadding:(r.leftPadding+r.rightPadding)/2)?r._width:m.width+r.leftPadding+r.rightPadding,r._width>this.inputFields.style.maxWidth&&
|
|
1182
|
-
d-(this.stockChart.exportEnabled&&this._shiftInputField?40:0),r.bounds.x2=r.bounds.x1+r._width,d+=this.inputFields._labels[l].measureText().width+2,this.inputFields._labels[l].x=this.inputFields._labels[l].bounds.x1=this.bounds.x2-d-(this.stockChart.exportEnabled&&this._shiftInputField?
|
|
1183
|
-
this.bounds.
|
|
1184
|
-
r.bounds.y2=this.inputFields._labels[l].bounds.y2=r.bounds.y1+m.height,m=f(this.inputFields.style.padding)||this.inputFields.style.options.width&&this.inputFields.style.width>=this.inputFields.style.options.width?0:isNaN(this.inputFields.style.padding)?(this.inputFields.style.padding.left||0)+
|
|
1185
|
-
2+"px",this.inputFields.elements[l].style.width=this.inputFields.style.width-this.inputFields.style.borderThickness-m+"px",0===m&&(this.inputFields.elements[l].style.paddingLeft=0,this.inputFields.elements[l].style.paddingRight=0),this.inputFields._labels[l].render(!0),r.render(!0))}};R.prototype._updateInputFields=
|
|
1186
|
-
!this.inputFields.elements[1].focused&&isFinite(f)&&(this.inputFields.elements[1].value="dateTime"===this.inputFields.valueType?qa(f,"YYYY-MM-DD"):aa(f,this.inputFields.valueFormatString));for(var l=0;l<this.inputFields.elements.length;l++)this.inputFields.elements[l].focused&&this.inputFields.elements[l].focus();
|
|
1187
|
-
this.updateOption("label");this.updateOption("range");this.updateOption("rangeType")};T.prototype._initialize=function(d){this._updateOptions();var l="1m 3m 6m YTD 1y All".split(" "),r=[1,3,6,null,1,null],m="month month month ytd year all".split(" ");this.range="undefined"!==typeof this.options.range?this.range:f(r[d])?
|
|
1188
|
-
ha(U,V);U.prototype._updateOptions=function(){this.updateOption("enabled");this.updateOption("startValue");this.updateOption("endValue");this.updateOption("valueType");this.updateOption("valueFormatString")};U.prototype._initialize=function(){this._updateOptions();f(this.style.options.fontSize)&&
|
|
1189
|
-
|
|
1190
|
-
"
|
|
1191
|
-
0)+"px"
|
|
1192
|
-
this.
|
|
1193
|
-
|
|
1194
|
-
(W&&(!window.CanvasJS.StockChart&&window.CanvasJS.Chart)&&(window.CanvasJS.StockChart=W),W&&!window.CanvasJS.Chart&&(window.CanvasJS.Chart=Ha,window.CanvasJS.StockChart=W))})();
|
|
1072
|
+
(b.state="off");this._axisXMin="rangeButton"===m.minimum&&(f(this._axisXMin)||this.rangeSelector.hasOptionChanged("selectedRangeButtonIndex"))?a:this._axisXMin;this._axisXMax=f(g)?f(this.sessionVariables._axisXMax)||this.navigator&&this.navigator.slider&&this.navigator.slider.hasOptionChanged("maximum")?this._axisXMax:this.sessionVariables._axisXMax:g}else b.cursor="not-allowed"}if(this.rangeSelector.inputFields&&this.rangeSelector.inputFields.enabled){this.rangeSelector.inputFields.valueType=this.options.rangeSelector&&
|
|
1073
|
+
this.options.rangeSelector.inputFields&&this.options.rangeSelector.inputFields.valueType?this.options.rangeSelector.inputFields.valueType:this.isDateTime?"dateTime":"number";for(d=0;d<this.rangeSelector.inputFields._textBlocks.length;d++)e=this.rangeSelector.inputFields._textBlocks[d],e.mousemove=function(a){t.rangeSelector&&t.rangeSelector.inputFields&&!t.rangeSelector.inputFields.enabled||(a.inputField.cursor=a.stockChart.rangeSelector.inputFields.style.cursor)},e.mouseover=function(a){t.rangeSelector&&
|
|
1074
|
+
t.rangeSelector.inputFields&&!t.rangeSelector.inputFields.enabled||(a.inputField.cursor=a.stockChart.rangeSelector.inputFields.style.cursor)},e.mouseout=function(a){t.rangeSelector&&t.rangeSelector.inputFields&&!t.rangeSelector.inputFields.enabled||(a.inputField.cursor="auto")},e.click=function(a){t.rangeSelector&&t.rangeSelector.inputFields&&!t.rangeSelector.inputFields.enabled||(a.stockChart.rangeSelector.inputFields.elements[a.inputFieldIndex].style.display="inline",a.stockChart.rangeSelector.inputFields.elements[a.inputFieldIndex].focus())};
|
|
1075
|
+
if(isFinite(k)&&isFinite(v)){"dateTime"===this.rangeSelector.inputFields.valueType?(this.rangeSelector.inputFields.valueFormatString=this.options.rangeSelector&&this.options.rangeSelector.inputFields&&this.options.rangeSelector.inputFields.valueFormatString?this.options.rangeSelector.inputFields.valueFormatString:"MMM DD YYYY",this.rangeSelector.inputFields.startValue=this.rangeSelector.inputFields.enabled&&!f(this.rangeSelector.inputFields.options.startValue)?qa(this.rangeSelector.inputFields.options.startValue,
|
|
1076
|
+
this.rangeSelector.inputFields.valueFormatString):f(a)?k:a,this.rangeSelector.inputFields.endValue=this.rangeSelector.inputFields.hasOptionChanged("endValue")&&this.rangeSelector.inputFields.enabled&&!f(this.rangeSelector.inputFields.options.endValue)?qa(this.rangeSelector.inputFields.options.endValue,this.rangeSelector.inputFields.valueFormatString):f(g)?f(this.sessionVariables._axisXMax)?v:this.sessionVariables._axisXMax:g):(this.rangeSelector.inputFields.valueFormatString=this.options.rangeSelector&&
|
|
1077
|
+
this.options.rangeSelector.inputFields&&this.options.rangeSelector.inputFields.valueFormatString?this.options.rangeSelector.inputFields.valueFormatString:"#,##0.##",this.rangeSelector.inputFields.startValue=this.rangeSelector.inputFields.enabled&&!f(this.rangeSelector.inputFields.options.startValue)?this.rangeSelector.inputFields.options.startValue:f(a)?k:a,this.rangeSelector.inputFields.endValue=this.rangeSelector.inputFields.hasOptionChanged("endValue")&&this.rangeSelector.inputFields.enabled&&
|
|
1078
|
+
!f(this.rangeSelector.inputFields.options.endValue)?this.rangeSelector.inputFields.options.endValue:f(g)?f(this.sessionVariables._axisXMax)?v:this.sessionVariables._axisXMax:g);var p,s;"dateTime"===this.rangeSelector.inputFields.valueType&&(p=qa(this.rangeSelector.inputFields.options.startValue||this.rangeSelector.inputFields.startValue,"YYYY-MM-DD'T'HH:mm:ss"),s=qa(this.rangeSelector.inputFields.endValue,"YYYY-MM-DD'T'HH:mm:ss"),w||(p=p.replace(/-/g,"/"),s=s.replace(/-/g,"/"),p=p.replace("T"," "),
|
|
1079
|
+
s=s.replace("T"," "),p=p.replace(/(\+[0-9]{2})(\:)([0-9]{2}$)/," UTC$1$3"),s=s.replace(/(\+[0-9]{2})(\:)([0-9]{2}$)/," UTC$1$3")));"navigator"!==m.minimum&&(this._axisXMin=!f(this._axisXMin)&&!f(m.minimum)&&"rangeButton"!==m.minimum&&"chart"!==m.minimum||"chart"===m.minimum&&(!this.rangeSelector.inputFields.enabled||f(this.rangeSelector.inputFields.options.startValue))?this._axisXMin:"dateTime"===this.rangeSelector.inputFields.valueType?(new Date(p)).getTime():this.rangeSelector.inputFields.startValue,
|
|
1080
|
+
this.rangeSelector.inputFields.enabled&&!f(this.rangeSelector.inputFields.options.startValue)&&(m.minimum="inputFields"));"navigator"!==m.maximum&&(this._axisXMax=!f(this._axisXMax)&&!f(m.maximum)&&"rangeButton"!==m.maximum&&"chart"!==m.maximum||"chart"===m.maximum&&(!this.rangeSelector.inputFields.enabled||f(this.rangeSelector.inputFields.options.endValue))?this._axisXMax:"dateTime"===this.rangeSelector.inputFields.valueType?(new Date(s)).getTime():this.rangeSelector.inputFields.endValue,this.rangeSelector.inputFields.enabled&&
|
|
1081
|
+
!f(this.rangeSelector.inputFields.options.endValue)&&(m.maximum="inputFields"))}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&&this.rangeSelector.enabled&&this.rangeSelector.render();this.navigator&&this.navigator.slider&&(this.navigator.slider.hasOptionChanged("minimum")||this.navigator.slider.hasOptionChanged("maximum"))?
|
|
1082
|
+
this.rangeUpdatedBy="rangeButton"===m.minimum?"rangeButton":"navigator":this.rangeSelector.inputFields.enabled&&this.rangeSelector.inputFields.hasOptionChanged("startValue")&&"navigator"!==m.minimum||this.rangeSelector.inputFields.enabled&&this.rangeSelector.inputFields.hasOptionChanged("endValue")&&"navigator"!==m.maximum?this.rangeUpdatedBy="rangeButton"===m.minimum?"rangeButton":"inputFields":this.rangeSelector.hasOptionChanged("selectedRangeButtonIndex")&&"rangeButton"===m.minimum&&(this.rangeUpdatedBy=
|
|
1083
|
+
"rangeButton");"rangeButton"!==this.rangeUpdatedBy&&(this.rangeSelector&&this.rangeSelector.enabled)&&this.rangeSelector.resetRangeButtons()}if(f(this._axisXMin)||f(m.minimum))this._axisXMin=k;if(f(this._axisXMax)||f(m.maximum))this._axisXMax=v;if(f(this._initialAxisXMin)||f(m.minimum))this._initialAxisXMin=this._axisXMin;if(f(this._initialAxisXMax)||f(m.maximum))this._initialAxisXMax=this._axisXMax;z!==this._prevViewportMinimum&&(this._prevViewportMinimum=z,"chart"===m.minimum&&(this.sessionVariables._axisXMin=
|
|
1084
|
+
this._initialAxisXMin=this._axisXMin));A!==this._prevViewportMaximum&&(this._prevViewportMaximum=A,"chart"===m.maximum&&(this.sessionVariables._axisXMax=this._initialAxisXMax=this._axisXMax));this.rangeSelector.enabled&&this.rangeSelector.hasOptionChanged("selectedRangeButtonIndex")&&"navigator"!==m.minimum&&"inputFields"!==m.minimum?(this.sessionVariables._axisXMin=this._initialAxisXMin=this._axisXMin,this.sessionVariables._axisXMax=this._axisXMax,"rangeButton"===m.maximum&&(this._initialAxisXMax=
|
|
1085
|
+
this._axisXMax)):(this._axisXMin=f(this.sessionVariables._axisXMin)||this.navigator.enabled&&(!this.navigator.slider||this.navigator.slider.hasOptionChanged("minimum"))||this.rangeSelector.enabled&&"navigator"!==m.minimum&&this.rangeSelector.inputFields.enabled&&this.rangeSelector.inputFields.hasOptionChanged("startValue")?this._axisXMin:this.sessionVariables._axisXMin,this._axisXMax=f(this.sessionVariables._axisXMax)||this.navigator.enabled&&(!this.navigator.slider||this.navigator.slider.hasOptionChanged("maximum"))||
|
|
1086
|
+
this.rangeSelector.enabled&&"navigator"!==m.maximum&&this.rangeSelector.inputFields.enabled&&this.rangeSelector.inputFields.hasOptionChanged("endValue")?this._axisXMax:this.sessionVariables._axisXMax);this.rangeSelector.enabled&&this.rangeSelector.hasOptionChanged("selectedRangeButtonIndex")&&(this.rangeSelector.sessionVariables.selectedRangeButtonIndex=this.rangeSelector.options.selectedRangeButtonIndex);this.rangeSelector.inputFields.enabled&&(this.rangeSelector.inputFields.hasOptionChanged("startValue")&&
|
|
1087
|
+
(this.navigator&&this.navigator.slider&&!f(this.navigator.slider.options.minimum)?this.sessionVariables._axisXMin=this._initialAxisXMin=this._axisXMin:this.sessionVariables._axisXMin=this._initialAxisXMin=this.rangeSelector.inputFields.options.startValue,this.rangeSelector.inputFields.sessionVariables.startValue=this.rangeSelector.inputFields.options.startValue),this.rangeSelector.inputFields.hasOptionChanged("endValue")&&(this.navigator&&this.navigator.slider&&!f(this.navigator.slider.options.maximum)?
|
|
1088
|
+
this.sessionVariables._axisXMax=this._initialAxisXMax=this._axisXMax:this.sessionVariables._axisXMax=this._initialAxisXMax=this.rangeSelector.inputFields.options.endValue,this.rangeSelector.inputFields.sessionVariables.endValue=this.rangeSelector.inputFields.options.endValue));if(!f(y)){this.navigator.slider.hasOptionChanged("minimum")&&void 0!==this.navigator.slider.options.minimum&&(this.sessionVariables._axisXMin=this._initialAxisXMin=this.navigator.slider.sessionVariables.minimum=this.navigator.slider.minimum=
|
|
1089
|
+
this.navigator.slider.options.minimum);this.navigator.slider.hasOptionChanged("maximum")&&void 0!==this.navigator.slider.options.maximum&&(this.sessionVariables._axisXMax=this._initialAxisXMax=this.navigator.slider.sessionVariables.maximum=this.navigator.slider.maximum=this.navigator.slider.options.maximum);if(this._initialAxisXMin<y.minimum||this._initialAxisXMin>y.maximum)this._initialAxisXMin=isFinite(y.minimum)?y.minimum:this._initialAxisXMin;if(this._initialAxisXMax<y.minimum||this._initialAxisXMax>
|
|
1090
|
+
y.maximum)this._initialAxisXMax=isFinite(y.maximum)?y.maximum:this._initialAxisXMax;if(this._axisXMin<y.minimum||this._axisXMin>y.maximum)this._axisXMin=y.minimum;if(this._axisXMax<y.minimum||this._axisXMax>y.maximum)this._axisXMax=y.maximum;m&&(f(m.minimum)&&f(this.sessionVariables._axisXMin))&&(this._axisXMin=y.minimum);m&&(f(m.maximum)&&f(this.sessionVariables._axisXMax))&&(this._axisXMax=y.maximum)}if(m&&f(m.minimum)&&f(m.maximum)||m&&("rangeButton"===m.minimum&&"rangeButton"===m.maximum)&&f(this.rangeUpdatedBy))for(d=
|
|
1091
|
+
0;d<this.rangeSelector.buttons.length;d++)"all"===this.rangeSelector.buttons[d].rangeType&&this.rangeSelector.buttons[d].enabled&&(this.rangeSelector.buttons[d].state="on",this.rangeSelector.selectedRangeButtonIndex=this._selectedRangeButtonIndex=d,m.minimum=m.maximum="rangeButton",this.rangeSelector.buttons[d].textBlock.fontWeight="bold",this.rangeSelector.buttons[d].textBlock.fontColor=this.rangeSelector.buttonStyle.labelFontColorOnHover,this.rangeSelector.buttons[d].textBlock.backgroundColor=this.rangeSelector.buttonStyle.backgroundColorOnSelect,
|
|
1092
|
+
this.rangeSelector.buttons[d].textBlock.render(!0));!f(y)&&y.reversed?this._syncCharts(this._axisXMax,this._axisXMin):this._syncCharts(this._axisXMin,this._axisXMax)};r.prototype.setChartsLayout=function(){var d,f,l=0,m=this.width;this.isPlotAreaSet=this.isDateTime=!1;for(var a=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<
|
|
1093
|
+
d.axisY.length&&d.axisY[0]){var b=d.axisY[0];f.x1=g.x1<g.x2?g.x1:b.lineCoordinates.x1;f.x2=g.x2>b.lineCoordinates.x2?g.x2:b.lineCoordinates.x2}d.axisY2&&0<d.axisY2.length&&d.axisY2[0]&&(b=d.axisY2[0],f.x1=g.x1<g.x2?g.x1:b.lineCoordinates.x1,f.x2=g.x2>b.lineCoordinates.x2?g.x2:b.lineCoordinates.x2)}for(g=0;g<d.data.length;g++)"dateTime"===d.data[g].xValueType&&(this.isDateTime=!0);l=Math.max(l,f.x1);m=Math.min(m,f.x2);d.sessionVariables.plotAreaBounds=f}this._chartsPlotAreaX1=l;this._chartsPlotAreaX2=
|
|
1094
|
+
m};r.prototype._updateSize=function(){return ib.call(this,[this.canvas,this.overlaidCanvas])};r.prototype._syncCharts=function(d,t){for(var l=this,m=null,a=Math.min(d,t),g=Math.max(d,t),b=0;b<this.charts.length;b++){m=this.charts[b];m.toolTip&&((isNaN(m.toolTip._prevX)||isNaN(m.toolTip._prevY))&&f(m.toolTip._xValue))&&m.toolTip.hide();for(var c=0;c<m.axisX.length;c++)m.axisX[c].setViewPortRange(d,t),m.axisX[c].options.labelAngle=f(m.axisX[c].options.labelAngle)?0:m.axisX[c].options.labelAngle,this.charts[b].axisX[c].crosshair&&
|
|
1095
|
+
this.charts[b].axisX[c].crosshair.enabled&&(this.charts[b].axisX[c].crosshair.options.updated||(this.charts[b].axisX[c].crosshair.options.updated=function(a){for(var b=0;b<l.charts.length;b++)if(l.charts[b]!=a.chart)for(var c=0;c<l.charts[b].axisX.length;c++)l.charts[b].axisX[c].crosshair&&l.charts[b].axisX[c].crosshair.showAt(a.value)}),this.charts[b].axisX[c].crosshair.options.hidden||(this.charts[b].axisX[c].crosshair.options.hidden=function(a){for(var b=0;b<l.charts.length;b++)if(l.charts[b]!=
|
|
1096
|
+
a.chart)for(var c=0;c<l.charts[b].axisX.length;c++)l.charts[b].axisX[c].crosshair&&l.charts[b].axisX[c].crosshair.hide()}));for(c=0;c<m.axisX2.length;c++)m.axisX2[c].setViewPortRange(d,t),m.axisX2[c].options.labelAngle=f(m.axisX2[c].options.labelAngle)?0:m.axisX2[c].options.labelAngle,this.charts[b].axisX2[c].crosshair&&this.charts[b].axisX2[c].crosshair.enabled&&(this.charts[b].axisX2[c].crosshair.options.updated||(this.charts[b].axisX2[c].crosshair.options.updated=function(a){for(var b=0;b<l.charts.length;b++)if(l.charts[b]!=
|
|
1097
|
+
a.chart)for(var c=0;c<l.charts[b].axisX2.length;c++)l.charts[b].axisX2[c].crosshair&&l.charts[b].axisX2[c].crosshair.showAt(a.value)}),this.charts[b].axisX2[c].crosshair.options.hidden||(this.charts[b].axisX2[c].crosshair.options.hidden=function(a){for(var b=0;b<l.charts.length;b++)if(l.charts[b]!=a.chart)for(var c=0;c<l.charts[b].axisX2.length;c++)l.charts[b].axisX2[c].crosshair&&l.charts[b].axisX2[c].crosshair.hide()}));m._initialize();m.setLayout();m.panEnabled=m.options.zoomEnabled&&m.zoomEnabled?
|
|
1098
|
+
!1:!0;m.renderElements();(f(this.charts[b].options.toolTip)||!f(this.charts[b].options.toolTip)&&f(this.charts[b].options.toolTip.updated))&&this.charts[b].toolTip&&(this.charts[b].toolTip.updated=function(a){for(var b=0;b<l.charts.length;b++)l.charts[b]!=a.chart&&l.charts[b].toolTip.showAtX(a.entries[0].xValue,a.entries[0].dataSeriesIndex)});(f(this.charts[b].options.toolTip)||!f(this.charts[b].options.toolTip)&&f(this.charts[b].options.toolTip.hidden))&&this.charts[b].toolTip&&(this.charts[b].toolTip.hidden=
|
|
1099
|
+
function(a){for(var b=0;b<l.charts.length;b++)l.charts[b]!=a.chart&&l.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&&this.navigator._updateSlider(a,g)};r.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();
|
|
1100
|
+
for(f=0;f<d.length;f++)db(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);for(;this.container&&this.container.hasChildNodes();)this.container.removeChild(this.container.lastChild);this.container=this._canvasJSContainer=
|
|
1101
|
+
null;Ba(this.canvas);Ba(this.overlaidCanvas);this._eventManager&&this._eventManager.ghostCanvas&&Ba(this._eventManager.ghostCanvas);this.navigator.panel=null;this.rangeSelector.panel=null};r.prototype.exportChart=function(d){d="undefined"===typeof d?{}:d;var f=d.format?d.format:"png",l=d.fileName?d.fileName:this.exportFileName,m=this.canvas.cloneNode();m.setAttribute("class",m.getAttribute("class")+"-clone");var a=m.getContext("2d");a.drawImage(this.canvas,0,0);for(var g=[],b=0;b<this.charts.length;b++){var c=
|
|
1102
|
+
this.charts[b];g.push({canvas:c.canvas,position:{x:c.container.offsetLeft,y:c.container.offsetTop}});g.push({canvas:c.overlaidCanvas,position:{x:c.container.offsetLeft,y:c.container.offsetTop}})}this.navigator&&this.navigator.enabled&&(b=this.navigator,g.push({canvas:b.chart.canvas,position:{x:b.panel.offsetLeft,y:b.panel.offsetTop}}),g.push({canvas:b.chart.overlaidCanvas,position:{x:b.panel.offsetLeft,y:b.panel.offsetTop}}));for(b=0;b<g.length;b++)a.drawImage(g[b].canvas,g[b].position.x*ka,g[b].position.y*
|
|
1103
|
+
ka);if(d.toDataURL)return m.toDataURL("image/"+f);ab(m,f,l)};r.prototype.print=function(){var d=this.exportChart({toDataURL:!0}),f=document.createElement("iframe");f.setAttribute("class","canvasjs-chart-print-frame");S(f,{position:"absolute",width:"100%",border:0,margin:0,padding:0});f.style.height=this.height+"px";this._canvasJSContainer.appendChild(f);var l=this,m=f.contentWindow||f.contentDocument.document||f.contentDocument;m.document.open();m.document.write('<!DOCTYPE HTML>\n<html><body><img src="'+
|
|
1104
|
+
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(){l._canvasJSContainer.removeChild(f)},1E3)},500)};r.prototype.getObjectAtXY=function(d,t,l){l=null;if(!f(this.rangeSelector)){for(var m=0;m<this.rangeSelector.buttons.length;m++){var a=this.rangeSelector.buttons[m];d>=a.bounds.x1&&(d<=a.bounds.x2&&t>=a.bounds.y1&&
|
|
1105
|
+
t<=a.bounds.y2)&&(l=a.id)}for(m=0;m<this.rangeSelector.inputFields._textBlocks.length;m++)a=this.rangeSelector.inputFields._textBlocks[m],d>=a.bounds.x1&&(d<=a.bounds.x2&&t>=a.bounds.y1&&t<=a.bounds.y2)&&(l=a.id)}return l};r.prototype._touchEventHandler=function(d){if(d.changedTouches){var t=[],l=d.changedTouches,m=l?l[0]:d,a=null;switch(d.type){case "touchstart":case "MSPointerDown":t=["mousemove","mousedown"];this._lastTouchData=za(m);this._lastTouchData.time=new Date;break;case "touchmove":case "MSPointerMove":t=
|
|
1106
|
+
["mousemove"];break;case "touchend":case "MSPointerUp":var g=this._lastTouchData&&this._lastTouchData.time?new Date-this._lastTouchData.time:0,t="touchstart"===this._lastTouchEventType||"MSPointerDown"===this._lastTouchEventType||300>g?["mouseup","click"]:["mouseup"];break;default:return}if(!(l&&1<l.length)){a=za(m);a.time=new Date;try{var b=a.y-this._lastTouchData.y,g=a.time-this._lastTouchData.time;if(1<Math.abs(b)&&this._lastTouchData.scroll||5<Math.abs(b)&&250>g)this._lastTouchData.scroll=!0}catch(c){}this._lastTouchEventType=
|
|
1107
|
+
d.type;if(this._lastTouchData&&this._lastTouchData.scroll)this.isDrag&&this.resetOverlayedCanvas(),this.isDrag=!1;else for(l=0;l<t.length;l++){a=t[l];b=document.createEvent("MouseEvent");b.initMouseEvent(a,!0,!0,window,1,m.screenX,m.screenY,m.clientX,m.clientY,!1,!1,!1,!1,0,null);m.target.dispatchEvent(b);if(this._lastTouchData&&!f(this._lastTouchData.scroll)&&!this._lastTouchData.scroll||this._lastTouchData&&!this._lastTouchData.scroll&&250<g&&f(this._chartScroll)||"click"===a)d.preventManipulation&&
|
|
1108
|
+
d.preventManipulation(),d.preventDefault&&d.cancelable&&d.preventDefault();this._chartScroll=null}}}};r.prototype._mouseEventHandler=function(d){"undefined"===typeof d.target&&d.srcElement&&(d.target=d.srcElement);var f=za(d),l=d.type,m,a;d.which?a=3==d.which:d.button&&(a=2==d.button);r.capturedEventParam&&(m=r.capturedEventParam,"mouseup"===l&&(r.capturedEventParam=null,m.stockChart.overlaidCanvas.releaseCapture?m.stockChart.overlaidCanvas.releaseCapture():document.documentElement.removeEventListener("mouseup",
|
|
1109
|
+
m.stockChart._mouseEventHandler,!1)),m.hasOwnProperty(l)&&("mouseup"!==l||m.stockChart.overlaidCanvas.releaseCapture?d.target!==m.stockChart.overlaidCanvas&&w||m[l].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(),Ja&&window.console&&(window.console.log(l+" --\x3e x: "+f.x+"; y:"+f.y),a&&window.console.log(d.which),
|
|
1110
|
+
"mouseup"===l&&window.console.log("mouseup")),!a){if(!r.capturedEventParam&&this._events){for(var g=0;g<this._events.length;g++)if(this._events[g].hasOwnProperty(l))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[l].call(m.context,f.x,f.y);"mousedown"===l&&!0===m.capture?(Chart.capturedEventParam=m,this.overlaidCanvas.setCapture?this.overlaidCanvas.setCapture():document.documentElement.addEventListener("mouseup",this._mouseEventHandler,!1)):"mouseup"===l&&(m.stockChart.overlaidCanvas.releaseCapture?
|
|
1111
|
+
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}l=this.bounds;(f.x<l.x1||f.x>l.x2||f.y<l.y1||f.y>l.y2)&&this.resetOverlayedCanvas();!this.isDrag&&this._eventManager&&this._eventManager.mouseEventHandler(d)}};r.prototype.resetOverlayedCanvas=function(){this.overlaidCanvasCtx.clearRect(0,0,this.width,this.height)};r.prototype.clearCanvas=jb;
|
|
1112
|
+
r.prototype.getAutoFontSize=kb;ha(z,Fa);ha(M,Ka);Ha.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,l=0;l<this.axisX.length;l++)this.axisX[l].lineCoordinates.x1+=f,this.axisX[l].lineCoordinates.x2-=d,this.axisX[l].lineCoordinates.width=this.axisX[l].lineCoordinates.x2-this.axisX[l].lineCoordinates.x1,this.axisX[l].bounds.x1+=f,this.axisX[l].bounds.x2-=
|
|
1113
|
+
d,this.axisX[l].calculateValueToPixelConversionParameters();for(l=0;l<this.axisX2.length;l++)this.axisX2[l].lineCoordinates.x1+=f,this.axisX2[l].lineCoordinates.x2-=d,this.axisX2[l].lineCoordinates.width=this.axisX2[l].lineCoordinates.x2-this.axisX2[l].lineCoordinates.x1,this.axisX2[l].bounds.x1+=f,this.axisX2[l].bounds.x2-=d,this.axisX2[l].calculateValueToPixelConversionParameters();for(l=0;l<this.axisY.length;l++)this.axisY[l].lineCoordinates.x1+=f,this.axisY[l].lineCoordinates.x2+=f,this.axisY[l].bounds.x1+=
|
|
1114
|
+
f,this.axisY[l].bounds.x2+=f;for(l=0;l<this.axisY2.length;l++)this.axisY2[l].lineCoordinates.x1-=d,this.axisY2[l].lineCoordinates.x2-=d,this.axisY2[l].bounds.x1-=d,this.axisY2[l].bounds.x2-=d}};Ha.prototype.syncCharts=function(d,l){this.stockChart&&(this.stockChart.sessionVariables._axisXMin=d,this.stockChart.sessionVariables._axisXMax=l,d=f(d)?this.stockChart._initialAxisXMin:d,l=f(l)?this.stockChart._initialAxisXMax:l,this.stockChart._syncCharts(d,l),this.stockChart.rangeSelector&&(this.stockChart.rangeSelector&&
|
|
1115
|
+
"zoom"!==this._zoomButton.getAttribute("state"))&&this.stockChart.rangeSelector.resetRangeButtons())};G.prototype.reset=function(){this.lastObjectId=0;this.objectMap=[];this.rectangularRegionEventSubscriptions=[];this.eventObjects=[];w&&(this.ghostCtx.clearRect(0,0,this.stockChart.width,this.stockChart.height),this.ghostCtx.beginPath())};G.prototype.getNewObjectTrackingId=function(){return++this.lastObjectId};G.prototype.mouseEventHandler=function(d){if("mousemove"===d.type||"click"===d.type){var f=
|
|
1116
|
+
[],l=za(d),m=null;if((m=this.stockChart.getObjectAtXY(l.x,l.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:l.x,y:l.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"};f.push(m)}else"inputFields"===
|
|
1117
|
+
m.objectType&&(a=this.stockChart.rangeSelector.inputFields._textBlocks[m.inputFieldIndex],m.eventParameter={x:l.x,y:l.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(l=0;l<this.mouseoveredObjectMaps.length;l++){for(var g=!0,m=0;m<f.length;m++)if(f[m].id===this.mouseoveredObjectMaps[l].id){g=!1;break}g?this.fireEvent(this.mouseoveredObjectMaps[l],
|
|
1118
|
+
"mouseout",d):a.push(this.mouseoveredObjectMaps[l])}this.mouseoveredObjectMaps=a;for(l=0;l<f.length;l++){a=!1;for(m=0;m<this.mouseoveredObjectMaps.length;m++)if(f[l].id===this.mouseoveredObjectMaps[m].id){a=!0;break}a||(this.fireEvent(f[l],"mouseover",d),this.mouseoveredObjectMaps.push(f[l]));"click"===d.type?this.fireEvent(f[l],"click",d):"mousemove"===d.type&&this.fireEvent(f[l],"mousemove",d)}}};G.prototype.fireEvent=function(d,f,l){if(d&&f){var m=d.eventParameter,a=d.eventContext,g=d.eventContext.userContext;
|
|
1119
|
+
g&&(a&&g[a[f]])&&g[a[f]].call(g,m);"mouseout"!==f?g.cursor&&g.cursor!==l.target.style.cursor&&(l.target.style.cursor=g.cursor):(l.target.style.cursor=this.stockChart._defaultCursor,delete d.eventParameter,delete d.eventContext)}};ha(A,V);A.prototype._updateOptions=function(){this.updateOption("enabled");this.updateOption("backgroundColor");"undefined"===typeof this.options.backgroundColor&&"undefined"!==typeof this.stockChart.options.backgroundColor&&(this.backgroundColor=this.stockChart.backgroundColor);
|
|
1120
|
+
this.backgroundColor||(this.backgroundColor="rgba(0, 0, 0, 0)");this.updateOption("animationEnabled");this.animationEnabled=this.animationEnabled&&w;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.options=this.stockChart.options.navigator||{_isPlaceholder:!0};this._updateOptions();
|
|
1121
|
+
var d;this.enabled&&!this.panel&&(this.panel=l("canvasjs-navigator-panel"),(d=!f(this.panel)&&this.stockChart._canvasJSContainer.contains(this.panel))||this.stockChart._canvasJSContainer.appendChild(this.panel));d=!f(this.panel)&&this.stockChart._canvasJSContainer.contains(this.panel);if(!this.enabled||0>=this.height)d&&this.stockChart._canvasJSContainer.removeChild(this.panel);else{this.height=f(this.options.height)?0.14*this.stockChart.height:parseInt(this.options.height);d||this.stockChart._canvasJSContainer.appendChild(this.panel);
|
|
1122
|
+
var t=this.stockChart.layoutManager.getFreeSpace(),r=t.x1,m=t.y1;this.width=this.options.width?this.width:t.width;"top"===this.verticalAlign?(m=t.y1+2,d="top"):(m=t.y2-this.height-2,d="bottom");"left"===this.horizontalAlign?r=t.x1-2:"center"===this.horizontalAlign?r=t.x1+t.width/2-this.width/2:"right"===this.horizontalAlign&&(r=t.x2-2-this.width);this.panel.style.top=m+"px";this.panel.style.left=r+"px";this.panel.style.height=this.height+"px";this.panel.style.width=this.width+"px";this.stockChart.layoutManager.registerSpace(d,
|
|
1123
|
+
{width:this.width,height:this.height+2});this.bounds={x1:r,y1:m,x2:r+this.width,y2:m+this.height}}};A.prototype._updateSlider=function(d,l){if(!(0>=this.height)&&this.enabled){var r=this.chart.axisX&&this.chart.axisX.length?this.chart.axisX[0]:this.chart.axisX2[0];if(!f(r)){var m=Math.min(r.bounds.x2,Math.max(r.bounds.x1,r.convertValueToPixel(r.reversed?Math.max(d,Math.min(r.maximum,l)):Math.min(d,Math.min(r.maximum,l))))),a=Math.max(r.bounds.x1,Math.min(r.bounds.x2,r.convertValueToPixel(r.reversed?
|
|
1124
|
+
Math.min(d,Math.min(r.maximum,l)):Math.max(d,Math.min(r.maximum,l)))));this.slider.panel.style.left=m+"px";this.slider.left=m;this.slider.panel.style.width=a-m+"px";this.slider.width=a-m;this.slider.minimum=Math.min(d,l);this.slider.maximum=Math.max(d,l);this.chart.resetOverlayedCanvas();this.slider.maskInverted?P(this.chart.overlaidCanvasCtx,m,0,a,this.height,this.slider.maskColor,0,this.slider.outlineColor,0,0,0,0,this.slider.maskOpacity):(P(this.chart.overlaidCanvasCtx,r.bounds.x1,0,m,this.height,
|
|
1125
|
+
this.slider.maskColor,0,this.slider.outlineColor,!1,!1,!1,!1,this.slider.maskOpacity),P(this.chart.overlaidCanvasCtx,a,0,this.width,this.height,this.slider.maskColor,0,this.slider.outlineColor,!1,!1,!1,!1,this.slider.maskOpacity));this.chart.overlaidCanvasCtx.lineWidth=this.slider.outlineThickness;this.chart.overlaidCanvasCtx.strokeStyle=this.slider.outlineColor;this.chart.overlaidCanvasCtx.save();this.chart.overlaidCanvasCtx.beginPath();0<this.slider.outlineThickness&&(this.slider.outlineInverted?
|
|
1126
|
+
(this.chart.overlaidCanvasCtx.moveTo(r.bounds.x1,this.height-this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?m+0.5:m,this.height-this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.moveTo(1===this.slider.outlineThickness%2?m+0.5:m,this.height),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?m+0.5:m,this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?a-0.5:a,this.slider.outlineThickness/
|
|
1127
|
+
2),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?a-0.5:a,this.height),this.chart.overlaidCanvasCtx.moveTo(1===this.slider.outlineThickness%2?a-0.5:a,this.height-this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(this.width,this.height-this.slider.outlineThickness/2)):(this.chart.overlaidCanvasCtx.moveTo(r.bounds.x1,this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?m+0.5:m,this.slider.outlineThickness/2),
|
|
1128
|
+
this.chart.overlaidCanvasCtx.moveTo(1===this.slider.outlineThickness%2?m+0.5:m,0),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?m+0.5:m,this.height-this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?a-0.5:a,this.height-this.slider.outlineThickness/2),this.chart.overlaidCanvasCtx.lineTo(1===this.slider.outlineThickness%2?a-0.5:a,0),this.chart.overlaidCanvasCtx.moveTo(1===this.slider.outlineThickness%2?a-0.5:a,this.slider.outlineThickness/
|
|
1129
|
+
2),this.chart.overlaidCanvasCtx.lineTo(this.width,this.slider.outlineThickness/2)));this.chart.overlaidCanvasCtx.stroke();this.chart.overlaidCanvasCtx.restore();P(this.chart.overlaidCanvasCtx,1===this.slider.handleBorderThickness%2?m-this.slider.handleWidth/2<<0.5:m-this.slider.handleWidth/2<<0,1===this.slider.handleBorderThickness%2?this.height/2-this.slider.handleHeight/2<<0.5:this.height/2-this.slider.handleHeight/2<<0,1===this.slider.handleBorderThickness%2?m+this.slider.handleWidth/2<<0.5:m+
|
|
1130
|
+
this.slider.handleWidth/2<<0,1===this.slider.handleBorderThickness%2?this.height/2+this.slider.handleHeight/2<<0.5:this.height/2+this.slider.handleHeight/2<<0,this.slider.handleColor,this.slider.handleBorderThickness,this.slider.handleBorderColor,!1,!1,!1,!1,1);P(this.chart.overlaidCanvasCtx,1===this.slider.handleBorderThickness%2?a-this.slider.handleWidth/2<<0.5:a-this.slider.handleWidth/2<<0,1===this.slider.handleBorderThickness%2?this.height/2-this.slider.handleHeight/2<<0.5:this.height/2-this.slider.handleHeight/
|
|
1131
|
+
2<<0,1===this.slider.handleBorderThickness%2?a+this.slider.handleWidth/2<<0.5:a+this.slider.handleWidth/2<<0,1===this.slider.handleBorderThickness%2?this.height/2+this.slider.handleHeight/2<<0.5:this.height/2+this.slider.handleHeight/2<<0,this.slider.handleColor,this.slider.handleBorderThickness,this.slider.handleBorderColor,!1,!1,!1,!1,1);this.chart.overlaidCanvasCtx.lineWidth=this.slider.handleBorderThickness;this.chart.overlaidCanvasCtx.strokeStyle=this.slider.handleBorderColor;this.chart.overlaidCanvasCtx.save();
|
|
1132
|
+
this.chart.overlaidCanvasCtx.beginPath();this.chart.overlaidCanvasCtx.moveTo((1===this.slider.handleBorderThickness%2?(m-this.slider.handleBorderThickness/2<<0)+0.5:m)-Math.round(this.slider.handleBorderThickness),this.height/2-this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.lineTo((1===this.slider.handleBorderThickness%2?(m-this.slider.handleBorderThickness/2<<0)+0.5:m)-Math.round(this.slider.handleBorderThickness),this.height/2+this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.moveTo((1===
|
|
1133
|
+
this.slider.handleBorderThickness%2?(m+this.slider.handleBorderThickness/2<<0)+0.5:m)+Math.round(this.slider.handleBorderThickness),this.height/2-this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.lineTo((1===this.slider.handleBorderThickness%2?(m+this.slider.handleBorderThickness/2<<0)+0.5:m)+Math.round(this.slider.handleBorderThickness),this.height/2+this.slider.handleHeight/4);this.chart.overlaidCanvasCtx.moveTo((1===this.slider.handleBorderThickness%2?(a-this.slider.handleBorderThickness/
|
|
1134
|
+
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.moveTo((1===this.slider.handleBorderThickness%2?(a+this.slider.handleBorderThickness/2<<0)+0.5:a)+Math.round(this.slider.handleBorderThickness),this.height/
|
|
1135
|
+
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()}}};ha(N,V);N.prototype._updateOptions=function(){this.updateOption("maskColor");this.updateOption("maskInverted");this.updateOption("maskOpacity");this.updateOption("handleColor");
|
|
1136
|
+
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")};N.prototype._attachEvents=function(){var d=this;F(this.panel,"mousedown",function(f){d.stockChart.isDrag=!0;f.target!==d.leftHandle&&f.target!==d.rightHandle&&(d.stockChart.navigatorClicked=
|
|
1137
|
+
!0,d.currentHandle=d.leftHandle,d.panMode=!0,d.startPosition=za(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);F(this.panel,window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",function(f){d.stockChart._touchEventHandler(f)},this.stockChart.allDOMEventHandlers);
|
|
1138
|
+
F(this.navigator.panel,"mousedown",function(l){if(l.target!==d.navigator.slider.panel&&l.target!==d.leftHandle&&l.target!==d.rightHandle){d.stockChart.navigatorClicked=!0;var r=za(l),m,a;m=0;var g=d.navigator.chart.axisX&&d.navigator.chart.axisX.length?d.navigator.chart.axisX[0]:d.navigator.chart.axisX2[0];l=d.navigator.slider.left;f(d.startLeft)&&(d.startLeft=l);m=l+d.navigator.slider.width;a=r.x-(l+m)/2;if(r.x<l||r.x>m){var r=Math.max(0,l+a),b=Math.min(m+a,d.navigator.width);m+a>d.navigator.width&&
|
|
1139
|
+
(m=m+a-d.navigator.width,r-=m);0>l+a&&(m=Math.abs(l+a),b+=m);d.stockChart._rangeEventParameter={stockChart:d.stockChart,source:"navigator",index:null,minimum:Math.min(g.convertPixelToValue(r),g.convertPixelToValue(b)),maximum:Math.max(g.convertPixelToValue(r),g.convertPixelToValue(b))};d.stockChart.sessionVariables._axisXMin=g.convertPixelToValue(r);d.stockChart.sessionVariables._axisXMax=g.convertPixelToValue(b);d.navigator.dynamicUpdate?(d.stockChart._rangeEventParameter.type="rangeChanging",d.stockChart.dispatchEvent("rangeChanging",
|
|
1140
|
+
d.stockChart._rangeEventParameter,d.stockChart),d.stockChart._syncCharts(g.convertPixelToValue(r),g.convertPixelToValue(b)),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);F(this.navigator.panel,window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",
|
|
1141
|
+
function(f){d.stockChart._touchEventHandler(f)},this.navigator.stockChart.allDOMEventHandlers);F(this.navigator.stockChart.container,"mousemove",function(l){var r=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="ew-resize";var m;m=d.currentHandle===d.leftHandle?1:-1;var a=za(l);
|
|
1142
|
+
l=l.target||l.srcElement;a.x=l===d.currentHandle?a.x+(d.currentHandle.offsetLeft+d.currentHandle.clientWidth/2+d.panel.offsetLeft):l===d.mask||l===d.panel?a.x+(d.panel.offsetLeft+(d.handleHeld?d.leftHandle.clientWidth/2:0)):l===d.rightHandle&&d.currentHandle===d.leftHandle?a.x+(d.rightHandle.offsetLeft+d.panel.offsetLeft):l===d.leftHandle&&d.currentHandle===d.rightHandle?a.x+(d.leftHandle.offsetLeft+d.currentHandle.clientWidth/2+d.panel.offsetLeft):a.x+(d.leftHandle.clientWidth/2+("canvasjs-chart-toolbar"===
|
|
1143
|
+
l.parentElement.className?l.offsetParent.offsetLeft+l.offsetLeft-d.stockChart._chartsPlotAreaX1:l.parentElement.parentElement.parentElement===d.navigator.panel?l.offsetLeft:l.offsetLeft-d.stockChart._chartsPlotAreaX1));var g=a.x-d.startPosition.x;if(0!==g){l=d.panel.offsetLeft;var b=d.panel.clientWidth;0<m&&(l=Math.max(d.startLeft+m*g,d._left));d.panMode||(b=Math.min(d.startWidth-m*g,d.fullWidth),m*g>d.startWidth?(l=0<m?d.startLeft+d.startWidth:Math.max(a.x,d._left),b=(0<m?a.x:d.startLeft)-parseFloat(l)):
|
|
1144
|
+
0>m&&(l=d.startLeft));l+b<=d._left+d.fullWidth&&(2<Math.abs(d.startLeft-l)||2<Math.abs(d.startWidth-parseFloat(b)))&&(0<m&&(d.left=l,d.panel.style.left=d.left+"px"),d.panMode||(d.panel.style.width=d.width=b+"px"),f(r)||(m=r.convertPixelToValue(Math.max(r.bounds.x1,parseFloat(l))),r=r.convertPixelToValue(parseFloat(l)+parseFloat(b)),d.stockChart.sessionVariables._axisXMin=m,d.stockChart.sessionVariables._axisXMax=r,d.stockChart.rangeSelector&&(d.stockChart.rangeSelector.enabled&&!d.panMode)&&d.stockChart.rangeSelector.resetRangeButtons(),
|
|
1145
|
+
d.stockChart._rangeEventParameter={stockChart:d.stockChart,source:"navigator",index:null,minimum:Math.min(m,r),maximum:Math.max(m,r)},d.navigator.dynamicUpdate?(d.stockChart._rangeEventParameter.type="rangeChanging",d.stockChart.dispatchEvent("rangeChanging",d.stockChart._rangeEventParameter,d.stockChart),d.stockChart._syncCharts(m,r),d.stockChart._rangeEventParameter.type="rangeChanged",d.stockChart.dispatchEvent("rangeChanged",d.stockChart._rangeEventParameter,d.stockChart)):d.navigator._updateSlider(d.stockChart.sessionVariables._axisXMin,
|
|
1146
|
+
d.stockChart.sessionVariables._axisXMax),d.panMode||(d.stockChart.rangeUpdatedBy="navigator")))}}else d.navigator.chart.overlaidCanvas.style.cursor=d.navigator.chart.container.style.cursor=d.navigator.panel.style.cursor="auto"},this.navigator.stockChart.allDOMEventHandlers);F(this.navigator.stockChart.container,window.navigator.msPointerEnabled?"MSPointerMove":"touchmove",function(f){d.stockChart._touchEventHandler(f)},this.navigator.stockChart.allDOMEventHandlers)};N.prototype._initialize=function(){var d=
|
|
1147
|
+
this,l;this.options=this.stockChart.navigator&&this.stockChart.navigator.options&&this.stockChart.navigator.options.slider?this.stockChart.navigator.options.slider:{_isPlaceholder:!0};this._updateOptions();da&&(this.eventsAttached||(this._attachEvents(),this.eventsAttached=!0),this.handleWidth=this.options.handleWidth?this.handleWidth:8,this.handleHeight=this.options.handleHeight?Math.min(this.navigator.height,this.options.handleHeight):0.25*this.navigator.height,this.leftHandle?S(this.leftHandle,
|
|
1148
|
+
{height:this.navigator.height+"px",width:this.handleWidth+10+"px",position:"absolute",left:"-"+(this.handleWidth/2+8)+"px",top:0,cursor:"ew-resize",borderStyle:"solid",borderWidth:this.handleBorderThickness+"px",borderColor:"transparent",outline:"none",padding:0,backgroundColor:"white",filter:"alpha(opacity = 0)",opacity:0,color:"transparent",fontSize:"12px",fontFamily:"Arial",userSelect:"none",MozUserSelect:"none",WebkitUserSelect:"none",zIndex:999}):(this.leftHandle=v("button","canvasjs-slider-handle",
|
|
1149
|
+
"button"),this.leftHandle.innerHTML="||",S(this.leftHandle,{height:this.navigator.height+"px",width:this.handleWidth+10+"px",position:"absolute",left:"-"+(this.handleWidth/2+8)+"px",top:0,cursor:"ew-resize",borderStyle:"solid",borderWidth:this.handleBorderThickness+"px",borderColor:"transparent",outline:"none",padding:0,backgroundColor:"white",filter:"alpha(opacity = 0)",opacity:0,color:"transparent",fontSize:"12px",fontFamily:"Arial",userSelect:"none",MozUserSelect:"none",WebkitUserSelect:"none",
|
|
1150
|
+
zIndex:999}),this.panel.appendChild(this.leftHandle),this.initHandle(this.leftHandle,1)),this.rightHandle?S(this.rightHandle,{height:this.navigator.height+"px",width:this.handleWidth+10+"px",position:"absolute",right:"-"+(this.handleWidth/2+8)+"px",top:0,cursor:"ew-resize",borderStyle:"solid",borderWidth:this.handleBorderThickness+"px",borderColor:"transparent",outline:"none",padding:"0px",backgroundColor:"white",filter:"alpha(opacity = 0)",opacity:0,color:"transparent",fontSize:"12px",fontFamily:"Arial",
|
|
1151
|
+
userSelect:"none",MozUserSelect:"none",WebkitUserSelect:"none",msUserSelect:"none",zIndex:"999"}):(this.rightHandle=v("button","canvasjs-slider-handle","button"),this.rightHandle.innerHTML="||",S(this.rightHandle,{height:this.navigator.height+"px",width:this.handleWidth+10+"px",position:"absolute",right:"-"+(this.handleWidth/2+8)+"px",top:0,cursor:"ew-resize",borderStyle:"solid",borderWidth:this.handleBorderThickness+"px",borderColor:"transparent",outline:"none",padding:"0px",backgroundColor:"white",
|
|
1152
|
+
filter:"alpha(opacity = 0)",opacity:0,color:"transparent",fontSize:"12px",fontFamily:"Arial",userSelect:"none",MozUserSelect:"none",WebkitUserSelect:"none",msUserSelect:"none",zIndex:"999"}),this.panel.appendChild(this.rightHandle),this.initHandle(this.rightHandle,-1)),S(this.panel,{position:"absolute",height:this.navigator.height+"px",left:0,width:"100%",cursor:"move",backgroundColor:"white",filter:"alpha(opacity = 0)",opacity:0}),this.fullWidth=this.panel.clientWidth,this._left=this.navigator.panel.offsetLeft,
|
|
1153
|
+
F(document,"mousedown",function(f){if(d.stockChart.rangeSelector&&d.stockChart.rangeSelector.inputFields&&d.stockChart.rangeSelector.inputFields.enabled)for(var m=0;m<d.stockChart.rangeSelector.inputFields.elements.length;m++)f.target!=d.stockChart.rangeSelector.inputFields.elements[m]&&d.stockChart.rangeSelector.inputFields.elements[m].focused&&d.stockChart.rangeSelector.inputFields.elements[m].blur()},this.navigator.stockChart.allDOMEventHandlers),F(document,window.navigator.msPointerEnabled?"MSPointerDown":
|
|
1154
|
+
"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),F(document,"mouseup",function(r){d.panMode=
|
|
1155
|
+
!1;d.navigator.stockChart.isDrag=!1;d.navigator.slider.handleHeld=!1;if(d.stockChart.navigatorClicked){r=Math.min(d.stockChart.sessionVariables._axisXMin,d.stockChart.sessionVariables._axisXMax);var m=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:Math.min(r,m),maximum:Math.max(r,m)});if(2<Math.abs(d.startLeft-d.left)||2<
|
|
1156
|
+
Math.abs(d.startWidth-parseFloat(d.width))){d.navigator.dynamicUpdate||(d.stockChart._rangeEventParameter.type="rangeChanging",d.stockChart.dispatchEvent("rangeChanging",d.stockChart._rangeEventParameter,d.stockChart));for(var a=0;a<d.stockChart.charts.length;a++){l=d.stockChart.charts[a];l.toolTip&&l.toolTip.enabled&&l.toolTip.hide();for(var g=0;g<l.axisX.length;g++)l.axisX[g].setViewPortRange(r,m);for(g=0;g<l.axisX2.length;g++)l.axisX2[g].setViewPortRange(r,m);l.render()}d.stockChart.rangeSelector&&
|
|
1157
|
+
(d.stockChart.rangeSelector.enabled&&d.stockChart.rangeSelector.inputFields&&d.stockChart.rangeSelector.inputFields.enabled)&&d.stockChart.rangeSelector._updateInputFields(r,m);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),F(document,
|
|
1158
|
+
window.navigator.msPointerEnabled?"MSPointerUp":"touchend",function(r){d.panMode=!1;d.navigator.stockChart.isDrag=!1;d.navigator.slider.handleHeld=!1;if((2<Math.abs(d.startLeft-d.left)||2<Math.abs(d.startWidth-parseFloat(d.width)))&&d.stockChart.navigatorClicked){r=Math.min(d.stockChart.sessionVariables._axisXMin,d.stockChart.sessionVariables._axisXMax);var m=Math.max(d.stockChart.sessionVariables._axisXMin,d.stockChart.sessionVariables._axisXMax);f(d.stockChart._rangeEventParameter)&&(d.stockChart._rangeEventParameter=
|
|
1159
|
+
{stockChart:d.stockChart,source:"navigator",index:null,minimum:Math.min(r,m),maximum:Math.max(r,m)});d.navigator.dynamicUpdate||(d.stockChart._rangeEventParameter.type="rangeChanging",d.stockChart.dispatchEvent("rangeChanging",d.stockChart._rangeEventParameter,d.stockChart));for(var a=0;a<d.stockChart.charts.length;a++){l=d.stockChart.charts[a];l.toolTip&&l.toolTip.enabled&&l.toolTip.hide();for(var g=0;g<l.axisX.length;g++)l.axisX[g].setViewPortRange(r,m);for(g=0;g<l.axisX2.length;g++)l.axisX2[g].setViewPortRange(r,
|
|
1160
|
+
m);l.render()}d.stockChart.rangeSelector&&(d.stockChart.rangeSelector.enabled&&d.stockChart.rangeSelector.inputFields&&d.stockChart.rangeSelector.inputFields.enabled)&&d.stockChart.rangeSelector._updateInputFields(r,m);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))};
|
|
1161
|
+
N.prototype.initHandle=function(d,f){var l=this;d&&(F(d,"mousedown",function(d){l.stockChart.navigatorClicked=!0;l.currentHandle=this;l.startPosition=za(d);d.target===l.currentHandle?(l.startPosition.x+=l.currentHandle.offsetLeft+l.currentHandle.clientWidth/2+l.panel.offsetLeft,l.handleHeld=!0):d.target===l.panel&&(l.startPosition.x+=l.panel.offsetLeft);l.startWidth=l.panel.clientWidth;l.startLeft=l.panel.offsetLeft;d.preventDefault&&d.preventDefault();d.stopPropagation&&d.stopPropagation()},this.navigator.stockChart.allDOMEventHandlers),
|
|
1162
|
+
F(d,window.navigator.msPointerEnabled?"MSPointerDown":"touchstart",function(d){l.stockChart._touchEventHandler(d)},this.navigator.stockChart.allDOMEventHandlers))};ha(R,V);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();
|
|
1163
|
+
this._label={};this.buttons=[];if(da&&this.enabled){if(this.options.buttons)for(var l=0;l<this.options.buttons.length;l++)this.buttons.push(new T(this.stockChart,l,this.options.buttons[l]));else{for(l=0;6>l;l++)this.buttons.push(new T(this.stockChart,l));this.buttonLabels="1m 3m 6m YTD 1y All".split(" ")}this._wrapElements=!1;var r=this.stockChart.layoutManager.getFreeSpace(),m=r.x1,l=r.y1;this._shiftInputField=!0;this.width=this.options.width?this.width:r.width;f(this.buttonStyle.options.labelFontSize)&&
|
|
1164
|
+
(this.buttonStyle.labelFontSize=this.stockChart.getAutoFontSize(this.buttonStyle.labelFontSize));if(this.stockChart.title&&this.stockChart.title.text&&("top"===this.stockChart.title.verticalAlign||"right"===this.stockChart.title.horizontalAlign&&"center"===this.stockChart.title.verticalAlign&&this.stockChart.exportEnabled)||"bottom"===this.verticalAlign)this._shiftInputField=!1;if(this.stockChart.subtitles)for(l=0;l<this.stockChart.subtitles.length;l++)this.stockChart.subtitles[l]&&(this.stockChart.subtitles[l].text&&
|
|
1165
|
+
("top"===this.stockChart.subtitles[l].verticalAlign||"right"===this.stockChart.subtitles[l].horizontalAlign&&"center"===this.stockChart.subtitles[l].verticalAlign&&this.stockChart.exportEnabled))&&(this._shiftInputField=!1);this.stockChart.navigator.enabled&&"top"===this.stockChart.navigator.verticalAlign&&(this._shiftInputField=!1);this.rangeButtonsWidth=0;if(this.buttons&&0<this.buttons.length){var a=new la(this.ctx,{x:0,y:0,backgroundColor:this.stockChart.backgroundColor,borderThickness:0,cornerRadius:0,
|
|
1166
|
+
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,textAlign:"left",fontSize:this.buttonStyle.labelFontSize,fontFamily:this.buttonStyle.labelFontFamily,fontWeight:this.buttonStyle.labelFontWeight,fontColor:this.buttonStyle.labelFontColor,fontStyle:this.buttonStyle.labelFontStyle,
|
|
1167
|
+
textBaseline:"middle"});this._label.textBlock=a;d=this._label.textBlock.measureText().height}f(this.buttonStyle.options.maxWidth)&&(this.buttonStyle.maxWidth=(this.width-(this._label&&this._label.textBlock?this._label.textBlock.measureText().width:0))/this.buttons.length-2);for(l=0;l<this.buttons.length;l++){var g=this.buttons[l];g._index=l;a=new la(this.ctx,{x:0,y:0,backgroundColor:this.buttonStyle.backgroundColor,borderColor:this.buttonStyle.borderColor,borderThickness:this.buttonStyle.borderThickness,
|
|
1168
|
+
cornerRadius:0,maxWidth:this.buttonStyle.options.width?this.buttonStyle.width<this.buttonStyle.maxWidth?this.buttonStyle.width:this.buttonStyle.maxWidth:this.buttonStyle.maxWidth,maxHeight:1.5*this.buttonStyle.labelFontSize+("object"===typeof this.buttonStyle.padding?(this.buttonStyle.padding.top||0)+(this.buttonStyle.padding.bottom||0):2*this.buttonStyle.padding),angle:0,padding:this.buttonStyle.padding,text:this.options.buttons&&this.options.buttons.length?f(g.label)?"":g.label:this.buttonLabels[l],
|
|
1169
|
+
textAlign:this.buttonStyle.labelTextAlign,fontSize:this.buttonStyle.labelFontSize,fontFamily:this.buttonStyle.labelFontFamily,fontWeight:this.buttonStyle.labelFontWeight,fontColor:this.buttonStyle.labelFontColor,fontStyle:this.buttonStyle.labelFontStyle,textBaseline:"middle"});!f(this.selectedRangeButtonIndex)&&this.selectedRangeButtonIndex===l&&this.hasOptionChanged("selectedRangeButtonIndex")?g.state="on":this.hasOptionChanged("selectedRangeButtonIndex")||"rangeButton"!==this.stockChart.rangeUpdatedBy||
|
|
1170
|
+
this.sessionVariables._clickedRangeButtonIndex!==l?g.state="off":g.state="on";g.textBlock=a;g.bounds={x1:null,x2:null,y1:null,y2:null,width:null,height:null};a.measureText();this.buttonStyle.width=a.width=Math.min(f(this.buttonStyle.options.width)?a.width:this.buttonStyle.options.width,a.maxWidth);this.rangeButtonsWidth+=a.width+this.buttonStyle.spacing;this.rangeButtonsHeight=a.height;d=d<a.height?a.height:d;g=this.buttons[l];g.id=++this.stockChart._eventManager.lastObjectId;this.stockChart._eventManager.objectMap[g.id]=
|
|
1171
|
+
{id:g.id,objectType:"rangeButton",rangeButtonIndex:l}}this.height=parseFloat(this.options.height);if(f(this.options.height)||isNaN(this.height)||0>this.options.height){if(isNaN(this.height)||0>this.options.height)this.height=0;this.height<this.inputFieldsHeight+this.inputFields.style.borderThickness+5&&(this.height=this.inputFieldsHeight+this.inputFields.style.borderThickness+5);this.height<d+this.buttonStyle.borderThickness+5&&(this.height=d+this.buttonStyle.borderThickness+5)}this._label&&(this._label.textBlock&&
|
|
1172
|
+
this.rangeButtonsWidth&&this.inputFieldsWidth)&&this.rangeButtonsWidth+this._label.textBlock.measureText().width+this.inputFieldsWidth>=this.width-(this.stockChart.exportEnabled&&this._shiftInputField?40:0)&&(this.height=this.options.height?this.height:this.inputFieldsHeight+this.rangeButtonsHeight+12,this._wrapElements=!0);!this.inputFields.enabled&&(0===this.buttons.length&&f(this.options.height))&&(this.height=0);"bottom"===this.verticalAlign?(l=r.y2-this.height,d="bottom"):(l=r.y1,d="top");"left"===
|
|
1173
|
+
this.horizontalAlign?m=r.x1+2:"center"===this.horizontalAlign?m=r.x1+r.width/2-this.width/2:"right"===this.horizontalAlign&&(m=r.x2-2-this.width);this.stockChart.layoutManager.registerSpace(d,{width:this.width,height:this.height});this.bounds={x1:m,y1:l,x2:m+this.width,y2:l+this.height,width:this.width,height:this.height};for(l=0;l<this.buttons.length;l++)this.buttons[l]._initialize(l)}};R.prototype.render=function(){var d;this.setButtonsLayout();P(this.ctx,this.stockChart.bounds.x1,this.bounds.y1,
|
|
1174
|
+
this.stockChart.bounds.x2,this.bounds.y2,this.stockChart.backgroundColor,0,null,0,0,0,0,1);this._label&&this._label.textBlock&&this._label.textBlock.render(!0);for(d=0;d<this.buttons.length;d++)this.buttons[d].enabled||(this.buttons[d].textBlock.backgroundColor=this.buttons[d].backgroundColorDisabled,this.buttons[d].textBlock.borderColor=this.buttons[d].backgroundColorDisabled),this.buttons[d].render(!0);this.inputFields&&this.inputFields.enabled&&this.renderInputFields(!0)};R.prototype.setButtonsLayout=
|
|
1175
|
+
function(){var d,f,l=this.bounds.x1+5,m,a;this._label&&(this._label.textBlock&&0<this.buttons.length)&&(this._label.textBlock.x=l,this._label.textBlock.y=a=this.bounds.y1+(this._label.textBlock.measureText().height-this._label.textBlock.topPadding-this._label.textBlock.bottomPadding+this.buttons[0].textBlock.borderThickness)/2-this._label.textBlock.topPadding+this.buttons[0].textBlock.topPadding+2,this._label.bounds={x1:l,y1:a-this._label.textBlock.fontSize/2,x2:l+this._label.textBlock.measureText().width,
|
|
1176
|
+
y2:a+this._label.textBlock.fontSize/2,width:this._label.textBlock.measureText().width,height:this._label.textBlock.measureText().height},l+=this._label.bounds.width);for(d=0;d<this.buttons.length;d++)f=this.buttons[d],this.buttonStyle.options.width?this.buttonStyle.options.maxWidth?f.textBlock.width=this.buttonStyle.options.width<this.buttonStyle.options.maxWidth?f.textBlock.maxWidth=this.buttonStyle.width:f.textBlock.maxWidth=this.buttonStyle.maxWidth:(f.textBlock.measureText(),f.textBlock.width=
|
|
1177
|
+
f.textBlock.maxWidth=f.textBlock.maxWidth<this.buttonStyle.width?f.textBlock.maxWidth:this.buttonStyle.width):(f.textBlock.measureText(),f.textBlock.maxWidth=this.buttonStyle.maxWidth),m=l+f.textBlock.width,f.textBlock.x=f.bounds.x1=1===f.textBlock.borderThickness%2?(l<<0)+0.5:l,f.bounds.x2=m,a=(1===f.textBlock.borderThickness%2?this.bounds.y1+(f.textBlock.height-f.textBlock.topPadding-f.textBlock.bottomPadding+f.textBlock.borderThickness)/2<<0.5:this.bounds.y1+(f.textBlock.height-f.textBlock.topPadding-
|
|
1178
|
+
f.textBlock.bottomPadding+f.textBlock.borderThickness)/2)+2,f.textBlock.y=a,f.bounds.y1=a-f.textBlock._lineHeight/2,f.bounds.y2=f.bounds.y1+f.textBlock.height,this.buttonStyle.width=f.bounds.width=m-l,f.bounds.height=f.bounds.y2-f.bounds.y1,l=m+this.buttonStyle.spacing};R.prototype.resetRangeButtons=function(){for(var d=0;d<this.buttons.length;d++)this.buttons[d].enabled&&(this.buttons[d].state="off",this.buttons[d].textBlock.backgroundColor=this.buttonStyle.backgroundColor,this.buttons[d].textBlock.fontColor=
|
|
1179
|
+
this.buttonStyle.labelFontColor,this.buttons[d].textBlock.fontWeight=this.buttonStyle.labelFontWeight);this.enabled&&this.render()};R.prototype.renderInputFields=function(){this.inputFields._textBlocks[0].text="dateTime"===this.inputFields.valueType&&isFinite(this.inputFields.startValue)?qa(this.inputFields.startValue,this.inputFields.valueFormatString,this.stockChart._cultureInfo):aa(this.inputFields.startValue,this.inputFields.valueFormatString,this.stockChart._cultureInfo);this.inputFields._textBlocks[1].text=
|
|
1180
|
+
"dateTime"===this.inputFields.valueType&&isFinite(this.inputFields.endValue)?qa(this.inputFields.endValue,this.inputFields.valueFormatString,this.stockChart._cultureInfo):aa(this.inputFields.endValue,this.inputFields.valueFormatString,this.stockChart._cultureInfo);this.inputFields._labels[0].text=f(this.stockChart._cultureInfo.rangeSelector.fromText)?"From":this.stockChart._cultureInfo.rangeSelector.fromText;this.inputFields._labels[1].text=f(this.stockChart._cultureInfo.rangeSelector.toText)?"To":
|
|
1181
|
+
this.stockChart._cultureInfo.rangeSelector.toText;for(var d=0,l=this.inputFields._textBlocks.length-1;0<=l;l--){var r=this.inputFields._textBlocks[l],m=r.measureText();""!==r.text&&(r._width=this.inputFields.style.options.width?this.inputFields.style.width:this.inputFields.style.width=Math.abs(m.width-r._width)<=("dateTime"===this.inputFields.valueType?r.leftPadding+r.rightPadding:(r.leftPadding+r.rightPadding)/2)?r._width:m.width+r.leftPadding+r.rightPadding,r._width>this.inputFields.style.maxWidth&&
|
|
1182
|
+
(r._width=this.inputFields.style.maxWidth),d+=r._width+this.inputFields.style.spacing,r.x=r.bounds.x1=1===r.borderThickness%2?(this.bounds.x2-d-(this.stockChart.exportEnabled&&this._shiftInputField?40:0)<<0)+0.5:this.bounds.x2-d-(this.stockChart.exportEnabled&&this._shiftInputField?40:0),r.bounds.x2=r.bounds.x1+r._width,d+=this.inputFields._labels[l].measureText().width+2,this.inputFields._labels[l].x=this.inputFields._labels[l].bounds.x1=this.bounds.x2-d-(this.stockChart.exportEnabled&&this._shiftInputField?
|
|
1183
|
+
40:0),this.inputFields._labels[l].bounds.x2=this.inputFields._labels[l].bounds.x1+this.inputFields._labels[l].measureText().width,this.inputFields.style.width=r.width=r._width,r.y=(1===r.borderThickness%2?(this._wrapElements?this.bounds.y1+this.rangeButtonsHeight+8:this.bounds.y1)+(r.height-r.topPadding-r.bottomPadding+r.borderThickness)/2<<0.5:(this._wrapElements?this.bounds.y1+this.rangeButtonsHeight+8:this.bounds.y1)+(r.height-r.topPadding-r.bottomPadding+r.borderThickness)/2)+2,this.inputFields._labels[l].y=
|
|
1184
|
+
(this._wrapElements?this.bounds.y1+this.rangeButtonsHeight+8:this.bounds.y1)+(r.height-r.topPadding-r.bottomPadding+r.borderThickness)/2+2,r.bounds.y1=this.inputFields._labels[l].bounds.y1=r.y-r._lineHeight/2,r.bounds.y2=this.inputFields._labels[l].bounds.y2=r.bounds.y1+m.height,m=f(this.inputFields.style.padding)||this.inputFields.style.options.width&&this.inputFields.style.width>=this.inputFields.style.options.width?0:isNaN(this.inputFields.style.padding)?(this.inputFields.style.padding.left||0)+
|
|
1185
|
+
(this.inputFields.style.padding.right||0):2*this.inputFields.style.padding,this.inputFields.elements[l].style.top=r.y-r._lineHeight/2+"px",this.inputFields.elements[l].style.left=r.bounds.x1+r.borderThickness/2+"px",this.inputFields.elements[l].style.width=this.inputFields.style.width-this.inputFields.style.borderThickness-m+"px",0===m&&(this.inputFields.elements[l].style.paddingLeft=0,this.inputFields.elements[l].style.paddingRight=0),this.inputFields._labels[l].render(!0),r.render(!0))}};R.prototype._updateInputFields=
|
|
1186
|
+
function(d,f){!this.inputFields.elements[0].focused&&isFinite(d)&&(this.inputFields.elements[0].value="dateTime"===this.inputFields.valueType?qa(d,"YYYY-MM-DD"):aa(d,this.inputFields.valueFormatString));!this.inputFields.elements[1].focused&&isFinite(f)&&(this.inputFields.elements[1].value="dateTime"===this.inputFields.valueType?qa(f,"YYYY-MM-DD"):aa(f,this.inputFields.valueFormatString));for(var l=0;l<this.inputFields.elements.length;l++)this.inputFields.elements[l].focused&&this.inputFields.elements[l].focus();
|
|
1187
|
+
this.inputFields.startValue=d;this.inputFields.endValue=f;this.enabled&&this.inputFields.enabled&&this.render()};ha(T,V);T.prototype._updateOptions=function(){this.updateOption("style");this.updateOption("label");this.updateOption("range");this.updateOption("rangeType")};T.prototype._initialize=function(d){this._updateOptions();var l="1m 3m 6m YTD 1y All".split(" "),r=[1,3,6,null,1,null],m="month month month ytd year all".split(" ");this.range="undefined"!==typeof this.options.range?this.range:f(r[d])?
|
|
1188
|
+
null:r[d];this.rangeType="undefined"!==typeof this.options.rangeType?this.rangeType:m[d];this.label=this.textBlock.text=f(this.options.label)?l[d]:this.label};T.prototype.render=function(){this.textBlock.render(!0)};ha(U,V);U.prototype._updateOptions=function(){this.updateOption("enabled");this.updateOption("startValue");this.updateOption("endValue");this.updateOption("valueType");this.updateOption("valueFormatString")};U.prototype._initialize=function(){this._updateOptions();f(this.style.options.fontSize)&&
|
|
1189
|
+
(this.style.fontSize=this.stockChart.getAutoFontSize(this.style.fontSize));if(!f(this.elements))for(var d=0;d<this.elements.length;d++)this.elements[d].style.position="absolute",this.elements[d].style.display="none";if(this.enabled){for(d=0;d<this.elements.length;d++)this.elements[d].style.position="absolute",this.elements[d].style.display=this.elements[d].focused?"inline":"none",this.elements[d].style.backgroundColor="transparent",this.elements[d].style.border="none",this.elements[d].style.outline=
|
|
1190
|
+
"none",this.elements[d].style.outlineOffset=0,this.elements[d].style.textAlign="center",this.elements[d].style.color=this.style.fontColor,this.elements[d].style.fontSize=this.elements[d].style.height=this.style.fontSize+"px",this.elements[d].style.fontStyle=this.style.fontStyle,this.elements[d].style.fontFamily=this.style.fontFamily,this.elements[d].style.fontWeight=this.style.fontWeight,this.elements[d].style.lineHeight=1,isNaN(this.style.padding)?(this.elements[d].style.paddingTop=(this.style.padding.top||
|
|
1191
|
+
0)+"px",this.elements[d].style.paddingRight=(this.style.padding.right||0)+"px",this.elements[d].style.paddingBottom=(this.style.padding.bottom||0)+"px",this.elements[d].style.paddingLeft=(this.style.padding.left||0)+"px"):this.elements[d].style.padding=this.style.padding+"px",this.elements[d].style.mozAppearance=this.elements[d].style.webkitAppearance=this.elements[d].style.appearance="none",this.elements[d].style.webkitBorderRadius=0,this.elements[d].style.mozBorderRadius=0,this.elements[d].style.borderRadius=
|
|
1192
|
+
0,this.elements[d].style.boxSizing="content-box";this.parent=this.rangeSelector=this.stockChart.rangeSelector}};ha(W,V);W.prototype._updateOptions=function(){this.updateOption("backgroundColor");this.updateOption("backgroundColorOnHover");this.updateOption("backgroundColorOnSelect");this.updateOption("borderColor");this.updateOption("borderThickness");this.updateOption("labelFontColor");this.updateOption("labelFontColorOnHover");this.updateOption("labelFontSize");this.updateOption("labelFontStyle");
|
|
1193
|
+
this.updateOption("labelFontFamily");this.updateOption("labelFontWeight");this.updateOption("width");this.updateOption("maxWidth");this.updateOption("padding");this.updateOption("spacing");this.updateOption("cursor")};ha(X,V);X.prototype._updateOptions=function(){this.updateOption("backgroundColor");this.updateOption("borderColor");this.updateOption("borderThickness");this.updateOption("borderColorOnFocus");this.updateOption("fontColor");this.updateOption("fontSize");this.updateOption("fontStyle");
|
|
1194
|
+
this.updateOption("fontFamily");this.updateOption("fontWeight");this.updateOption("width");this.updateOption("maxWidth");this.updateOption("padding");this.updateOption("spacing");this.updateOption("cursor")};return r}();W.version="v1.12.12 GA";window.CanvasJS&&(W&&(!window.CanvasJS.StockChart&&window.CanvasJS.Chart)&&(window.CanvasJS.StockChart=W),W&&!window.CanvasJS.Chart&&(window.CanvasJS.Chart=Ha,window.CanvasJS.StockChart=W))})();
|
|
1195
1195
|
|
|
1196
1196
|
/*
|
|
1197
1197
|
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.
|