454 lines
220 KiB
JavaScript
454 lines
220 KiB
JavaScript
/*
|
|
FusionCharts JavaScript Library
|
|
Copyright FusionCharts Technologies LLP
|
|
License Information at <http://www.fusioncharts.com/license>
|
|
|
|
@version 3.11.0
|
|
FusionCharts JavaScript Library
|
|
Copyright FusionCharts Technologies LLP
|
|
License Information at <http://www.fusioncharts.com/license>
|
|
|
|
@version 3.11.0
|
|
*/
|
|
FusionCharts.register("module",["private","modules.renderer.js-spark",function(){var H=this.hcLib,ca=H.BLANKSTRING,g=H.pluck,y=H.pluckNumber,F=H.extend2,f=H.chartAPI,E=H.graphics.getLightColor,e=H.COMMASTRING,G=H.graphics.convertColor,Ha=H.getValidValue,ga=Math,ka=ga.min,ba=ga.max,fa=ga.ceil,ha=H.toRaphaelColor,P=H.parseUnsafeString,t=H.graphics.getColumnColor,n=H.graphics.parseColor,ma=H.COLOR_TRANSPARENT,da=H.POSITION_BOTTOM,l=H.POSITION_MIDDLE,Ba=H.POSITION_START,aa=H.POSITION_END,Fa=H.HUNDREDSTRING,
|
|
ga=!/fusioncharts\.com$/i.test(this.window.location.hostname),Z=F({},H.defaultGaugePaletteOptions),$a=function(){var e=this.chart,f=e.config,g=f.dataLabelStyle,M=e.components.paper,A=this.config.valuePadding+2,l=this.graphics.dataLabelContainer||e.graphics.datalabelsGroup,t=f.sparkValues||(f.sparkValues={}),q=e.graphics,q=q.sparkLabels||(q.sparkLabels={}),n=e.linkedItems.smartLabel,y=e.get("config","animationObj"),e=y.transposeAnimDuration,y=y.animType,E="[",P="]",F="|",G={"class":"fusioncharts-label",
|
|
"text-anchor":aa,fill:g.color,"font-size":g.fontSize,"font-weight":g.fontWeight,"font-style":g.fontStyle,"font-family":g.fontFamily,visibility:"visible"},W={x:0,y:0};l&&l.attr({"clip-rect":null});W.y=.5*f.canvasHeight+f.canvasTop;W.x=f.canvasLeft-A;if(t.openValue&&t.openValue.label||q.openValue)q.openValue||(q.openValue=M.text(l).attr(W)),q.openValue.attr({text:t.openValue.label}).attr(G).attr({"line-height":g.lineHeight,"text-bound":[g.backgroundColor,g.borderColor,g.borderThickness,g.borderPadding,
|
|
g.borderRadius,g.borderDash]}).css("color",t.openValue.color),e?q.openValue.animate(W,e,y):q.openValue.attr(W);G["text-anchor"]=Ba;W.x=f.canvasWidth+f.canvasLeft+A;if(t.closeValue&&t.closeValue.label||q.closeValue)q.closeValue||(q.closeValue=M.text(l).attr(W)),q.closeValue.attr({text:t.closeValue.label}).attr(G).attr({"line-height":g.lineHeight,"text-bound":[g.backgroundColor,g.borderColor,g.borderThickness,g.borderPadding,g.borderRadius,g.borderDash]}).css("color",t.closeValue.color),e?q.closeValue.animate(W,
|
|
e,y):q.closeValue.attr(W),W.x+=t.closeValue.smartObj&&t.closeValue.smartObj.width+2+A||0;if(t.highLowValue&&t.highLowValue.label||q.highValue)t.highLowValue&&t.highLowValue.label===ca&&(F=E=P=ca),q.startBraces||(q.startBraces=M.text(l).attr(W).attr(G)),q.highValue||(q.highValue=M.text(l).attr(W).attr(G)),q.separater||(q.separater=M.text(l).attr(W).attr(G)),q.lowValue||(q.lowValue=M.text(l).attr(W).attr(G)),q.endBraces||(q.endBraces=M.text(l).attr(W).attr(G)),n.useEllipsesOnOverflow(f.useEllipsesWhenOverflow),
|
|
n.setStyle(g),q.startBraces.attr({text:E}),e?q.startBraces.animate(W,e,y):q.startBraces.attr(W),W.x+=n.getSmartText(E).width,q.highValue.attr({text:t.highValue.label}).css("color",t.highValue.color),e?q.highValue.animate(W,e,y):q.highValue.attr(W),W.x+=n.getSmartText(t.highValue.label).width,q.separater.attr({text:F}),e?q.separater.animate(W,e,y):q.separater.attr(W),W.x+=n.getSmartText(F).width,q.lowValue.attr({text:t.lowValue.label}).css("color",t.lowValue.color),e?q.lowValue.animate(W,e,y):q.lowValue.attr(W),
|
|
W.x+=n.getSmartText(t.lowValue.label).width,q.endBraces.attr({text:P}),e?q.endBraces.animate(W,e,y):q.endBraces.attr(W);this.labelDrawn=!0},ua=function(){var e=this.chart,f=e.jsonData.chart,t=e.components,e=t.colorManager,M=this.components.data,t=t.xAxis[0],A=y(f.periodlength,0),l;l=t.getLimit();t.config.axisData.band.isDraw=!0;A&&t.setAxisData({alternateGridColor:g(f.periodcolor,e.getColor("periodColor")),alternateGridAlpha:g(f.periodalpha,100),showAlternateGridColor:!0,categoryNumDivLines:M&&(l.max-
|
|
l.min)/A-1,categoryDivLinesFromZero:0});t.draw()};f("sparkchartbase",{standaloneInit:!0,creditLabel:ga,showBorder:0,chartTopMargin:3,chartRightMargin:3,chartBottomMargin:3,chartLeftMargin:3,canvasBorderThickness:1,subTitleFontSizeExtender:0,subTitleFontWeight:0,defaultPaletteOptions:function(e,f){var g;e||(e={});for(g in f)e[g]=f[g];return e}(F({},Z),{paletteColors:[["555555","A6A6A6","CCCCCC","E1E1E1","F0F0F0"],["A7AA95","C4C6B7","DEDFD7","F2F2EE"],["04C2E3","66E7FD","9CEFFE","CEF8FF"],["FA9101",
|
|
"FEB654","FED7A0","FFEDD5"],["FF2B60","FF6C92","FFB9CB","FFE8EE"]],bgColor:["FFFFFF","CFD4BE,F3F5DD","C5DADD,EDFBFE","A86402,FDC16D","FF7CA0,FFD1DD"],bgAngle:[270,270,270,270,270],bgRatio:["0,100","0,100","0,100","0,100","0,100"],bgAlpha:["100","60,50","40,20","20,10","30,30"],canvasBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],canvasBgAngle:[0,0,0,0,0],canvasBgAlpha:["100","100","100","100","100"],canvasBgRatio:[ca,ca,ca,ca,ca],canvasBorderColor:["BCBCBC","BEC5A7","93ADBF","C97901","FF97B1"],
|
|
toolTipBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],toolTipBorderColor:["545454","545454","415D6F","845001","68001B"],baseFontColor:["333333","60634E","025B6A","A15E01","68001B"],trendColor:["666666","60634E","415D6F","845001","68001B"],plotFillColor:["666666","A5AE84","93ADBF","C97901","FF97B1"],borderColor:["767575","545454","415D6F","845001","68001B"],borderAlpha:[50,50,50,50,50],periodColor:["EEEEEE","ECEEE6","E6ECF0","FFF4E6","FFF2F5"],winColor:["666666","60634E","025B6A","A15E01",
|
|
"FF97B1"],lossColor:["CC0000","CC0000","CC0000","CC0000","CC0000"],drawColor:["666666","A5AE84","93ADBF","C97901","FF97B1"],scorelessColor:["FF0000","FF0000","FF0000","FF0000","FF0000"]}),_setAxisLimits:function(){var e=this.components.yAxis;e[0]&&e[0].setAxisData({numDivLines:0});f.mscartesian._setAxisLimits.call(this)},_fetchCaptionPos:function(){return-1},_spaceManager:function(){var e,f=this.config,g=f.canvasBaseDepth,M=this.components.canvas.config.canvasBorderWidth;e=f.borderWidth;var A=f.canvasMarginTop,
|
|
t=f.canvasMarginBottom,l=f.canvasMarginLeft,q=f.canvasMarginRight,n=f.minCanvasHeight,y=f.minCanvasWidth,E=f.height,P=f.width,G=!1,F=!1,W=f.origCanvasTopMargin,da=f.origCanvasBottomMargin,N=f.origCanvasLeftMargin,H=f.origCanvasRightMargin;this._allocateSpace({top:e,bottom:e,left:e,right:e});e=.325*f.availableHeight;this._getDSspace&&this._allocateSpace(this._getDSspace(e));f.availableWidth=f.width;e=.75*f.availableWidth;e=e-f.origMarginLeft-f.origMarginRight-2*f.borderWidth;e=ba(.1*f.availableWidth,
|
|
e);this._manageChartMenuBar(e);e=.75*(f.availableWidth-2*f.borderWidth);this._placeOpenCloseValues&&this._allocateSpace(this._placeOpenCloseValues(e));this._allocateSpace({top:M,bottom:M,left:M,right:M});this._allocateSpace({bottom:g});n>E-A-t&&(G=!0,M=f.canvasHeight-n,g=A+t,A=f.canvasMarginTop=M*A/g,t=f.canvasMarginBottom=M*t/g);y>P-l-q&&(F=!0,M=f.canvasWidth-y,g=l+q,l=f.canvasMarginLeft=M*l/g,q=f.canvasMarginRight=M*q/g);A=A>f.canvasTop?A-f.canvasTop:0;t=t>E-f.canvasBottom?t+f.canvasBottom-E:0;
|
|
l=l>f.canvasLeft?l-f.canvasLeft:0;q=q>P-f.canvasRight?q+f.canvasRight-P:0;this._allocateSpace({top:A,bottom:t,left:l,right:q});G&&(g=W+da,G=f.canvasHeight,G>n&&(M=G-n,A=M*W/g,t=M*da/g),this._allocateSpace({top:A,bottom:t}));F&&(g=N+H,n=f.canvasWidth,n>y&&(M=n-y,l=M*N/g,q=M*H/g),this._allocateSpace({left:l,right:q}));void 0!==f.origCanvasLeftMargin&&(f.canvasWidth=ba(f.canvasWidth+f.canvasLeft-f.origCanvasLeftMargin,.2*f.availableWidth),f.canvasLeft=f.origCanvasLeftMargin)},_manageCaptionSpacing:function(e){var f=
|
|
this.config,t=this.components,M=t.caption,A=t.subCaption,l=M.config,n=A.config,M=M.components,A=A.components,q=this.jsonData.chart,E=this.linkedItems.smartLabel,G=P(q.caption),F=P(q.subcaption),q=l.captionPadding=y(q.captionpadding,2),da=t.chartMenuBar.getLogicalSpace(),H=f.height-da.height,ma=0,da=0,W=ba(t.canvas.config.canvasBorderThickness,0),ha=0,t={},N,aa;3<.7*H&&(q<W&&(q=W+2),l.captionPadding=n.captionPadding=q,G!==ca&&(aa=l.style,ma=l.captionLineHeight=fa(parseFloat(g(aa.fontHeight,aa.lineHeight),
|
|
10),12)),F!==ca&&(N=n.style,da=fa(parseInt(g(N.lineHeight,N.fontHeight),10),12)),E.useEllipsesOnOverflow(f.useEllipsesWhenOverflow),0<ma||0<da)&&(E.setStyle(aa),f=E.getSmartText(G,e,H),0<f.width&&(f.width+=2,ha=f.height),E.setStyle(N),N=E.getSmartText(F,e,H-ha),0<N.width&&(N.width+=2),l.captionSubCaptionGap=f.height+0+.2*da,Math.max(f.width,N.width),M.text=f.text,l.height=f.height,l.width=f.width,l.tooltext&&(M.originalText=f.tooltext),A.text=N.text,n.height=N.height,n.width=N.width,n.tooltext&&(M.originalText=
|
|
N.tooltext),M=Math.max(f.width,N.width),l.captionPadding=q=ka(e-M,q),0<M&&(M=ka(e,M+q)),l.maxCaptionWidth=n.maxCaptionWidth=M,l.isOnLeft?t.left=M:t.right=M);return t},_manageCaptionPosition:function(){var e=this.config,f=this.components,g=f.caption.config,f=f.subCaption.config,t=g.captionPosition,A=ba(g.width,f.width),n=e.borderWidth||0,y=e.height,q=(e.sparkValues||{}).openValueWidth||0,E=g.captionPadding,P=g.captionSubCaptionGap;switch(t){case l:g.y=(y-(g.height+f.height))/2+.5*(g._offsetHeight||
|
|
0);break;case da:g.y=y-(g.height+f.height)-e.marginBottom-n;break;default:g.y=e.marginTop+n+(g._offsetHeight||0)}f.y=g.y+P;g.isOnLeft?(g.align=f.align=aa,g.x=f.x=e.canvasLeft-(n+q+2+E)+e.borderWidth):(g.align=f.align=Ba,g.x=f.x=e.width-e.marginRight-A-n)}},f.sscartesian);f("sparkcolumn",{standaloneInit:!0,creditLabel:ga,friendlyName:"sparkcolumn Chart",defaultDatasetType:"sparkcolumn",_parseCanvasCosmetics:function(){var e,f,t=this.config;f=this.components;var l=f.canvas.config,A=this.jsonData.chart;
|
|
f=f.colorManager;var n,E=this.is3D?H.chartPaletteStr.chart3D:H.chartPaletteStr.chart2D,q=l.isRoundEdges=y(A.useroundedges,0);e=y(A.showxaxisline,A.showyaxisline,0)?0:1;l.canvasBorderRadius=y(A.plotborderradius,q?2:0);e=l.showCanvasBorder=Boolean(y(A.showcanvasborder,e,void 0,q?0:1));n=l.oriCanvasBorderThickness=ba(y(A.canvasborderthickness,q?0:y(this.canvasborderthickness,1),0));l.canvasBorderWidth=this.is3D?0:e?n:0;l.canvasBorderColor=G(g(A.canvasbordercolor,f.getColor("canvasBorderColor")),g(A.canvasborderalpha,
|
|
f.getColor("canvasBorderAlpha")));e=l.canBGAlpha=g(A.canvasbgalpha,f.getColor("canvasBgAlpha"));l.canBGColor={FCcolor:{color:g(A.canvasbgcolor,f.getColor(E.canvasBgColor)),alpha:g(A.canvasbgalpha,100),angle:g(A.canvasbgangle,0),ratio:g(A.canvasbgratio)}};f=l.shadow=y(A.showshadow,q,0)&&q?{enabled:!0,opacity:e/100}:0;l.shadowOnCanvasFill=f&&f.enabled;t.origMarginTop=y(A.charttopmargin,3);t.origMarginLeft=y(A.chartleftmargin,3);t.origMarginBottom=y(A.chartbottommargin,3);t.origMarginRight=y(A.chartrightmargin,
|
|
3);t.origCanvasLeftMargin=y(A.canvasleftmargin);t.origCanvasRightMargin=y(A.canvasrightmargin);t.origCanvasTopMargin=y(A.canvastopmargin);t.origCanvasBottomMargin=y(A.canvasbottommargin);l.canvasPadding=y(A.canvaspadding,0);l.origCanvasTopPad=y(A.canvastoppadding,0);l.origCanvasBottomPad=y(A.canvasbottompadding,0);l.origCanvasLeftPad=y(A.canvasleftpadding,0);l.origCanvasRightPad=y(A.canvasrightpadding,0)},canvasBorderThickness:1,singleseries:!1},f.sparkchartbase);FusionCharts.register("component",
|
|
["dataset","sparkcolumn",{_setConfigure:function(f){var l=this.chart,n=l.jsonData.chart,M=this.config,A=this.JSONData,P=f||A.data,G=P&&P.length,q=l.config.categories,q=q&&q.length;f=f&&f.data.length||ka(q,G);var G=M.showHoverEffect,F=l.components.colorManager,l=M.isRoundEdges,da,H,ma,aa,ba,W,Z,N,ga,Ba,fa,ua,ya,Ha,Sa,wa,pa,ea,Ma;M.plotgradientcolor=ca;M.showValues=y(A.showvalues,n.showvalues,0);M.showShadow=y(n.showshadow,0);this.__base__._setConfigure.call(this);q=this.components.data;ea=M.maxValue;
|
|
Ma=M.minValue;F=g(n.plotfillcolor,F.getColor("plotFillColor"));ga=g(n.plotfillalpha,Fa);Ba=g(n.plotborderalpha,Fa);fa=g(n.plotbordercolor,F);ua=g(n.highcolor,"000000");ya=g(n.lowcolor,"000000");Ha=g(n.highbordercolor,n.plotbordercolor,ua);Sa=g(n.lowbordercolor,n.plotbordercolor,ya);M.plotBorderThickness=Z=y(n.showplotborder,0)?y(n.plotborderthickness,1):0;for(pa=0;pa<f;pa++)if(wa=P[pa],aa=q[pa],N=aa.config,da=F,H=fa,N.setValue==ea&&(da=ua,H=Ha),aa.config.setValue==Ma&&(da=ya,H=Sa),N.colorArr=da=t(da+
|
|
e+M.plotgradientcolor,ga,"0","90",l,H,Ba,0,0),0!==G&&da){H=ma=void 0;N.setValue==ea&&(H=n.highhovercolor,ma=n.highhoveralpha);aa.config.setValue==Ma&&(H=n.lowhovercolor,ma=n.lowhoveralpha);H=g(wa.hovercolor,A.hovercolor,H,n.plotfillhovercolor,n.columnhovercolor,da[0].FCcolor.color);H=H.split(/\s{0,},\s{0,}/);aa=H.length;for(ba=0;ba<aa;ba++)H[ba]=E(H[ba],70);H=H.join(",");ma=g(wa.hoveralpha,A.hoveralpha,ma,n.plotfillhoveralpha,n.columnhoveralpha,ga);aa=g(wa.hovergradientcolor,A.hovergradientcolor,
|
|
n.plothovergradientcolor,M.plotgradientcolor);!aa&&(aa=ca);ba=g(wa.borderhovercolor,A.borderhovercolor,n.plotborderhovercolor,M.plotBorderColor);W=g(wa.borderhoveralpha,A.borderhoveralpha,n.plotborderhoveralpha,n.plotfillhoveralpha,Ba,ga);y(wa.borderhoverthickness,A.borderhoverthickness,n.plotborderhoverthickness,Z);1==G&&H===da[0].FCcolor.color&&(H=E(H,70));wa=t(H+e+aa,ma,"0","90",l,ba,W.toString(),0,0);N.setRolloutAttr={fill:ha(da[0]),stroke:Z&&ha(da[1]),"stroke-width":Z};N.setRolloverAttr={fill:ha(wa[0]),
|
|
stroke:Z&&ha(wa[1]),"stroke-width":Z}}},draw:function(){this.__base__.draw.call(this);ua.call(this)}},"Column"]);FusionCharts.register("component",["datasetGroup","SparkColumn",{},"column"]);f("sparkwinloss",{standaloneInit:!0,friendlyName:"sparkwinloss Chart",creditLabel:ga,defaultDatasetType:"sparkwinloss",canvasBorderThickness:0,applicableDSList:{sparkwinloss:!0},_setAxisLimits:function(){var e=this.components.yAxis;f.mscartesian._setAxisLimits.call(this);e[0]&&e[0].setAxisRange({min:-1,max:1})},
|
|
_placeOpenCloseValues:function(e){var f=this.config,g=this.components.dataset[0],l=this.linkedItems.smartLabel,t=f.dataLabelStyle,n=y(t.borderThickness,0),E=g.config.valuePadding+2+n,q=0,g=0,n=f.sparkValues||{};l.useEllipsesOnOverflow(f.useEllipsesWhenOverflow);l.setStyle(t);n.openValue&&n.openValue.label&&(n.openValue.smartObj=l.getSmartText(n.openValue.label),q=n.openValue.smartObj.width+E);n.closeValue&&n.closeValue.label&&(n.closeValue.smartObj=l.getSmartText(n.closeValue.label),g+=n.closeValue.smartObj.width+
|
|
E);n.highValue&&n.highValue.label&&(n.highValue.smartObj=l.getSmartText(n.highValue.label));n.lowValue&&n.lowValue.label&&(n.lowValue.smartObj=l.getSmartText(n.lowValue.label));n.highLowValue&&n.highLowValue.label&&(n.highLowValue.smartObj=l.getSmartText(n.highLowValue.label),g+=n.highLowValue.smartObj.width+E);f=n.openValueWidth=ka(q,e);e=n.closeValueWidth=ka(g,e-f);return{left:f,right:e}},_parseCanvasCosmetics:function(){var e,f;e=this.components;var n=this.config,l=e.canvas.config,t=this.jsonData.chart,
|
|
E=e.colorManager;l.canvasBorderRadius=0;e=l.canvasBorderThickness=0;f=l.showCanvasBorder=0;l.canvasBorderWidth=f?e:0;l.canvasBorderColor=G(g(t.canvasbordercolor,E.getColor("canvasBorderColor")));l.canBGColor=ma;e=l.shadow=0;l.shadowOnCanvasFill=e&&e.enabled;l.origCanvasTopPad=y(t.canvastoppadding,0);l.origCanvasBottomPad=y(t.canvasbottompadding,0);l.origCanvasLeftPad=y(t.canvasleftpadding,0);l.origCanvasRightPad=y(t.canvasrightpadding,0);n.origCanvasLeftMargin=y(t.canvasleftmargin);n.origCanvasRightMargin=
|
|
y(t.canvasrightmargin);n.origCanvasTopMargin=y(t.canvastopmargin);n.origCanvasBottomMargin=y(t.canvasbottommargin)},singleseries:!0},f.sparkchartbase);FusionCharts.register("component",["dataset","sparkwinloss",{_setConfigure:function(e,f){var n=this.chart,l=this.config,t=this.JSONData,P=e||t.data,G=P&&P.length,q=n.config.categories,q=q&&q.length,G=e&&e.data.length||ka(q,G),q=n.jsonData.chart,F=n.components,da=F.colorManager,F=F.xAxis[0],ma=l.showPlotBorder,aa=l.plotColor=da.getPlotColor(this.index||
|
|
this.positionIndex),Z=H.parseUnsafeString,ga=g(q.plotfillcolor,da.getColor("plotFillColor")),W=g(q.wincolor,da.getColor("winColor")),Ba=g(q.losscolor,da.getColor("lossColor")),N=g(q.drawcolor,da.getColor("drawColor")),da=g(q.scorelesscolor,da.getColor("scorelessColor")),fa=q.winhovercolor,ua=q.losshovercolor,Va=q.drawhovercolor,$a=q.scorelesshovercolor,ya=0,Ra=0,Sa=0,wa,pa,ea=l.plotBorderThickness,Ma=l.isRoundEdges,Za=l.showHoverEffect,Na=l.plotFillAngle,Aa,bb,Ta,Ka,Oa=l.plotBorderDashStyle,ia,sa,
|
|
xa,La,cb,a,d,b,c,k,I=H.getDashStyle,h=this.components.data,r=n.isBar,m=n.is3D,$,Wa=l.maxValue||-Infinity,p=l.minValue||Infinity,qa;h||(h=this.components.data=[]);this.__base__._setConfigure.call(this);l.plotgradientcolor="";xa=l.showPlotBorder=y(q.showplotborder,0);l.plotBorderAlpha=xa?g(q.plotborderalpha,Aa,Fa):0;for($=l.showTooltip=0;$<G;$++){e?(ia=e&&e.data[$],qa=void 0!==f?f+$:h.length-G+$,pa=h[qa]):(pa=h[$],ia=P[$]);xa=pa&&pa.config;pa||(pa=h[$]={});pa.config||(xa=h[$].config={});switch((ia.value||
|
|
"").toLowerCase()){case "w":aa=g(ia.color,W,ga);La=g(ia.hovercolor,fa,aa);xa.setValue=sa=1;ya+=1;break;case "l":aa=g(ia.color,Ba,ga);La=g(ia.hovercolor,ua,aa);xa.setValue=sa=-1;Ra+=1;break;case "d":aa=g(ia.color,N,ga);La=g(ia.hovercolor,Va,aa);xa.setValue=sa=.1;Sa+=1;break;default:xa.setValue=sa=null}1==ia.scoreless&&(aa=g(ia.color,da,ga),La=g(ia.hovercolor,$a,ia.color,da,La));xa.toolText=!1;xa.setLink=g(ia.link);xa.setDisplayValue=Z(ia.displayvalue);Ka=y(ia.dashed);Aa=y(ia.dashlen,void 0);cb=pa=
|
|
y(ia.dashgap,l.plotDashGap);null!==sa&&(Wa=ba(Wa,sa),p=ka(p,sa));xa.plotBorderDashStyle=Ka=1===Ka?I(Aa,cb,ea):0===Ka?"none":Oa;Aa=g(ia.alpha,l.plotFillAlpha);Ta=g(ia.alpha,l.plotBorderAlpha,Aa).toString();0>sa&&!Ma&&(wa=l.plotfillAngle,Na=r?180-Na:360-Na);xa.colorArr=sa=H.graphics.getColumnColor(aa+","+l.plotgradientcolor,Aa,bb=l.plotFillRatio,Na,Ma,l.plotBorderColor,Ta,r?1:0,m?!0:!1);xa.label=Ha(Z(F.getLabel(y(qa-G,$)).label));0!==Za&&(La=g(ia.hovercolor,t.hovercolor,q.plotfillhovercolor,q.columnhovercolor,
|
|
aa),cb=g(ia.hoveralpha,t.hoveralpha,q.plotfillhoveralpha,q.columnhoveralpha,Aa),a=g(ia.hovergradientcolor,t.hovergradientcolor,q.plothovergradientcolor,l.plotgradientcolor),!a&&(a=""),bb=g(ia.hoverratio,t.hoverratio,q.plothoverratio,bb),d=y(360-ia.hoverangle,360-t.hoverangle,360-q.plothoverangle,Na),b=g(ia.borderhovercolor,t.borderhovercolor,q.plotborderhovercolor,l.plotBorderColor),Ta=g(ia.borderhoveralpha,t.borderhoveralpha,q.plotborderhoveralpha,Ta,Aa),Aa=y(ia.borderhoverthickness,t.borderhoverthickness,
|
|
q.plotborderhoverthickness,ea),c=y(ia.borderhoverdashed,t.borderhoverdashed,q.plotborderhoverdashed),k=y(ia.borderhoverdashgap,t.borderhoverdashgap,q.plotborderhoverdashgap,void 0),ia=y(ia.borderhoverdashlen,t.borderhoverdashlen,q.plotborderhoverdashlen,pa),ia=c?I(ia,k,Aa):Ka,1==Za&&La===aa&&(La=E(La,70)),pa=H.graphics.getColumnColor(La+","+a,cb,bb,d,Ma,b,Ta.toString(),r?1:0,m?!0:!1),xa.setRolloutAttr={fill:m?[ha(sa[0]),!l.use3DLighting]:ha(sa[0]),stroke:ma&&ha(sa[1]),"stroke-width":ea,"stroke-dasharray":Ka},
|
|
xa.setRolloverAttr={fill:m?[ha(pa[0]),!l.use3DLighting]:ha(pa[0]),stroke:ma&&ha(pa[1]),"stroke-width":Aa,"stroke-dasharray":ia});wa&&(Na=wa);qa++}l.maxValue=1;l.minValue=-1;1==y(q.showvalue,1)&&(n.config.sparkValues={closeValue:{}},n.config.sparkValues.closeValue.label=ya+"-"+Ra+(0<Sa?"-"+Sa:ca))},draw:function(){this.__base__.draw.call(this);ua.call(this)},drawLabel:$a},"Column"]);FusionCharts.register("component",["datasetGroup","SparkWinLoss",{manageSpace:function(){},draw:function(){var e=this.positionStackArr,
|
|
f=e.length,l,n,g,t,E=this.chart;l=E.config.viewPortConfig.scaleX||1;n=E.is3D;g=E.graphics.columnGroup;var q=E.graphics;t=E.components.canvas.config.clip["clip-canvas"].slice(0);q=q.datalabelsGroup;E=E.get("config","animationObj").duration;t[2]*=l;g.clip||n||(g.attr({"clip-rect":t}),q.attr({}));E?(!n&&g.animate({"clip-rect":t},E,"normal"),!n&&q.animate({},E,"normal")):(!n&&g.attr({"clip-rect":t}),!n&&q.attr({}));this.preDrawCalculate();this.drawSumValueFlag=!0;for(l=0;l<f;l++)for(n=e[l],g=n.length,
|
|
this.manageClip=!0,n=0;n<g;n++)t=e[l][n].dataSet,t.draw()}},"column"]);f("sparkline",{standaloneInit:!0,friendlyName:"SparkLine Chart",creditLabel:ga,defaultDatasetType:"sparkline",singleseries:!0,showValues:0,_parseCanvasCosmetics:f.sparkwinloss._parseCanvasCosmetics,_placeOpenCloseValues:f.sparkwinloss._placeOpenCloseValues,defaultPlotShadow:0,axisPaddingLeft:0,axisPaddingRight:0,applicableDSList:{line:!0}},f.sparkchartbase,{showValues:0});FusionCharts.register("component",["dataset","sparkline",
|
|
{type:"sparkline",configure:function(){var e=this.config,f=this.JSONData,l=this.chart.jsonData.chart;this.__base__.configure.call(this);e.lineThickness=y(f.linethickness,l.linethickness,1)},_setConfigure:function(e){var f=this.chart,l=this.config,t=this.JSONData,A=f.jsonData.chart,t=e||t.data,P,G=f.components.xAxis[0];e=e&&e.data.length||G.getCategoryLen();var q=f.components.colorManager,f=f.config,F,da,G=n(g(A.opencolor,"0099FF")),H=n(g(A.closecolor,"0099FF")),aa=n(g(A.highcolor,"00CC00")),ma=n(g(A.lowcolor,
|
|
"CC0000")),ha=n(g(A.anchorcolor,q.getColor("plotFillColor")));da=y(A.showopenanchor,A.drawanchors,A.showanchors,1);var W=y(A.showcloseanchor,A.drawanchors,A.showanchors,1),Z=y(A.showhighanchor,A.drawanchors,A.showanchors,1),N=y(A.showlowanchor,A.drawanchors,A.showanchors,1),ba=y(A.anchoralpha,100),ga=y(A.drawanchors,A.showanchors,0)?y(A.anchoralpha,100):0,Ba=g(A.linecolor,q.getColor("plotFillColor")),fa,ya,ua,ka,Fa,pa;this.__base__._setConfigure.call(this);q=this.components.data;ya=l.maxValue;ua=
|
|
l.minValue;l.shadow={opacity:y(A.showshadow,0)?l.lineAlpha/100:0};P=q[0];F=P.config;F.anchorProps.bgColor=g(P.anchorbgcolor,G);F.anchorProps.enabled=!!da;F.anchorProps.bgAlpha=da?ka:0;F.anchorProps.enabled&&F.hoverEffects&&(F.hoverEffects.anchorColor=g(A.openhovercolor,A.anchorhovercolor,A.plotfillhovercolor,E(G,70)),F.hoverEffects.anchorBgAlpha=y(A.openhoveralpha,A.anchorhoveralpha,A.plotfillhoveralpha,100));l=F.displayValue;P=q[e-1];F=P.config;F.anchorProps.bgColor=g(P.anchorbgcolor,H);F.anchorProps.enabled=
|
|
!!W;F.anchorProps.bgAlpha=W?ka:0;F.anchorProps.enabled&&F.hoverEffects&&(F.hoverEffects.anchorColor=g(A.closehovercolor,A.anchorhovercolor,A.plotfillhovercolor,E(H,70)),F.hoverEffects.anchorBgAlpha=y(A.closehoveralpha,A.anchorhoveralpha,A.plotfillhoveralpha,100));W=F.displayValue;for(da=0;da<e;da++)P=q[da],F=P.config,P=t[da],ka=y(P.anchorbgalpha,ba),0!==da&&da!==e-1&&(F.anchorProps.bgColor=g(P.anchorbgcolor,ha),F.anchorProps.bgAlpha=y(P.anchorbgalpha,ga),F.hoverEffects.anchorColor=n(g(A.anchorhovercolor,
|
|
A.plotfillhovercolor,E(Ba,70))),F.hoverEffects.anchorBgAlpha=y(A.lowhoveralpha,A.anchorhoveralpha,A.plotfillhoveralpha,100)),F.anchorProps.radius=y(A.anchorradius,P.anchorradius,2),F.anchorProps.borderThickness=0,F.hoverEffects.anchorBorderThickness=0,F.hoverEffects.anchorRadius=y(A.anchorhoverradius,A.anchorradius,P.anchorradius,3),F.setValue===ua&&(F.anchorProps.bgColor=g(P.anchorbgcolor,ma),F.hoverEffects.anchorColor=g(A.lowhovercolor,A.anchorhovercolor,A.plotfillhovercolor,E(ma,70)),F.hoverEffects.anchorBgAlpha=
|
|
y(A.lowhoveralpha,A.anchorhoveralpha,A.plotfillhoveralpha,100),F.anchorProps.enabled=!!N,F.anchorProps.bgAlpha=N?ka:0,pa=F.displayValue),F.setValue===ya&&(F.anchorProps.bgColor=g(P.anchorbgcolor,aa),F.hoverEffects.anchorColor=g(A.highhovercolor,A.anchorhovercolor,A.plotfillhovercolor,E(aa,70)),F.hoverEffects.anchorBgAlpha=y(A.highhoveralpha,A.anchorhoveralpha,A.plotfillhoveralpha,100),F.anchorProps.enabled=!!Z,F.anchorProps.bgAlpha=Z?ka:0,Fa=F.displayValue),ka=F.setValue,void 0!==ka&&null!==ka&&(fa=
|
|
1);t=f.sparkValues={openValue:{color:G},closeValue:{color:H},highValue:{color:aa},lowValue:{color:ma},highLowValue:{}};fa&&(t.openValue.label=y(A.showopenvalue,1)?l:ca,t.closeValue.label=y(A.showclosevalue,1)?W:ca,y(A.showhighlowvalue,1)&&(t.highLowValue.label="["+Fa+" | "+pa+"]",t.highValue.label=Fa,t.lowValue.label=pa))},draw:function(){this.__base__.draw.call(this);this._drawSparkValues();ua.call(this)},_drawSparkValues:function(){$a.call(this)}},"Line"])},[3,2,0,"sr2"]]);
|
|
FusionCharts.register("module",["private","modules.renderer.js-messagelogger",function(){var H=this.window,ca=H.document,g=8===ca.documentMode,y=this.hcLib,F=y.Raphael,f=y.componentDispose,E=y.pluckNumber,e=y.isIE,G=y.graphics.HEXtoRGB,Ha=y.graphics.convertColor,ga=y.pluck,ka=Math.min,ba,fa={},ha={display:"block",paddingLeft:"10px",paddingRight:"10px","font-family":"Arial","font-size":"11px"};fa.literal=fa.info={title:'<span style="color: #005900">$titleVal$</span>',body:"<span>$msgVal$</span>"};
|
|
fa.link={title:fa.info.title,body:'<a href="$msgLinkVal$">$msgVal$</a>'};fa.error={title:'<span style="color: #CC0000">$titleVal$</span>',body:'<span style="color: #CC0000">$msgVal$</span>'};ba=function(e,f){var n=this.config={},g=(e.msgType||"").toLowerCase(),E=e.msgTitle,l=e.msgText,F=ga(e.msgLink,l);n.totalHTML="";this.graphics={};this.linkedItems={msgLogger:f};g=fa[g]||fa.literal;E&&(n.titleHTML=g.title.replace("$titleVal$",E),n.totalHTML+=n.titleHTML);l&&(n.msgHTML=g.body.replace("$msgVal$",
|
|
l),n.msgHTML=n.msgHTML.replace("$msgLinkVal$",F),n.totalHTML+=n.msgHTML)};ba.prototype={draw:function(){var f=this.config,t=this.graphics,n,E=t.element,F=this.linkedItems.msgLogger,l=F.graphics,y=l&&l.log&&l.log.element,l=l.logWrapper&&l.logWrapper.element,F=F.config;if(!E){E=t.element=ca.createElement("span");for(n in ha)E.style[n]=ha[n];y.appendChild&&y.appendChild(E)}t.element.innerHTML=f.totalHTML;e&&g&&(f=y.innerHTML,y.innerHTML=f);F.scrollToBottom&&(F.dynamicScrolling=!0,y=l.scrollHeight,l.scrollTop=
|
|
y)},dispose:function(){var e=this.graphics,t=this.linkedItems.msgLogger;t&&t.graphics&&t.graphics.log&&t.graphics.log.element&&t.graphics.log.element.removeChild&&t.graphics.log.element.removeChild(e.element);delete e.element;f.call(this)}};ba.prototype.constractor=ba;FusionCharts.register("component",["logger","message",{pIndex:1,customConfigFn:null,init:function(e){var f=this.linkedItems||(this.linkedItems={});this.components=this.components||{};this.components.messages=this.components.messages||
|
|
[];this.graphics=this.graphics||{};f.chart=e},configure:function(){var e=this,f=e.config||(e.config={}),n=e.linkedItems.chart,g=n.get&&n.get("jsonData","chart")||{},F=n.chartMenuTools,n=f.usemessagelog=n.get("config","usemessagelog");f.messageLogWPercent=ka(E(g.messagelogwpercent,80),100);f.messageLogHPercent=ka(E(g.messageloghpercent,70),100);f.messageLogShowTitle=E(g.messagelogshowtitle,1);f.messageLogTitle=ga(g.messagelogtitle,"Message Log");f.messageLogColor=ga(g.messagelogcolor,"#fbfbfb").replace(/^#?([a-f0-9]+)/ig,
|
|
"$1");f.messageLogColorRgb=G(f.messageLogColor);f.messageGoesToJS=E(g.messagegoestojs,0);f.messageGoesToLog=E(g.messagegoestolog,1);f.messageJSHandler=ga(g.messagejshandler,"");f.messagePassAllToJS=E(g.messagepassalltojs,0);f.messagePassAsObject=E(g.messagepassasobject,0);f.messageLogIsCancelable=E(g.messagelogiscancelable,1);f.alwaysShowMessageLogMenu=E(g.alwaysshowmessagelogmenu,n);n&&F&&F.set([{"Show Log":{handler:function(){e.show()},action:"click"}}]);f.dynamicScrolling=!1;f.scrollToBottom=!0},
|
|
_createMessage:function(e){e=new ba(e,this);this.graphics.container&&e.draw();return e},addLog:function(e){var f=this.config,g=this.components.messages,F=E(e.msgGoesToLog,f.messageGoesToLog),y=E(e.msgGoesToJS,f.messageGoesToJS),l=H[f.messageJSHandler],G=ga(e.msgId,""),aa=ga(e.msgTitle,""),ha=ga(e.msgText,""),Z=ga(e.msgType,"literal");f.usemessagelog&&(y&&l&&"function"===typeof l&&(f.messagePassAllToJS?f.messagePassAsObject?l(e):l(G,aa,ha,Z):l(ha)),"1"===e.clearLog&&this.clearLog(),F&&(e.msgTitle||
|
|
e.msgText)&&(e=this._createMessage(e),g.push(e),1!==g.length||f.visible||this.show()))},show:function(){var e=this.graphics,f=this.config;f.visible||(f.visible=!0,e.container||this.draw(),e.container&&e.container.show())},hide:function(){var e=this.graphics;this.config.visible=!1;e.container&&e.container.hide()},clearLog:function(){var e=this.components.messages,f,g=e.length;for(f=0;f<g;f+=1)e[f]&&e[f].dispose&&e[f].dispose();e.splice(0,g)},isDrawn:function(){return!!this.graphics.container},draw:function(){var e=
|
|
this.config,f=this.components.messages,g;if(e.usemessagelog)for(this._createHTMLDialogue(),e.visible||this.hide(),g=f.length,e=0;e<g;e+=1)f[e]&&f[e].draw&&f[e].draw();else this.isDrawn()&&(this.clearLog(),this.hide())},_createHTMLDialogue:function(){var e=this,f=e.config,g=e.graphics,E=e.components,y=e.linkedItems.chart,l=y.get("components","paper"),G=y.get("linkedItems","container"),H=y.get("config"),ha=H.width,Z=H.height,ba=(y=H.style)&&y.inCanvasStyle,ca=f.messageLogShowTitle,ga=f.messageLogIsCancelable,
|
|
ka=f.messageLogColor,fa=f.messageLogTitle,M=E.paper,A=g.cg,Ga=f.messageLogWPercent/100*ha,eb=f.messageLogHPercent/100*Z,q=(ha-Ga)/2,Xa=(Z-eb)/2,mb=Ga-18-22,Ya=eb-18-22,Qa=q+Ga-21,fb=Xa+3,y=g.container,H=e.isDrawn()&&H.animation&&H.animation.transposeAnimDuration;y||(y=g.container=l.html("div",{fill:"transparent"},{fontSize:"10px",lineHeight:"15px"},G),g.veil=l.html("div",{id:"veil",fill:"000000",opacity:.1},void 0,y).on("click",function(){ga&&e.hide()}),fa&&ca&&(g.title=l.html("p",{id:"Title",innerHTML:fa,
|
|
x:5,y:5},{"font-weight":"bold"},y)),g.dialog=l.html("div",{id:"dialog",strokeWidth:1},{borderRadius:"5px",boxShadow:"1px 1px 3px #000000","-webkit-border-radius":"5px","-webkit-box-shadow":"1px 1px 3px #000000",filter:'progid:DXImageTransform.Microsoft.Shadow(Strength=4, Direction=135, Color="#000000")'},y),g.logBackground=l.html("div",{id:"dialogBackground",x:0,y:0},void 0,g.dialog),ga&&(g.closeBtnContainer=l.html("div",{id:"closeBtnContainer"},{},y),E.paper=M=new F("closeBtnContainer",18,18),M.setConfig("stroke-linecap",
|
|
"round"),A=g.cg=M.group("closeGroup"),g.closeButton=M.symbol("closeIcon",0,0,6,A).attr({transform:"t9,9","stroke-width":2,stroke:Ha("999999"),ishot:!0,"stroke-linecap":"round","stroke-linejoin":"round"}).css({cursor:"pointer",_cursor:"hand"}).click(function(){e.hide()})),g.logWrapper=l.html("div",{id:"logWrapper"},{overflow:"auto"},g.dialog).on("scroll",function(){var e=this&&this.scrollTop,g=this&&this.scrollHeight,l=this&&this.offsetHeight;f.dynamicScrolling?f.dynamicScrolling=!1:f.scrollToBottom=
|
|
g-e===l?!0:!1}),g.log=l.html("div",{id:"log",x:0,y:0},{},g.logWrapper));y.css({fontFamily:ba.fontFamily});g.dialog.attr({fill:"ffffff",stroke:ka});g.logBackground.attr({fill:ka});E={width:ha,height:Z};l={x:q,y:Xa,width:Ga,height:eb};G={width:Ga,height:eb};Qa={width:18,height:18,x:Qa,y:fb};Ga={x:(Ga-mb)/2,y:(eb-Ya)/2,width:mb,height:Ya};H?(y.animate(E,H,"normal"),g.veil.animate(E,H,"normal"),g.dialog.animate(l,H,"normal"),g.logBackground.animate(G,H,"normal"),g.closeBtnContainer&&g.closeBtnContainer.animate(Qa,
|
|
H,"normal"),g.logWrapper.animate(Ga,H,"normal")):(y.attr(E),g.veil.attr(E),g.dialog.attr(l),g.logBackground.attr(G),g.closeBtnContainer&&g.closeBtnContainer.attr(Qa),g.logWrapper.attr(Ga))}}])}]);
|
|
FusionCharts.register("module",["private","modules.renderer.js-alertmanager",function(){var H=this,ca=function(g){return function(){eval(g.param)}};FusionCharts.register("component",["manager","alert",{pIndex:1,init:function(g){this.linkedItems={chart:g}},configure:function(){var g=this.linkedItems.chart,y=g.get("jsonData","alerts"),y=y&&y.alert,g=g.get("components","numberFormatter"),F=this.config||(this.config={}),f,E;if(y&&y.length)for(F.alertArr=y,F=y.length,f=0;f<F;f+=1)E=y[f],E.minvalue=g.getCleanValue(E.minvalue),
|
|
E.maxvalue=g.getCleanValue(E.maxvalue);else F.alertArr=[]},processRTData:function(g){var y=this.linkedItems.chart.get("components","numberFormatter"),F,f,E,e,G,H,ga;if(g&&g.dataset&&g.dataset.length)for(E=g.dataset.length,F=0;F<E;F+=1)if(e=g.dataset[F],e.data&&e.data.length)for(G=e.data.length,f=0;f<G;f+=1)ga=(H=e.data[f])&&y.getCleanValue(H.value),null!==ga&&this._doAlert(y.getCleanValue(H.value))},_doAlert:function(g){var y=this.linkedItems.chart,F=this.config.alertArr,f=F.length,E,e,G;for(e=0;e<
|
|
f;e+=1)if(E=F[e],G=E.action&&E.action.toLowerCase(),E.minvalue<=g&&E.maxvalue>=g){if("1"!==E.occuronce||!E.hasOccurred){E.hasOccurred=!0;E.state="1";switch(G){case "calljs":setTimeout(ca(E),0);break;case "showannotation":y.showAnnotation&&y.showAnnotation(E.param)}H.raiseEvent("AlertComplete",{alertValue:g,alertMaxValue:E.maxvalue,alertMinValue:E.minvalue},y.chartInstance)}}else"showannotation"===G&&"1"===E.state&&y.hideAnnotation&&y.hideAnnotation(E.param),E.state="2"}}])}]);
|
|
FusionCharts.register("module",["private","modules.renderer.js-realtime",function(){var H=this,ca=H.window,g=Math.random,y=H.hcLib.pluckNumber,F=function(f,e,g){clearTimeout(g);return setTimeout(f,e)},f;f=function(f){var e=f.sender,G=e.__state,Ha,ga,ka,ba,fa,ha,P,t,n,ma;G.dataSetDuringConstruction&&!G.rtStateChanged&&void 0===G.rtPreInit&&(e.dataReady()?(G.rtStateChanged=!0,G.rtPreInit=!0):G.rtPreInit=!1);G.rtStateChanged&&(G.rtStateChanged=!1,ka=(ga=e.jsVars)&&ga.instanceAPI)&&(ba=ka.config||{},
|
|
Ha=ka.jsonData&&ka.jsonData.chart,ka=ba&&ba.chart||{},fa=1E3*y(ba.updateInterval,ba.refreshInterval),ha=1E3*y(ba.clearInterval,0),P=ba.dataStreamURL,ka=Boolean(ba&&ba.realtimeEnabled&&0<fa&&void 0!==P&&""!==P&&ka),ba=ba&&ba.plotOptions&&ba.plotOptions.series.animation&&ba.plotOptions.series.animation.duration||0,t=G._rtAjaxObj,n=function(){e.clearChart&&e.clearChart();ha&&(G._toClearChart=setTimeout(n,ha))},ma=function(){var e=P,f=Ha&&Ha.datastamp,e=e+((-1===P.indexOf("?")?"?num=":"&num=")+g());f&&
|
|
(e+="&dataStamp="+f);t.open&&t.abort();t.get(e);G._rtAjaxLatencyStart=new Date},0>=fa?(G._toRealtime=clearTimeout(G._toRealtime),t&&t.abort()):10>fa&&(fa=10),G._toClearChart=clearTimeout(G._toClearChart),0<ha&&(10>ha?ha=10:G._toClearChart=setTimeout(n,ha)),G._rtStaticRefreshMS=fa,ka&&(void 0===G._rtPaused&&(G._rtPaused=!1),G._rtDataUrl=P,G.lastSetValues=null,t=G._rtAjaxObj||(G._rtAjaxObj=new H.ajax),t.onSuccess=function(g,l,n,t){if(!e.disposed){l=ga.instanceAPI;n=l.feedData;var y={},F=l.config;G._rtAjaxLatencyStart&&
|
|
(G._rtAjaxLatency=new Date-G._rtAjaxLatencyStart);if(n&&F.realtimeEnabled&&P){l._getPrevData();l.feedData(g,!0,t,G._rtAjaxLatency||0);g=(y.realtimeDrawingLatency||0)+(G._rtAjaxLatency||0);try{ca.FC_ChartUpdated&&ca.FC_ChartUpdated(f.sender.id)}catch(H){setTimeout(function(){throw H;},1)}G._rtPaused||(g>=G._rtStaticRefreshMS&&(g=G._rtStaticRefreshMS-1),G._toRealtime=setTimeout(ma,G._rtStaticRefreshMS-g))}else G._toRealtime=clearTimeout(G._toRealtime)}},t.onError=function(g,l,n,t){G._rtAjaxLatencyStart&&
|
|
(G._rtAjaxLatency=new Date-G._rtAjaxLatencyStart);H.raiseEvent("realtimeUpdateError",{source:"XmlHttpRequest",url:t,xmlHttpRequestObject:l.xhr,error:g,httpStatus:l.xhr&&l.xhr.status?l.xhr.status:-1,networkLatency:G._rtAjaxLatency},f.sender);G._toRealtime=e.isActive()?setTimeout(ma,fa):clearTimeout(G._toRealtime)},G._rtPaused||(G._toRealtime=F(ma,ba>fa?ba:fa,G._toRealtime))))};H.addEventListener(["beforeDataUpdate","beforeRender"],function(f){f=f.sender;var e=f.__state;f.jsVars&&(f.jsVars._rtLastUpdatedData=
|
|
null);e._toRealtime&&(e._toRealtime=clearTimeout(e._toRealtime));e._toClearChart&&(e._toClearChart=clearTimeout(e._toClearChart));e._rtAjaxLatencyStart=null;e._rtAjaxLatency=null});H.addEventListener(["renderComplete","dataUpdated"],function(g){var e=g.sender.__state;e&&(void 0===e.rtPreInit&&(e.rtPreInit=!1),e._rtPaused&&delete e._rtPaused,e.rtStateChanged||(e.rtStateChanged=!0,f.apply(this,arguments)))});H.core.addEventListener("beforeDispose",function(f){f=f.sender.__state;f._toRealtime&&(f._toRealtime=
|
|
clearTimeout(f._toRealtime));f._toClearChart&&(f._toClearChart=clearTimeout(f._toClearChart))});H.core.addEventListener("drawComplete",f)}]);
|
|
FusionCharts.register("module",["private","modules.renderer.js-widgets",function(){function H(){}var ca=this,g=ca.hcLib,y=g.Raphael,F=g.BLANKSTRING,f=g.pluck,E=g.getValidValue,e=g.pluckNumber,G=g.getFirstDefinedValue,Ha=g.getColorCodeString,ga={},ka=g.extend2,ba=g.hasSVG,fa=g.getFirstValue,ha=g.graphics.getDarkColor,P=g.graphics.getLightColor,t=g.graphics.convertColor,n=g.chartAPI,ma=g.getDashStyle,da=g.parseTooltext,l=g.COMMASTRING,Ba=g.ZEROSTRING,aa=g.parseUnsafeString,Fa=ca.window,Z=/msie/i.test(Fa.navigator.userAgent)&&
|
|
!Fa.opera,$a=g.regex.hexcode,ua="rgba(192,192,192,"+(Z?.002:1E-6)+")",lb=Z?.002:1E-6,Z=Math,Ia=Z.round,hb=Z.ceil,M=Z.max,A=Z.min,Ga=Z.abs,eb=Z.atan2,q=Z.pow,Xa=Z.sqrt,Z=Z.PI,mb=2*Z,Ya=Z/180,Qa=g.regex.dropHash,fb=g.toPrecision,ub=g.POSITION_START,W=g.POSITION_END,ab=g.HASHSTRING,N=g.toRaphaelColor,Z=g.TOUCH_THRESHOLD_PIXELS,ra=g.CLICK_THRESHOLD_PIXELS,nb=void 0!==Fa.document.documentElement.ontouchstart,Va=nb?Z:ra,Ib=g.getPosition,ya=g.plotEventHandler,Ra={"true":void 0,"false":"crisp"},Sa=function(a,
|
|
d,b){var c=0,k=a.length;if(b)for(;c<k;c++){if(!1===d.call(b,a[c],c,a))return c}else for(;c<k;c++)if(!1===d.call(a[c],a[c],c,a))return c},Z=function(a,d){var b;a||(a={});for(b in d)a[b]=d[b];return a},wa=function(a,d,b,c){d=e(d,c);a=e(a,b);return d&&a?a/b==d/c?b/a:Math.min(b/a,c/d):1},pa=function(a){return"string"===typeof a},ea=function(a){return void 0!==a&&null!==a},Ma=g.regex.startsRGBA,Za=g.setLineHeight,Na=g.pluckFontSize,Aa=g.POSITION_MIDDLE,bb=g.POSITION_TOP,Ta=g.POSITION_BOTTOM,Ka=g.POSITION_MIDDLE,
|
|
Oa=g.HUNDREDSTRING,ia=g.COMMASPACE,sa={right:"end",left:"start",middle:"middle",start:"start",end:"end",center:"middle",undefined:"","":""},ra=!/fusioncharts\.com$/i.test(Fa.location.hostname),xa=function(){return function(a,d,b){var c,k=this,I=this._Attr,h=y.vml?-1.5:0,e=y.vml?-1.5:0,m;I||(I=k._Attr={});pa(a)&&ea(d)&&(c=a,a={},a[c]=d);if(pa(a)||void 0===a)k="angle"==a?k._Attr[a]:k._attr(a);else for(c in a)d=a[c],"angle"===c?(I[c]=d,m=d*Ya,I.tooltipPos[0]=I.cx+I.toolTipRadius*Math.cos(m),I.tooltipPos[1]=
|
|
I.cy+I.toolTipRadius*Math.sin(m),I.prevValue=d,b&&b.duration?k.animate({transform:"R"+d+","+h+","+e},b.duration,"easeIn"):k.attr({transform:"R"+d+","+h+","+e})):k._attr(c,d);return k}},La=function(a){var d=[],b;(function(a){(b=/rgba\(\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]{1,3})\s*,\s*([0-9]?(?:\.[0-9]+)?)\s*\)/.exec(a))?d=[parseInt(b[1],10),parseInt(b[2],10),parseInt(b[3],10),parseFloat(b[4])]:(b=/#([a-fA-F0-9]{2})([a-fA-F0-9]{2})([a-fA-F0-9]{2})/.exec(a))&&(d=[parseInt(b[1],16),parseInt(b[2],
|
|
16),parseInt(b[3],16),1])})(a);return{get:function(b){return d&&!isNaN(d[0])?"rgb"===b?"rgb("+d[0]+","+d[1]+","+d[2]+")":"hex"===b?"#"+("000000"+(d[0]<<16|d[1]<<8|d[2]).toString(16)).slice(-6):"a"===b?d[3]:"rgba("+d.join(",")+")":a},brighten:function(a){if(!isNaN(a)&&0!==a){var b;for(b=0;3>b;b++)d[b]+=parseInt(255*a,10),0>d[b]&&(d[b]=0),255<d[b]&&(d[b]=255)}return this},setOpacity:function(a){d[3]=a;return this}}},cb=ka({},g.defaultGaugePaletteOptions);Array.prototype.forEach||(Array.prototype.forEach=
|
|
function(a,d){var b,c,k,I,h;if(null==this)throw new TypeError(" this is null or not defined");k=Object(this);I=k.length>>>0;if("function"!==typeof a)throw new TypeError(a+" is not a function");1<arguments.length&&(b=d);for(c=0;c<I;)c in k&&(h=k[c],a.call(b,h,c,k)),c++});H.prototype={numDecimals:function(a){a=fb(a,10);a=Math.abs(a);a=fb(a-Math.floor(a),10);a=String(a).length-2;return 0>a?0:a},toRadians:function(a){return a/180*Math.PI},toDegrees:function(a){return a/Math.PI*180},flashToStandardAngle:function(a){return-1*
|
|
a},standardToFlashAngle:function(a){return-1*a},flash180ToStandardAngle:function(a){var d=360-(0>(a%=360)?a+360:a);return 360==d?0:d},getAngularPoint:function(a,d,b,c){c*=Math.PI/180;a+=b*Math.cos(c);d-=b*Math.sin(c);return{x:a,y:d}},remainderOf:function(a,d){var b=a%d,c=void 0,c=q(10,void 0===c?2:c),b=Ia(Number(String(b*c)));return b/=c},boundAngle:function(a){return 0<=a?H.prototype.remainderOf(a,360):360-H.prototype.remainderOf(Math.abs(a),360)},toNearestTwip:function(a){var d=0>a?-1:1;a=Math.abs(a);
|
|
a=Ia(100*a);var b=Math.floor(a/5);return(2<Number(String(a-5*b))?5*b+5:5*b)/100*d},roundUp:function(a,d){var b=q(10,void 0===d?2:d);a=Ia(Number(String(a*b)));return a/=b}};H.prototype.constructor=H;g.MathExt=H;n("realtimecolumn",{showRTvalue:!0,canvasPadding:!0,isRealTime:!0,standaloneInit:!0,creditLabel:ra,defaultDatasetType:"realtimecolumn",applicableDSList:{realtimecolumn:!0},transposeAxis:!0,rtManageSpace:!0,_realTimeConfigure:function(){var a=this.config.realTimeConfig||(this.config.realTimeConfig=
|
|
{}),d,b,c,k;d=this.jsonData;var I=d.chart;k=d.categories&&d.categories[0]&&d.categories[0].category&&d.categories[0].category.length||0;a.showRTValue=e(I.showrealtimevalue,1);a.dataStreamURL=f(I.datastreamurl,"");a.dataStamp=I.datastamp;a.useMessageLog=e(I.usemessagelog,0);a.clearInterval=e(I.clearchartinterval,0);a.realtimeValueSeparator=f(I.realtimevaluesep,", ");a.refreshInterval=d=e(I.refreshinterval,I.updateinterval,2);a.updateInterval=this.config.updateInterval=e(I.updateinterval,d);a.realtimeValuePadding=
|
|
e(I.realtimevaluepadding);a.realtimeValueFont=f(I.realtimevaluefont,"");a.realtimeValueFontBold=f(I.realtimevaluefontbold,0);a.realtimeValueFontColor=b=f(I.realtimevaluefontcolor,"");a.realtimeValueFontSize=c=e(I.realtimevaluefontsize,"");a.realTimeValuePadding=e(I.realtimevaluepadding,5);a.fontWeight=e(I.realtimevaluefontbold,0)?"bold":"normal";a.numDisplaySets=e(I.numdisplaysets,M(k,15));a.refreshInstantly=e(I.refreshinstantly,0);a.showRTmenuItem=k=e(I.showrtmenuitem,0);a.sync=e(I.sync,.6<d?!0:
|
|
!1);b&&(a.realtimeValueFontColor=b.replace(Qa,ab));c&&(a.realtimeValueFontSize=c+"px");k&&this._setRTmenu()},_setRealTimeCategories:function(){var a=this.components.xAxis[0],d=[],b=this.config.realTimeConfig,c=b&&b.clear?void 0:this.jsonData.categories&&this.jsonData.categories[0]&&this.jsonData.categories[0].category,k=a.getCategoryLen(),b=b.numDisplaySets,k=a.getCategoryLen();k<b?(d.length=b-k,c=c?d.concat(c):d,a.setCategory(c)):k>b&&(c.splice(b,k-b),a.setCategory(c))},_realTimeValuePositioning:function(a){var d=
|
|
this.components,b=this.linkedItems.smartLabel,c;c=this.config;var k=c.realTimeConfig||(c.realTimeConfig={}),I=k.realTimeValuePadding,d=d.xAxis[0].config.axisData,h=d.trend.trendStyle,d=k.style={color:t(f(k.realtimeValueFontColor,h.color),f(d.trendlineAlpha,99)),fontFamily:f(k.realtimeValueFont,h.fontFamily),fontSize:f(k.realtimeValueFontSize,h.fontSize),fontWeight:f(k.fontWeight,h.fontWeight),lineHeight:e(h.lineHeight)};b.useEllipsesOnOverflow(c.useEllipsesWhenOverflow);b.setStyle(d);k.height=b=b.getOriSize(g.TESTSTR).height;
|
|
k.canvasBottom=c.canvasBottom;c=b+I;c>a&&(c=a);return{bottom:c}},_drawRealTimeValue:function(){var a=this.components,d=this.config,b=a.dataset,c=a.paper,k=this.linkedItems.smartLabel,I=d.realTimeConfig,h=I.realtimeValueSeparator,e=b.length,m="",$=this.get("config","animationObj"),f=$.animObj,p=$.dummyObj,$=$.duration,g=I.canvasBottom,s=I.height,w=d.canvasLeft,u=d.canvasRight,l=I.style||{},a=a.realTimeValue||(a.realTimeValue={}),z=a.graphics,v=this.graphics.parentGroup,B,C;if(I.clear)a.graphics.attr({text:""});
|
|
else{for(I=0;I<e;I++)B=b[I].components.data,B=(B=B[B.length-1])&&B.config.displayValue,m+=B?void 0===B?"":B+h:"";m=m.substring(0,m.length-h.length);k.useEllipsesOnOverflow(d.useEllipsesWhenOverflow);k.setStyle(l);k.getOriSize(m);d={x:(w+u)/2||0,y:g-s/2||0,"font-size":l.fontSize,"font-weight":l.fontWeight,"font-family":l.fontFamily,"line-height":l.lineHeight,visibility:"visible"};z||(z=a.graphics=c.text(d,v),C=!0);z.attr({text:m,fill:l.color});z&&!C&&(z.show(),z.animateWith(p,f,d,$))}},_hideRealTimeValue:function(){var a=
|
|
this.components;(a=(a=a.realTimeValue||(a.realTimeValue={}),a.graphics))&&a.hide()},_getData:function(){var a=this.components,d=a.dataset,a=a.xAxis&&a.xAxis[0]||a.scale,b,c,k,I=[],h=0,e,m;if(d){b=d.length;for(c=0;c<b;c++)h=M(h,d[c].components.data.length);for(c=0;c<h;c++)for(m=I[c]=[],m[0]=a.getLabel(c).label,k=1;k<=b;k++)e=d[k-1].components.data[c],m[k]=e&&e.config.setValue;return I}},_setData:function(a,d){var b="";if(a&&a.toString||""===a||0===a)b="value="+a.toString();if(d&&d.toString||""===d)b=
|
|
b+"&label="+d.toString();b&&this.feedData(b)},_stopUpdate:function(a){var d=this.config.realTimeConfig,b=this.linkedItems.timers&&this.linkedItems.timers.setTimeout.loadData,c=this.chartInstance,k=c.__state;clearTimeout(k._toRealtime);k._rtAjaxObj&&k._rtAjaxObj.abort();k._rtPaused=!0;b&&clearTimeout(b);d.clearIntervalFlag=!1;ca.raiseEvent("realimeUpdateStopped",{source:a},c)},_restartUpdate:function(){var a=this.chartInstance.__state;a._rtDataUrl&&a._rtPaused&&(a._rtPaused=!1,a._rtAjaxObj.get(a._rtDataUrl))},
|
|
_isUpdateActive:function(){return!this.chartInstance.__state._rtPaused},_setRTmenu:function(){var a=this,d=a.chartMenuTools.set;d([{"Stop Update":{handler:function(){a._stopUpdate.call(a)},action:"click"}},{"Clear Chart":{handler:function(){a._clearChart.call(a)},action:"click"}}])},_getDataJSON:function(){return this.config.realTimeConfig.legacyUpdateObj||{values:[]}},eiMethods:{feedData:function(){return this.apiInstance.feedData.apply(this.apiInstance,arguments)},setData:function(){this.apiInstance._setData.apply(this.apiInstance,
|
|
arguments)},stopUpdate:function(){this.apiInstance._stopUpdate.apply(this.apiInstance,arguments)},restartUpdate:function(){this.apiInstance._restartUpdate.apply(this.apiInstance,arguments)},isUpdateActive:function(){return this.apiInstance._isUpdateActive.apply(this.apiInstance,arguments)},clearChart:function(){this.apiInstance._clearChart.apply(this.apiInstance,arguments)},getData:function(){return this.apiInstance._getData.apply(this.apiInstance,arguments)},showLog:function(){var a=this.apiInstance.components&&
|
|
this.apiInstance.components.messageLogger;return a&&a.show&&a.show.apply(a,arguments)},hideLog:function(){var a=this.apiInstance.components&&this.apiInstance.components.messageLogger;return a&&a.hide&&a.hide.apply(a,arguments)},clearLog:function(){var a=this.apiInstance.components&&this.apiInstance.components.messageLogger;return a&&a.clearLog&&a.clearLog.apply(a,arguments)},getDataForId:function(){return this.apiInstance._getDataForId.apply(this.apiInstance,arguments)},setDataForId:function(){return this.apiInstance._setDataForId.apply(this.apiInstance,
|
|
arguments)},getDataJSON:function(){return this.apiInstance._getDataJSON.apply(this.apiInstance,arguments)}}},n.mscartesian);n("realtimestackedcolumn",{isStacked:!0},n.realtimecolumn);n("gaugebase",{creaditLabel:ra,defaultPaletteOptions:cb,multiValueGauge:!1,decimals:2,formatnumberscale:0,drawAnnotations:!0,useScaleRecursively:!0,includeColorRangeInLimits:!1,isWidget:!0,_createAxes:function(){},_feedAxesRawData:function(){},_setCategories:function(){},_setAxisLimits:function(){},realTimeUpdate:function(a){var d=
|
|
this.components.dataset,b=a.dataset;a=a.categories&&a.categories.category||[];var c=this.config.realTimeConfig=this.config.realTimeConfig||(this.config.realTimeConfig={}),k,I,h;if(d){h=b[0];b=h.data;I=0;for(k=b.length;I<k;I++)b[I].label=a[I]&&a[I].label;d[0].updateData(h);d[0].maxminFlag&&(c.maxminFlag=d[0].maxminFlag)}},_clearChart:function(){},_realTimeConfigure:n.realtimecolumn,_setRTmenu:function(){var a=this,d=a.chartMenuTools.set;d([{"Stop Update":{handler:function(){a._stopUpdate.call(a)},
|
|
action:"click"}}])},_getData:n.realtimecolumn,_setData:n.realtimecolumn,_stopUpdate:n.realtimecolumn,_restartUpdate:n.realtimecolumn,_isUpdateActive:n.realtimecolumn,eiMethods:n.realtimecolumn},n.sscartesian,{valuefontbold:1});n("axisgaugebase",{chartLeftMargin:15,chartRightMargin:15,chartTopMargin:10,chartBottomMargin:10,annotationRelativeLayer:"axis",_createAxes:function(){var a=this.components,d=FusionCharts.register("component",["axis","gauge"]);a.scale=a=new d;a.chart=this;a.init()},_feedAxesRawData:function(){var a=
|
|
this.components,d=a.colorManager,b=this.jsonData,c=b.chart,k=g.chartPaletteStr.chart2D,I=e(c.ticksbelowgauge),h=e(c.ticksonright),I=e(c.axisontop,void 0!==c.axisonleft?!e(c.axisonleft):void 0,void 0!==I?!I:void 0,void 0!==h?h:void 0,this.isAxisOpposite),h=e(c.reverseaxis,this.isAxisReverse),r=e(c.showtickmarks,1),m=e(c.showtickvalues),r=m||void 0===m?r||void 0!==m?!0:!1:!1,d={outCanfontFamily:f(c.outcnvbasefont,c.basefont,"Verdana,sans"),outCanfontSize:Na(c.outcnvbasefontsize,c.basefontsize,10),outCancolor:f(c.outcnvbasefontcolor,
|
|
c.basefontcolor,d.getColor(k.baseFontColor)).replace(/^#?([a-f0-9]+)/ig,"#$1"),useEllipsesWhenOverflow:c.useellipseswhenoverflow,divLineColor:f(c.vdivlinecolor,d.getColor(k.divLineColor)),divLineAlpha:f(c.vdivlinealpha,d.getColor("divLineAlpha")),divLineThickness:e(c.vdivlinethickness,1),divLineIsDashed:Boolean(e(c.vdivlinedashed,c.vdivlineisdashed,0)),divLineDashLen:e(c.vdivlinedashlen,4),divLineDashGap:e(c.vdivlinedashgap,2),showAlternateGridColor:e(c.showalternatevgridcolor,0),alternateGridColor:f(c.alternatevgridcolor,
|
|
d.getColor("altVGridColor")),alternateGridAlpha:f(c.alternatevgridalpha,d.getColor("altVGridAlpha")),numDivLines:c.numvdivlines,labelFont:c.labelfont,labelFontSize:c.labelfontsize,labelFontColor:c.labelfontcolor,labelFontAlpha:c.labelalpha,labelFontBold:c.labelfontbold,labelFontItalic:c.labelfontitalic,axisName:c.xaxisname,axisMinValue:c.lowerlimit,axisMaxValue:c.upperlimit,setAdaptiveMin:c.setadaptivemin,adjustDiv:c.adjustvdiv,labelDisplay:c.labeldisplay,showLabels:c.showlabels,rotateLabels:c.rotatelabels,
|
|
slantLabel:e(c.slantlabels,c.slantlabel),labelStep:e(c.labelstep,c.xaxisvaluesstep),showAxisValues:e(c.showxaxisvalues,c.showxaxisvalue),showDivLineValues:e(c.showvdivlinevalues,c.showvdivlinevalues),showZeroPlane:c.showvzeroplane,zeroPlaneColor:c.vzeroplanecolor,zeroPlaneThickness:c.vzeroplanethickness,zeroPlaneAlpha:c.vzeroplanealpha,showZeroPlaneValue:c.showvzeroplanevalue,trendlineColor:c.trendlinecolor,trendlineToolText:c.trendlinetooltext,trendlineThickness:c.trendlinethickness,trendlineAlpha:c.trendlinealpha,
|
|
showTrendlinesOnTop:c.showtrendlinesontop,showAxisLine:e(c.showxaxisline,c.showaxislines,c.drawAxisLines,0),axisLineThickness:e(c.xaxislinethickness,c.axislinethickness,1),axisLineAlpha:e(c.xaxislinealpha,c.axislinealpha,100),axisLineColor:f(c.xaxislinecolor,c.axislinecolor,"#000000"),majorTMNumber:c.majortmnumber,majorTMColor:c.majortmcolor,majorTMAlpha:c.majortmalpha,majorTMHeight:c.majortmheight,tickValueStep:c.tickvaluestep,showTickMarks:c.showtickmarks,connectTickMarks:c.connecttickmarks,showTickValues:c.showtickvalues,
|
|
majorTMThickness:c.majortmthickness,upperlimit:a.numberFormatter.getCleanValue(c.upperlimit),lowerlimit:a.numberFormatter.getCleanValue(c.lowerlimit),reverseScale:c.reversescale,showLimits:c.showlimits||r,adjustTM:c.adjusttm,minorTMNumber:e(c.minortmnumber,this.minorTMNumber,4),minorTMColor:c.minortmcolor,minorTMAlpha:c.minortmalpha,minorTMHeight:e(c.minortmheight,c.minortmwidth),minorTMThickness:c.minortmthickness,tickMarkDistance:e(c.tickmarkdistance,c.tickmarkgap),tickValueDistance:e(c.tickvaluedistance,
|
|
c.displayvaluedistance),placeTicksInside:c.placeticksinside,placeValuesInside:c.placevaluesinside,upperLimitDisplay:c.upperlimitdisplay,lowerLimitDisplay:c.lowerlimitdisplay,drawTickMarkConnector:this.isHorizontal?1:0},a=a.scale;a.vtrendlines=b.trendpoints;a.chart=this;a.setCommonConfigArr(d,!this.isHorizontal,h,I);a.configure()},_setAxisLimits:function(){var a=this.components,d=this.jsonData.chart,b=a.scale,a=a.dataset[0].getDataLimits();-Infinity===a.max&&(a.max=0);Infinity===a.min&&(a.min=0);this.colorRange&&
|
|
b.setAxisData({lowerlimit:e(d.lowerlimit,a.min),upperlimit:e(d.upperlimit,a.max)});b.setDataLimit(a.max,a.min)},_spaceManager:function(){var a,d=this.config,b=this.components,c=b.dataset[0],b=b.scale,k=this.jsonData.chart,I=e(k.showborder,this.is3D?0:1),h=this.isHorizontal,r=d.minChartWidth,m=d.minChartHeight,k=d.borderWidth=I?e(k.borderthickness,1):0,$;d.canvasWidth-2*k<r&&(a=(d.canvasWidth-r)/2);d.canvasHeight-2*k<m&&($=(d.canvasHeight-m)/2);this._allocateSpace({top:$||k,bottom:$||k,left:a||k,right:a||
|
|
k});a=.7*d.availableWidth;h?this._allocateSpace(b.placeAxis(a)):this._allocateSpace(b.placeAxis(d.availableHeight));this._manageChartMenuBar(.4*d.availableHeight);c._manageSpace&&this._allocateSpace(c._manageSpace(.3*d.availableHeight));b.setAxisConfig({drawPlotlines:this.drawPlotlines,drawPlotBands:this.drawPlotBands})},_postSpaceManagement:function(){var a=this.config,d=this.components.scale;this.isHorizontal?d.setAxisDimention({axisLength:a.canvasWidth}):d.setAxisDimention({axisLength:a.canvasHeight})},
|
|
_getDataJSON:function(){var a=0,d,b,c=[],k=[],I=[],h=this.components.dataset[0].components.data;for(d=h&&h.length?h.length:0;a<d;a+=1)b=h[a].config,c.push(b.itemValue),k.push(b.formatedVal||""),I.push(b.toolText||"");return{values:c,labels:k,toolTexts:I}}},n.gaugebase);n("funnelpyramidbase",{showRTvalue:!1,canvasPadding:!1,sliceOnLegendClick:!0,defaultDatasetType:"funnelpyramidbaseds",applicableDSList:{funnel:!0},hasCanvas:!1,defaultPlotShadow:1,subTitleFontSizeExtender:0,tooltippadding:3,defaultPaletteOptions:g.defaultPaletteOptions,
|
|
drawAnnotations:!0,hasLegend:!0,isDataLabelBold:!1,dontShowLegendByDefault:!0,formatnumberscale:1,isSingleSeries:!0,alignCaptionWithCanvas:0,_updateVisuals:function(){var a=this.config,d=this.linkedItems.container,b=this.components,c=b.legend,k=b.paper,I=b.tooltip,h=this.chartInstance,e=this.get("config","animationObj"),m=e.animType,$=e.dummyObj,f=e.animObj,e=e.duration,p;a.animationStarted=!0;k?(a={width:d.offsetWidth,height:d.offsetHeight},p=!0,this._chartAnimation(!0),k.animateWith($,f,a,e,m)):
|
|
(k=b.paper=new y(d,d.offsetWidth,d.offsetHeight),k.setConfig("stroke-linecap","round"));k.tooltip(I.style,I.config.shadow,I.config.constrain);this.setChartCursor();this._createLayers();!p&&this._chartAnimation(!0);this._drawBackground();this._drawChartMenuBar();this._manageCaptionPosition();b.caption&&b.caption.draw();this._drawDataset();!1!==this.hasLegend&&c.drawLegend();this._drawCreditLabel();this._drawLogo();h.annotations&&this._drawAnnotations();this.createChartStyleSheet()}},n.gaugebase);n("funnel",
|
|
{friendlyName:"Funnel Chart",standaloneInit:!0,creditLabel:ra,defaultDatasetType:"funnel",applicableDSList:{funnel:!0},useSortedData:!0},n.funnelpyramidbase);n("pyramid",{friendlyName:"Funnel Chart",standaloneInit:!0,creditLabel:ra,defaultDatasetType:"pyramid",applicableDSList:{pyramid:!0},useSortedData:!1},n.funnelpyramidbase);FusionCharts.register("component",["dataset","FunnelPyramidBase",{type:"funnelpyramidbase",pIndex:2,customConfigFn:"_createDatasets",init:function(a){var d=this.utils,b=d.invokeHookFns,
|
|
c=this.postInitHook;if(!a)return!1;d.setContext(this);this.JSONData=a;this.components={};this.conf={};this.graphics={};b(c);this.configure()},removeData:function(){},_configure:function(){var a=this.chart,d=a.components.colorManager,b=a.config,c=b.style,k=this.components,I=this.conf||{},h=this.JSONData.data||[],a=a.jsonData?a.jsonData.chart:{},r=this.utils,m=r.invokeHookFns,r=r.copyProperties,$=g.setLineHeight,b=b.canvasHeight,Wa=this.configureSpecifics,p=this.preDrawingHook,qa=d.getColor("baseFontColor");
|
|
r(a,I,[["showlabels","showLabels",e,1],["showvalues","showValues",e,1],["plottooltext","toolText",f,""],["enableslicing","enableSlicing",e,1],["plotfillalpha","plotFillAlpha",e,100],["showplotborder","showPlotBorder",e,0],["plotborderalpha","plotBorderAlpha",e,void 0],["plotbordercolor","plotBorderColor",f,void 0],["plotborderthickness","plotBorderThickness",e,1],["showshadow","showShadow",e,1],["showhovereffect","showHoverEffect",e,0],["hovercapsepchar","hoverCapSepChar",f,ia],["tooltipsepchar",
|
|
"tooltipSepChar",f,"$hoverCapSepChar"],["labelsepchar","labelSepChar",f,"$tooltipSepChar"],["showpercentintooltip","showPercentInToolTip",e,1],["showpercentvalues","showPercentValues",e,0],["","slicingDistance",e,.1*b],["slicingdistance","slicingHeight",e,"$slicingDistance",function(a){a.slicingDistance=a.slicingHeight>2*a.slicingDistance?0:a.slicingHeight}],["","blankSpace",e,3],["labeldistance","labelDistance",e,50],["issliced","isSliced",e,0],["is2d","is2d",e,0],["","blankSpace",e,3],["showlabelsatcenter",
|
|
"showLabelsAtCenter",e,0],["smartlinethickness","connectorWidth",e,1],["smartlinealpha","connectorAlpha",e,100],["smartlinecolor","rawSmartLineColorCode",f,function(){return d.getColor("baseFontColor")}],["labelalpha","labelAlpha",e,100],["basefontsize","baseFontSize",e,10],["basefontcolor","baseFontColor",f,qa],["labelfontcolor","labelFontColor",f,"$baseFontColor"],["showtooltip","showTooltip",e,1],["percentofprevious","percentOfPrevious",e,0],["animationduration","animationDuration",e,1,function(a){a.animationDuration*=
|
|
1E3}]]);I.connectorColor=t(I.rawSmartLineColorCode,I.connectorAlpha);$(c);c.nLineHeight=c.lineHeight.match(/^\d+/)[0];r(c,I,[["","lineHeight",e,I.baseFontSize]]);delete c.nLineHeight;m(Wa);I.showLabels||I.showValues||(I.datalabelDisabled=!0);k.data=this.getNormalizeDataSet(h);m(p)},_checkValidData:function(a){var d=this.chart;return a&&a.length?!0:(d.setChartMessage(),!1)},addLegend:function(){var a=this.chart,d=a.jsonData.chart,b,c=this.JSONData.data,k=a.components.legend;k.emptyItems();for(a=0;a<
|
|
c.length;a+=1)b=c[a],b.pseudoPoint||(b.legendItemId=k.addItems(this,void 0,{type:this.type,label:b.label,index:a,enabled:e(d.includeinlegend,1),legendItemId:b.legendItemId}))},getNormalizeDataSet:function(a,d){var b=this.getPointInContext(),c=this.chart,k=this.conf,I=c.components,h=I.numberFormatter,r=this.chart.linkedItems.smartLabel,I=I.colorManager,m,$=[],Wa,p,qa,s=0,w,u,Ua,z,v,B=0,C,ta,x,n,D,q,y=k.showPercentValues,A=k.labelSepChar,S=c.jsonData.chart,L=k.isSliced,K,J,T,Q,V={apply:k.showShadow,
|
|
opacity:1},O,R,U=k.plotBorderThickness;Wa=k.dataConnectorStyle={};var na=c.config.PLOT_COLOR_INDEX_START,ja,Y,N,G;ka(O=k.style={},c.config.style);O.borderDash="none";O.borderPadding=2;O.borderRadius=0;O.borderThickness=1;O.color=t(k.labelFontColor,k.labelAlpha);O.fontFamily="Verdana,sans";O.fontSize=k.baseFontSize+"px";O.fontStyle="normal";O.fontWeight="normal";Wa.connectorWidth=k.connectorWidth;Wa.connectorColor=k.connectorColor;ja=this.datasetCalculations(a);p=ja.hasValidPoint;Wa=ja.refreshedData;
|
|
s=ja.sumValue;qa=ja.highestValue;if(p)for(k.sumValue=s,p=h.dataLabels(s),w=Wa.length,r.useEllipsesOnOverflow(c.config.useEllipsesWhenOverflow),c=0;c<w;c+=1){m=Wa[c];Y=m.legendItemId;u=m.cleanValue;Ua=c?Wa[c-1].value:u;z=aa(f(m.label,m.name,F));v=r.getOriSize(z);J=m.alpha||k.plotFillAlpha;N=f(m.color,I.getPlotColor(na++));G=t(N);K=t(N,J);T=f(m.bordercolor,k.plotBorderColor,P(N,25)).split(l)[0];Q=k.showPlotBorder?f(m.borderalpha,k.plotBorderAlpha,"80"):Ba;V.opacity=Math.max(J,Q)/100;if(C=e(m.issliced,
|
|
L))B+=1,k.preSliced=C;ja.prevPerValReq&&(s=Ua);ta=h.percentValue(u/s*100);k.datalabelDisabled||(x=h.dataLabels(u)||F,n=1===k.showLabels?z:F,D=1===e(m.showvalue,k.showValues)?1===y?ta:x:F,q=E(aa(m.displayvalue)),R=f(q,z+A+(y?ta:x),F),D=q?q:D!==F&&n!==F?n+A+D:f(n,D)||F);n=E(aa(f(m.tooltext,k.toolText)));void 0!==n?(Ua={formatedVal:x,name:z,pValue:ta,sum:p,sumValue:p,dataValue:u,prevValue:Ua,highestValue:qa},n=da(n,[1,2,3,7,14,24,25,37],this.getTooltipMacroStub(Ua),m,S)):(Ua=1===k.showPercentInToolTip?
|
|
ta:x,n=z!==F?z+k.tooltipSepChar+Ua:Ua);Ua=this.pointHoverOptions(m,{color:N,alpha:J,borderColor:T,borderAlpha:Q,borderWidth:U});m={displayValue:D,displayValueArgs:R,style:g.parsexAxisStyles(m,{},S,O,K),name:z,categoryLabel:z,rawColor:N,rawAlpha:J,toolText:n,legendCosmetics:void 0,legendItemId:Y,showInLegend:void 0,y:u,shadow:V,smartTextObj:v,legendColor:G,color:K,alpha:J,borderColor:t(T,Q),borderWidth:U,link:E(m.link),isSliced:C,doNotSlice:!k.enableSlicing,hoverEffects:Ua.enabled&&Ua.options,rolloverProperties:Ua.enabled&&
|
|
Ua.rolloverOptions};$.push(new b(m))}k.noOFSlicedElement=B;return $},datasetCalculations:function(a){var d=this.chart.components.numberFormatter,b,c,k,e,h={refreshedData:[]};h.sumValue=h.countPoint=0;h.highestValue=Number.NEGATIVE_INFINITY;b=0;for(c=a.length;b<c;b++)k=a[b],k.vline||(k.cleanValue=e=Math.abs(d.getCleanValue(k.value,!0)),null!==e&&(h.hasValidPoint=!0,h.highestValue=h.highestValue||e,h.refreshedData.push(k),h.sumValue+=e,h.countPoint+=1,h.highestValue=Math.max(h.highestValue,h.itemValue)));
|
|
return h},pointHoverOptions:function(a,d){var b=this.chart,c=e(a.showhovereffect,this.conf.showHoverEffect),k={enabled:c},I={},h,b=b.jsonData?b.jsonData.chart:{};c||(c=k.enabled=void 0!==f(a.hovercolor,b.plotfillhovercolor,a.hoveralpha,b.plotfillhoveralpha,a.borderhovercolor,b.plotborderhovercolor,a.borderhoverthickness,b.plotborderhoverthickness,a.borderhoveralpha,b.plotborderhoveralpha));if(c){k.highlight=e(a.highlightonhover,b.highlightonhover);k.color=f(a.hovercolor,b.plotfillhovercolor);k.alpha=
|
|
f(a.hoveralpha,b.plotfillhoveralpha,d.alpha);k.borderColor=f(a.borderhovercolor,b.plotborderhovercolor,d.borderColor);k.borderThickness=e(a.borderhoverthickness,b.plotborderhoverthickness,d.borderWidth);k.borderAlpha=f(a.borderhoveralpha,b.plotborderhoveralpha,d.borderAlpha);0!==k.highlight&&void 0===k.color&&(k.highlight=1);k.color=f(k.color,d.color).replace(/,+?$/,F);if(1===k.highlight){I=k.color.split(/\s{0,},\s{0,}/);b=I.length;for(h=0;h<b;h+=1)I[h]=P(I[h],70);k.color=I.join(",")}I={color:k.color,
|
|
alpha:+k.alpha,borderColor:t(k.borderColor,k.borderAlpha),borderWidth:k.borderThickness}}return{enabled:c,options:k,rolloverOptions:I}},getTooltipMacroStub:function(a){return{formattedValue:a.formatedVal,label:a.name,percentValue:a.pValue,sum:a.sum,unformattedSum:a.sumValue}},preDrawingSpaceManagement:function(){var a=this.getPointInContext(),d=this.chart,b=d.config,c=d.components,k=c.caption.config.height||0,I=c.subCaption.config.height||0,h=this.conf,r=h.slicingDistance,m;m=b.height-(b.marginTop+
|
|
b.marginBottom);var $=b.width-(b.marginRight+b.marginLeft),f=this.components.data,p,g;p=h.blankSpace;var s=this.LABEL_PLACEMENT_ITERATOR_INDEX_START,a=a.upperRadiusFactor,w,u,l,z,v,B,C=d.linkedItems.smartLabel,n,x,t,D,q,y,A;q=0;var F,L=0;n=this.utils.invokeHookFns;q=this.prePointProcessingHookFn;var K=c.legend;b.oriCanvasLeft=d.config.canvasLeft;b.oriBottomSpace=d.config.marginBottom;b.oriTopSpace=d.config.marginTop;c=h._tempSnap={top3DSpace:0,bottom3DSpace:0,topLabelSpace:0,rightLabelSpace:0};m=
|
|
Math.min(2*(m-r),$);b.marginTop+=r/2;b.marginBottom+=r/2;r=f.length;p=h.labelDistance+p;g=h.showLabelsAtCenter;w=Math.min(m,.3*$);u=$-w;l=$-w-p;z=0;v=f[0]&&f[0].y?f[0].y:1;B=.8/v;n(q,[f]);n=h.totalValue||0;for(C.useEllipsesOnOverflow(b.useEllipsesWhenOverflow);s<r;s+=1)x=f[s],x.legendItemId&&K.configureItems(x.legendItemId,{configuration:{fillColor:x.legendColor}}),q=x.style,Za(q),t=e(hb(parseFloat(q.lineHeight)+q.borderPadding+q.borderThickness),10),C.setStyle(q),q=x.y,g?C.getSmartText(x.displayValue,
|
|
$,t):(q=x.getModifiedCurrentValue&&x.getModifiedCurrentValue(n)||q,q=x.getRatioK(q,B,n,v),y=w*q,A=l+(w-y)/2,D=C.getSmartText(x.displayValue,A,t),x.displayValue=D.text,D.tooltext&&(x.originalText=D.tooltext),z=Math.max(z,D.width),0<u&&(D=0<D.width?A-D.width:A+p,q=1/(q+1)*(y+2*D+w),u=Math.min(u,q-w)),n+=void 0===h.offsetVal?x.y:"function"===typeof h.offsetVal?h.offsetVal(s):h.offsetVal);"right"===K.config.legendPos?(d.isLegendRight=!0,b.marginRight+=K.config.width):d.isLegendRight=!1;x&&(F=x.getLowestRadiusFactor(v));
|
|
d=w+u;d>m&&(d=m);n=void 0===h.offsetVal?0:"function"===typeof h.offsetVal?h.offsetVal():h.offsetVal;if(!g)for(s=this.LABEL_PLACEMENT_ITERATOR_INDEX_START,r=f.length;s<r;s+=1)x=f[s],q=x.y,q=x.getModifiedCurrentValue&&x.getModifiedCurrentValue(n)||q,q=x.getRatioK(q,B,n,v),y=d*q,A=l+(w-y)/2,D=C.getSmartText(x.displayValue,A,t),L=M(L,.5*y+D.width+p),n+=void 0===h.offsetVal?x.y:"function"===typeof h.offsetVal?h.offsetVal():h.offsetVal;0<z?(c.rightLabelSpace=$-d,f=L-.5*b.canvasWidth,0<f&&(b.marginRight+=
|
|
f,b.marginLeft-=f),b.marginRight+=.5*c.rightLabelSpace,b.marginLeft+=.5*c.rightLabelSpace):p=0;h.labelDistance=h.connectorWidth=p;(g||!z)&&m<$&&(b.marginLeft+=.5*($-m-p),b.marginRight+=.5*($-m-p));h.is2d||(b.marginTop+=c.top3DSpace=d*h.yScale*a/2,b.marginBottom+=c.bottom3DSpace=d*h.yScale*F/2);b.gaugeStartX=b.marginLeft;b.gaugeStartY=b.marginTop+(k+I+5);b.gaugeEndX=d+b.marginLeft;b.gaugeEndY=b.canvasHeight+b.marginTop;b.gaugeCenterX=b.gaugeStartX+(b.gaugeEndX-b.gaugeStartX)/2-b.marginLeft/2;b.gaugeCenterY=
|
|
b.gaugeStartY+(b.gaugeEndY-b.gaugeStartY)/2;b.plotSemiWidth=(b.canvasWidth-c.rightLabelSpace)/2;b.canvasCenterX=b.oriCanvasLeft+d/2},hide:function(a){var d,b,c;if(a&&0!==a.length)for(d=0,b=a.length;d<b;d++)c=a[d],c.connector&&c.connector.hide(),c.dataLabel&&c.dataLabel.hide(),c.graphic&&c.graphic.hide(),c.trackerObj&&c.trackerObj.hide()},animateElements:function(a,d,b,c,k){function e(){g||(k(),g=!0)}function h(a,b){var d=(b||{}).alpha,d=void 0===d?c.post:{opacity:d};a&&(a.attr(c.pre),a.animateWith($,
|
|
f,d,m,p,e))}var r=this.chart.get("config","animationObj"),m=r.duration,$=r.dummyObj,f=r.animObj,p=r.animType,g=!1,s,w,u,l,z;k=k||function(){};b=b||[];s=0;for(w=a.length;s<w;s++)if(u=a[s])if(b.length)for(l=0,z=b.length;l<z;l++)r=a[s][d][b[l]],h(r,u.point);else r=u,h(r[d],u.point)},drawIndividualDataLabel:function(a,d){var b=this.conf,c=this.components.data,k=a.displayValue,I=a.plot,h=a.labelY,r=a.labelX,m=a.labelAline,$=a.style||{},f=e(parseInt($.fontSize,10),b.baseFontSize),p=b.lineHeight,g=.3*f,
|
|
s=.3*p,f={fontFamily:$.fontFamily,fontSize:$.fontSize,lineHeight:$.lineHeight,fontWeight:$.fontWeight,fontStyle:$.fontStyle,color:$.color},w,u=b.connectorEndSwitchHistoryY,l=b.labelDistance,z=b.blankSpace,v=b.streamLinedData;b.showLabelsAtCenter?(c=0===d&&v?h-s+(c[1].plot.distanceAvailed||0):h-s+(I.distanceAvailed||0),k!==F?I.dataLabel.attr({transform:"t"+r+","+c,"text-anchor":sa[m],text:k,fill:$.color,"font-size":$.fontSize,"text-bound":[$.backgroundColor,$.borderColor,$.borderThickness,$.borderPadding,
|
|
$.borderRadius,$.borderDash]}).css(f).show():I.dataLabel&&I.dataLabel.hide()):(s=h-g-a.distributionFactor*p,g=h-g,w=u[a.alignmentSwitch],void 0!==b.lastplotY&&void 0!==w&&w-g<p&&(h=g=w-p),a.displayValue&&(u[a.alignmentSwitch]=g),b.lastplotY=a.plotY,b.labelAlignment===b.alignmentType.alternate?a.alignmentSwitch?(p=r+z+a.virtualWidth,b=p+l+a.distributionFactor*b.globalMinXShift):(p=r-z,b=p-(l-(a.lOverflow||0))-a.distributionFactor*b.globalMinXShift):(p=r-z,b=p-(l-(a.lOverflow||0))-a.distributionFactor*
|
|
b.globalMinXShift),"undefined"===typeof k||k===F||0===d&&v?I.connector&&I.connector.hide():(b=["M",b,s,"L",p,g],I.connector.attr({path:b,"shape-rendering":s===g&&1>g?"crisp":""}).show()),c=0===d&&v?h+(c[1].plot.dy||0):g+(I.dy||0),k!==F?I.dataLabel.attr({transform:"t"+r+","+c,"text-anchor":sa[m],text:k,fill:"FF0000","font-size":10,"text-bound":[$.backgroundColor,$.borderColor,$.borderThickness,$.borderPadding,$.borderRadius,$.borderDash]}).css(f).show():I.dataLabel&&I.dataLabel.hide())},drawTracker:function(a){var d=
|
|
this.chart,b=d.components.paper,d=d.graphics.trackerGroup,c,k,e=+new Date,h,r;h=a.plot;k=h.trackerObj;h.graphic&&(c=h.graphic.Shapeargs.silhuette,r={link:a.link,value:a.y,displayValue:a.displayValueArgs,categoryLabel:a.categoryLabel,dataIndex:h.index||"",toolText:a.toolText},a.datasetIndex=h.index,k?k.attr({path:c,isTracker:e,fill:ua,stroke:"none",transform:"t0,"+(h._startTranslateY||0),ishot:!0,cursor:h.cursor}):k=h.trackerObj=b.path(c,d).attr({isTracker:e,fill:ua,stroke:"none",transform:"t0,"+(h._startTranslateY||
|
|
0),ishot:!0,cursor:h.cursor}),k.data("eventArgs",r),k.show())},calculatePositionCoordinate:function(a,d){var b=this.conf,c=b.maxValue,k=b.is2d,e=b.x,h=this.graphics.plotItems||[],r=this.chart,m=r.config,$=m.canvasTop,f=b.unitHeight,p=b.drawingRadius,g=b.labelDistance,s=b.showLabelsAtCenter,w=b.isHollow,u=.3*m.style.fontSize,l=b.yScale,z=b.blankSpace,v=b.lastRadius,B=r.linkedItems.smartLabel,C,n=0,x,t,D=a.length-1,q=!1,y=0,A,F,L=b.lineHeight,K=.8/m.effCanvasHeight,J=r.config.width-2,E=b.streamLinedData;
|
|
C={flag:!1,point:void 0,sLabel:void 0,setAll:function(a,b,c){this.flag=a;this.point=b;this.sLabel=c}};var Q={point:void 0,sLabel:void 0,set:function(a,b){return function(c,d){var k,e;c.dontPlot||(this.point&&this.sLabel?(k=a(this.point,this.sLabel),e=a(c,d),b(k,e)&&(this.point=c,this.sLabel=d)):(this.point=c,this.sLabel=d))}}},V={},O={},R={},U={},N=b.slicingGapPosition={};ca.extend(V,C);ca.extend(O,C);V.setAll=function(a,b,c){var d=this.point,k=this.sLabel;this.flag=a;d&&k?(a=d.labelX-(k.oriTextWidth-
|
|
k.width),d=b.labelX-(c.oriTextWidth-c.width),a>d&&(this.point=b,this.sLabel=c)):(this.point=b,this.sLabel=c)};O.setAll=function(a,b,c){var d=this.point,k=this.sLabel;this.flag=a;d&&k?(a=d.labelX+k.oriTextWidth,d=b.labelX+c.oriTextWidth,a<d&&(this.point=b,this.sLabel=c)):(this.point=b,this.sLabel=c)};ca.extend(R,Q);ca.extend(U,Q);R.set=function(){return Q.set.apply(R,[function(a){return a.labelX},function(a,b){return a>b?!0:!1}])}();U.set=function(){return Q.set.apply(U,[function(a,b){return a.labelX+
|
|
b.oriTextWidth},function(a,b){return a<b?!0:!1}])}();b.noOfGap=0;B.useEllipsesOnOverflow(m.useEllipsesWhenOverflow);m=0;for(C=a.length;m<C;m++)if(x=a[m])x.x=m,h[m]&&(x.isSliced=h[m].sliced||!!x.isSliced||!!b.isSliced),m?(d&&(q=!q),x.isSliced&&(F=x.x,1<F&&!N[F]&&(N[F]=!0,b.noOfGap+=1),F<D&&(N[F+1]=!0,b.noOfGap+=1)),E?(F=1==b.useSameSlantAngle?c?p*x.y/c:p:c?p*Xa(x.y/c):p,t=f*(a[m-1].y-x.y)||1):(n+=t=f*a[m].y,F=p*(1-n*K)),x.shapeArgs={x:e,y:$,R1:v,R2:F,h:t||1,r3dFactor:l,isHollow:w,gStr:"point",is2D:k,
|
|
renderer:r.components.paper,isFunnel:!0},B.setStyle(x.style),x.oriText=x.displayValue,A=A=B.getSmartText(x.displayValue,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),s?(x.labelAline="middle",x.labelX=e,x.labelY=(k?$:$+l*v)+t/2+u):(x.labelAline="start",x.alignmentSwitch=q,x.distributionFactor=x.distributionFactor||0,q?(x.labelX=e-(g+F+z+A.width),x.labelX-=x.distributionFactor*b.globalMinXShift,R.set(x,A)):(x.labelX=e+g+F+z,x.labelX+=x.distributionFactor*b.globalMinXShift,U.set(x,A)),y=x.distributionFactor*
|
|
L,x.labelY=$+u+t+y),d&&(q&&0>x.labelX?(v=x.labelX+A.width,v=B.getSmartText(x.displayValue,v,Number.POSITIVE_INFINITY,!0),x.labelX=2,x.isLabelTruncated=!0,x.displayValue=v.text,x.virtualWidth=v.maxWidth,V.setAll(!0,x,v)):!q&&x.labelX+A.width>J&&(v=B.getSmartText(x.displayValue,J-x.labelX,Number.POSITIVE_INFINITY,!0),x.isLabelTruncated=!0,x.displayValue=v.text,x.virtualWidth=v.maxWidth,O.setAll(!0,x,v))),x.pWidth=x.virtualWidth=x.virtualWidth||A.width,$+=t,v=F):(x.oriText=x.displayValue,F=1==b.useSameSlantAngle?
|
|
c?p*x.y/c:p:c?p*Xa(x.y/c):p,x.labelWidth>2*F&&!d?(x.labelAline="start",x.labelX=0):(x.labelAline="middle",x.labelX=e),t=2*g,x.displayValue=B.getSmartText(x.displayValue,2*F+t,Number.POSITIVE_INFINITY,!0).text,x.labelY=(k?$:$-l*v)-u-z),x.plotX=e,x.plotY=$;this.findBestPosition.call(this,a,{lTrimmedInfo:V,rTrimmedInfo:O,lLargestLabel:R,rLargestLabel:U})},findBestPosition:function(a,d){var b=this.conf,c=this.chart,k=c.config,e=0,h=d.lTrimmedInfo,r=d.rTrimmedInfo,m=d.lLargestLabel,$=d.rLargestLabel,f=
|
|
c.linkedItems.smartLabel,p=0,g=b.streamLinedData,s=b.blankSpace,b=k.width-b.blankSpace;if(!h.flag||!r.flag){if(r.flag){if(!m.point)return;e=r.sLabel;e=e.oriTextWidth-e.width;m=m.point.labelX-s;e=-Math.ceil(Math.min(e,m))}else if(h.flag){if(!$.point)return;e=h.sLabel;e=e.oriTextWidth-e.width;m=b-($.point.labelX+$.sLabel.width);e=Math.ceil(Math.min(e,m))}if(e)for(m=0,$=a.length;m<$;m++)k=a[m],!m&&g?k.labelX+=e:(k.alignmentSwitch?(c=0>e?f.getSmartText(k.oriText,k.pWidth,Number.POSITIVE_INFINITY,!0):
|
|
f.getSmartText(k.oriText,k.pWidth+e,Number.POSITIVE_INFINITY,!0),k.isLabelTruncated&&(p=c.width-k.pWidth)):c=0<e?f.getSmartText(k.oriText,k.pWidth,Number.POSITIVE_INFINITY,!0):f.getSmartText(k.oriText,k.pWidth-e,Number.POSITIVE_INFINITY,!0),k.virtualWidth=c.width,k.displayValue=c.text,k.labelX+=e-p,k.shapeArgs&&(k.shapeArgs.x+=e),p=0);else for(f.useEllipsesOnOverflow(k.useEllipsesWhenOverflow),m=0,$=a.length;m<$;m++)k=a[m],0<(p=k.labelX+k.pWidth-b)&&(k.lOverflow=p,k.labelX-=p,c.isLegendRight?k.displayValue=
|
|
f.getSmartText(k.oriText,k.pWidth-p,Number.POSITIVE_INFINITY,!0).text:(k.lOverflow=p,k.labelX-=p))}},getPlotData:function(a){var d=this.components.data[a],b=this.userData||(this.userData=[]),c="y name color alpha borderColor borderWidth link label displayValue datasetIndex toolText".split(" "),k;if(b[a])a=b[a];else{a=b[a]={};for(b=0;b<c.length;b++)a[k=c[b]]=d[k];a.value=a.y;a.label=a.name;delete a.y;delete a.name}return a},pyramidFunnelShape:function(){var a={y:!0,R1:!0,R2:!0,h:!0,r3dFactor:!0,color:!0,
|
|
opacity:!0,fill:!0,stroke:!0,strokeColor:!0,strokeAlpha:!0,"stroke-width":!0},d=function(a,b,c,d,k,e,p,f,s,g,u){"object"===typeof a&&(b=a.y,c=a.R1,d=a.R2,k=a.h,e=a.r3dFactor,p=a.is2D,g=a.isHollow,s=a.isFunnel,a=a.x);f=a-c;u=a+c;var l=a-d,z=a+d,v=b+k,B,C;if(p)B={silhuette:["M",f,b,"L",u,b,z,v,l,v,"Z"]},s||(a=Math.round(a),B.lighterHalf=["M",f,b,"L",a,b,a,v,l,v,"Z"],B.darkerHalf=["M",a,b,"L",u,b,z,v,a,v,"Z"]);else if(s){l=a;z=b;b=c||.01;u=d||.01;a=g;f=b*e;e*=u;k=z+k;v=q(u,2)-q(b,2);c=-2*(q(u,2)*z-q(b,
|
|
2)*k);d=q(b*e,2)+q(u*z,2)-q(u*f,2)-q(b*k,2);g=Xa(q(c,2)-4*v*d);d=(-c+g)/(2*v);v=(-c-g)/(2*v);d<k&&d>z?C=v:v<k&&v>z&&(C=d);d=Xa((q(C-z,2)-q(f,2))/q(b,2));c=-d;v={x:Ia(q(b,2)*d/(C-z)*100)/100,y:Ia(100*(q(f,2)/(C-z)+z))/100};d={x:Ia(q(u,2)*d/(C-k)*100)/100,y:Ia(100*(q(e,2)/(C-k)+k))/100};g={x:Ia(q(b,2)*c/(C-z)*100)/100,y:Ia(100*(q(f,2)/(C-z)+z))/100};C={x:Ia(q(u,2)*c/(C-k)*100)/100,y:Ia(100*(q(e,2)/(C-k)+k))/100};v={topLeft:g,bottomLeft:C,topRight:v,bottomRight:d};for(B in v)if(isNaN(v[B].x)||isNaN(v[B].y))v[B].x=
|
|
"topLeft"===B||"bottomLeft"===B?-b:b,v[B].y="bottomRight"===B||"bottomLeft"===B?k:z;k=v.topLeft;c=v.bottomLeft;B=l+k.x;C=l+v.topRight.x;z=l+c.x;l+=v.bottomRight.x;k=k.y;c=c.y;v=["A",b,f,0,0,0,C,k];d=["A",b,f,0,1,1,C,k];g=["A",u,e,0,0,1,z,c];u=["A",u,e,0,1,0,z,c];u={front:["M",B,k].concat(v,["L",l,c],g,["Z"]),back:["M",B,k].concat(d,["L",l,c],u,["Z"]),silhuette:["M",B,k].concat(d,["L",l,c],g,["Z"])};a||(u.top=["M",B,k].concat(v,["L",C,k],["A",b,f,0,1,0,B,k],["Z"]));B=u}else B=c*e,C=d*e,k=A(5,c),c=
|
|
A(2,2*B),d=A(2,c),e=d/e,B={top:["M",f,b,"L",a,b+B,u,b,a,b-B,"Z"],front:["M",f,b,"L",a,b+B,u,b,z,v,a,v+C,l,v,"Z"],topLight:["M",f,b+.5,"L",a,b+B+.5,a,b+B-c,f+e,b,"Z"],topLight1:["M",u,b+.5,"L",a,b+B+.5,a,b+B-d,u-e,b,"Z"],silhuette:["M",f,b,"L",a,b-B,u,b,z,v,a,v+C,l,v,"Z"],centerLight:["M",a,b+B,"L",a,v+C,a-5,v+C,a-k,b+B,"Z"],centerLight1:["M",a,b+B,"L",a,v+C,a+5,v+C,a+k,b+B,"Z"]};return B},b=function(b,c){var k,m,f=this,g,p,qa=!1,s=!1,w=this._3dAttr,u;pa(b)&&ea(c)&&(k=b,b={},b[k]=c);if(pa(b))f=a[b]?
|
|
this._3dAttr[b]:this._attr(b);else{for(k in b)m=b[k],a[k]?(w[k]=m,"fill"===k?(m&&m.linearGradient&&m.stops&&m.stops[0]&&(m=m.stops[0][1]),Ma.test(m)?(p=new La(m),g=p.get("hex"),p=100*p.get("a")):m&&m.FCcolor?(g=m.FCcolor.color.split(l)[0],p=m.FCcolor.opacity.split(l)[0]):$a.test(m)&&(g=m.replace(Qa,ab),p=e(w.opacity,100)),w.color=g,w.opacity=p,s=!0):"color"===k||"opacity"===k?(w.fill=N(t(w.color,e(w.opacity,100))),s=!0):"stroke"===k||"strokeColor"===k||"strokeAlpha"===k?w.is2D&&("stroke"===k?(m&&
|
|
m.linearGradient&&m.stops&&m.stops[0]&&(m=m.stops[0][1]),Ma.test(m)?(p=new La(m),g=p.get("hex"),p=100*p.get("a")):m&&m.FCcolor?(g=m.FCcolor.color.split(l)[0],p=m.FCcolor.opacity.split(l)[0]):$a.test(m)&&(g=m.replace(Qa,ab),p=e(w.opacity,100)),w.strokeColor=g,w.strokeAlpha=p):w.stroke=t(w.strokeColor,e(w.strokeAlpha,100)),w.isFunnel?this.funnel2D.attr("stroke",w.stroke):this.borderElement.attr("stroke",w.stroke)):"stroke-width"===k?w.is2D&&(w.isFunnel?this.funnel2D.attr(k,m):this.borderElement.attr(k,
|
|
m)):qa=!0):this._attr(k,m);w.is2D?(qa&&(g=d(w.x,w.y,w.R1,w.R2,w.h,w.r3dFactor,w.is2D),f.shadowElement.attr({path:g.silhuette}),w.isFunnel?f.funnel2D.attr({path:g.silhuette}):(f.lighterHalf.attr({path:g.lighterHalf}),f.darkerHalf.attr({path:g.darkerHalf}),f.borderElement.attr({path:g.silhuette}))),s&&(w.isFunnel?f.funnel2D.attr("fill",N(t(w.color,e(w.opacity,100)))):(!1===w.use3DLighting?g=p=w.color:(g=ha(w.color,80),p=P(w.color,80)),f.lighterHalf.attr("fill",N(t(p,e(w.opacity,100)))),f.darkerHalf.attr("fill",
|
|
N(t(g,e(w.opacity,100))))))):(qa&&(g=d(w.x,w.y,w.R1,w.R2,w.h,w.r3dFactor,w.is2D),f.shadowElement.attr("path",g.silhuette),w.isFunnel?(f.front.attr("path",g.front),f.back.attr("path",g.back),f.toptop&&g.top&&f.toptop.attr("path",g.top)):(f.front.attr("path",g.front),f.toptop.attr("path",g.top),f.topLight.attr("path",g.topLight),f.topLight1.attr("path",g.topLight1),f.centerLight.attr("path",g.centerLight),f.centerLight1.attr("path",g.centerLight1))),s&&(g=w.color,p=w.opacity,w.isFunnel?(s=P(g,60),qa=
|
|
ha(g,60),f.back.attr("fill",N({FCcolor:{color:qa+l+s+l+g,alpha:p+l+p+l+p,ratio:"0,60,40",angle:0}})),f.front.attr("fill",N({FCcolor:{color:g+l+s+l+qa,alpha:p+l+p+l+p,ratio:"0,40,60",angle:0}})),f.toptop&&f.toptop.attr("fill",N({FCcolor:{color:s+l+qa,alpha:p+l+p,ratio:"0,100",angle:-65}}))):(s=P(g,80),k=P(g,70),qa=ha(g,80),m="0,"+p,u=g+l+k,w=5/(w.R1*w.r3dFactor)*100,f.centerLight.attr("fill",N({FCcolor:{color:u,alpha:m,ratio:"0,100",angle:0}})),f.centerLight1.attr("fill",N({FCcolor:{color:u,alpha:m,
|
|
ratio:"0,100",angle:180}})),f.topLight.attr("fill",N({FCcolor:{color:k+l+k+l+g+l+g,alpha:p+l+p+l+0+l+0,ratio:"0,50,"+w+l+(50-w),angle:-45}})),f.topLight1.attr("fill",N({FCcolor:{color:k+l+g+l+qa,alpha:p+l+p+l+p,ratio:"0,50,50",angle:0}})),f.front.attr("fill",N({FCcolor:{color:g+l+g+l+qa+l+qa,alpha:p+l+p+l+p+l+p,ratio:"0,50,0,50",angle:0}})),f.toptop.attr("fill",N({FCcolor:{color:s+l+g+l+qa+l+qa,alpha:p+l+p+l+p+l+p,ratio:"0,25,30,45",angle:-45}})))))}return f},c=function(){var a=this.shadowElement;
|
|
c&&a.shadow.apply(a,arguments)},k=function(a,b,c){var d=a.chart.get("config","animationObj"),k=d.duration,e=d.dummyObj,f=d.animObj,g=d.animType;return function(d,m,u){if(d=c[d])return d.animateWith(e,f,{path:m},k,g,a.postPlotCallback);u=u||ga;a.postPlotCallback();return b.path(m,c).attr(u)}};return function(a,h,r,m,f,g,p,l,s,w,u,n){var z=this.chart.graphics.datasetGroup,v;"object"===typeof a&&(h=a.y,r=a.R1,m=a.R2,f=a.h,g=a.r3dFactor,p=a.gStr,l=a.is2D,n=a.use3DLighting,s=a.renderer,u=a.isHollow,w=
|
|
a.isFunnel,v=a.graphics,a=a.x);g=e(g,.15);a={x:a,y:h,R1:r,R2:m,h:f,r3dFactor:g,is2D:l,use3DLighting:n,isHollow:u,isFunnel:w,renderer:s};h=d(a);r="silhuette lighterHalf darkerHalf centerLight centerLight1 front toptop topLight topLight1 shadowElement funnel2D back".split(" ");if(v){if(m=v._3dAttr,m.isFunnel!==a.isFunnel||m.is2D!==a.is2D||m.isHollow!==a.isHollow)for(f=0,u=r.length;f<u;f++)if(g=r[f],m=v[g])delete v[g],m.remove()}else v=void 0;p=v||s.group(p,z);p.toFront();p.Shapeargs=h;s=k(this,s,p,
|
|
"easeIn");p.shadowElement=s("shadowElement",h.silhuette,{fill:ua,stroke:"none"});p._attr=p._attr||p.attr;p.attr=b;p.shadow=c;p._3dAttr=a;w?l?p.funnel2D=s("funnel2D",h.silhuette):(p.back=s("back",h.back,{"stroke-width":0,stroke:"none"}),p.front=s("front",h.front,{"stroke-width":0,stroke:"none"}),h.top&&(p.toptop=s("toptop",h.top,{"stroke-width":0,stroke:"none"}))):l?(p.lighterHalf=s("lighterHalf",h.lighterHalf,{"stroke-width":0}),p.darkerHalf=s("darkerHalf",h.darkerHalf,{"stroke-width":0}),p.borderElement=
|
|
s("borderElement",h.silhuette,{fill:ua,stroke:"none"})):(p.front=s("front",h.front,{"stroke-width":0}),p.centerLight=s("centerLight",h.centerLight,{"stroke-width":0}),p.centerLight1=s("centerLight1",h.centerLight1,{"stroke-width":0}),p.toptop=s("toptop",h.top,{"stroke-width":0}),p.topLight=s("topLight",h.topLight,{"stroke-width":0}),p.topLight1=s("topLight1",h.topLight1,{"stroke-width":0}));return p}}(),utils:function(){function a(){var b=[],d=0;this.set=function(a,e){d++;b[a]=e};this.get=function(a){return b[a]};
|
|
this.getAll=function(){return b};this.mergeWith=function(d){var k,e,m=b.slice(0);if(!(d instanceof Array))if(d instanceof a)d=d.getAll();else return;for(k in d)e=d[k],m[k]||(m[k]=e);return m};this.getEffectiveLength=function(){return d}}function d(a){this.distributionLength=a;this.distributedMatrix=[];this.altDistributedMatrix=[];this.nonDistributedMatrix={};this.forcePushObj={};this.flags={exhaustion:!1}}var b;a.prototype.constructor=a;d.prototype.constructor=d;d.prototype.push=function(a,b){this.nonDistributedMatrix[b]=
|
|
this.nonDistributedMatrix[b]||[];this.nonDistributedMatrix[b].push(a)};d.prototype.forcePush=function(a,b){this.forcePushObj[b]=a};d.prototype.distribute=function(c){var d=b,e=!0,h=new a,r=new a,m=new a,f=new a,g=this.flags,p,l,s,w,u,n=0,z=d.components.data;if(c){if(0<z.length-this.distributionLength)for(l in this.nonDistributedMatrix)for(d=this.nonDistributedMatrix[l],w=1;w<d.length;w++)u=d[w],u.dontPlot=!0,u.displayValue=""}else if(0<z.length-2*this.distributionLength)for(l in this.nonDistributedMatrix)for(d=
|
|
this.nonDistributedMatrix[l],w=1;w<d.length-1;w++)u=d[w],u.dontPlot=!0,u.displayValue="";if(z.length>this.distributionLength&&!c){g.exhaustion=!0;for(l in this.nonDistributedMatrix)for(d=this.nonDistributedMatrix[l],w=0,c=d.length;w<c;w++)u=d[w],u.dontPlot?e?p=m:p=f:(e?p=h:p=r,p.getEffectiveLength()>parseInt(l,10)?u.distributionFactor=p.getEffectiveLength()-1-l:u.distributionFactor=0),p.set(n++,u),e=!e;this.distributedMatrix=h.mergeWith(m);this.altDistributedMatrix=r.mergeWith(f)}else{for(s in this.nonDistributedMatrix)for(d=
|
|
this.nonDistributedMatrix[s],w=0,c=d.length;w<c;w++)u=d[w],u.dontPlot?p=m:(p=h,p.getEffectiveLength()>parseInt(s,10)?u.distributionFactor=p.getEffectiveLength()-1-s:u.distributionFactor=0),p.set(n++,u);this.distributedMatrix=h.mergeWith(m)}};d.prototype.getDistributedResult=function(){var a=b,d=a.chart,e=d.components.legend,h=a.conf.alignmentType,a=[],r=e&&"right"===e.align&&1||0;e.width||(r=0);d.isLegendRight=r;this.distribute(r);r?(d=h["default"],a.push(this.distributedMatrix)):(d=this.flags.exhaustion?
|
|
h.alternate:h["default"],this.flags.exhaustion?[].push.call(a,this.distributedMatrix,this.altDistributedMatrix):a.push(this.distributedMatrix));return{forceMatrix:this.forcePushObj,suggestion:d,matrix:a}};return{DistributionMatrix:d,setContext:function(a){b=a},invokeHookFns:function(){var a,d=[],e=b;switch(arguments.length){case 3:e=arguments[2];case 2:d=arguments[1];case 1:a=arguments[0];break;default:return}a&&"function"===typeof a&&a.apply(e,d)},copyProperties:function(a,d,e){function h(a){return"string"===
|
|
typeof a&&0===a.indexOf("$")?(a=a.substring(1),d[a]):"function"===typeof a?a.call(b,d):a}var r,m,f,g,p,l,s,w=function(){};r=0;for(m=e.length;r<m;r++)f=e[r],g=f[0],p=f[1],l=f[2],s=h(f[3]),f=f[4]||w,d[p]=l(a[g],s),f(d)},sortObjArrByKey:function(a,b){return a.sort(function(a,c){return Math.abs(c[b])-Math.abs(a[b])})},getSumValueOfObjArrByKey:function(a,b){var d,e,r=0;d=0;for(e=a.length;d<e;d++)r+=parseFloat(a[d][b],10);return r}}}(),slice:function(a,d,b,c){d=this.plotItem;var k=this.datasetStore,e=k.chart,
|
|
h=e.get("config","animationObj");b=h.duration;var r=h.dummyObj,m=h.animObj,h=h.animType,f=k.conf,g=f.slicingDistance/2,p=0,l=0,s=k.graphics.plotItems,w=s.length,u,n,z,v,B;d&&ya.call(d.trackerObj,e,a,"dataplotclick");if(!f.sliceLock)for(f.sliceLock=1,c=d.sliced=ea(c)?c:!d.sliced,v=-g,B=function(){return function(){f.sliceLock=0;ca.raiseEvent("SlicingEnd",{slicedState:c,data:k.getPlotData(z)},e.chartInstance)}},p=0;p<w;p+=1)a=s[p],a!==d?n=a.sliced=!1:(n=!0,z=p),a.graphic&&(u=a.dy,u=-u,c&&(a.x<d.x?(u+=
|
|
v,l+=1):a.x==d.x?l?p==w-1&&(u+=.5*g):u+=.5*-g:u+=g),a.graphic.attr({transform:"t0,"+a.dy}),a.dy+=u,u={transform:"...t0,"+u},n&&ca.raiseEvent("SlicingStart",{slicedState:!c,data:k.getPlotData(z)},e.chartInstance),a.graphic.animateWith(r,m,u,b,h,n&&B(c,z)),a.dataLabel&&a.dataLabel.animateWith(r,m,u,b,h),a.connector&&a.connector.animateWith(r,m,u,b,h),a.trackerObj&&a.trackerObj.animateWith(r,m,u,b,h),1==p&&!s[0].graphic&&s[0].dataLabel&&s[0].dataLabel.animateWith(r,m,u,b,h))},legendClick:function(a){this.slice.call(a)},
|
|
getEventArgs:function(a){a=this.components.data[a.configuration.index]||{};return{alpha:a.alpha,value:a.y,color:a.color,borderColor:a.borderColor,borderWidth:a.borderWidth,link:a.link,displayValue:a.displayValue,datasetIndex:a.datasetIndex,toolText:a.toolText,label:a.categoryLabel}}}]);FusionCharts.register("component",["dataset","Funnel",{type:"funnel",LABEL_PLACEMENT_ITERATOR_INDEX_START:1,configure:function(){var a=this.chart,d=a.components.numberFormatter,b=this.utils.sortObjArrByKey,c=a.jsonData?
|
|
a.jsonData.chart:{},a=this.JSONData.data,k,e,h;if(this._checkValidData(a)){k=0;for(h=a.length;k<h;k++)(e=a[k])&&void 0!==e.value&&(e.value=d.getCleanValue(e.value,!0));d=+(void 0===c.streamlineddata?1:c.streamlineddata);this.JSONData.data=d?b(a,"value"):a;d&&(a[0].pseudoPoint=!0);this.addLegend()}},configureSpecifics:function(){var a=this.chart,d=this.conf,b=this.utils.copyProperties;b(a.jsonData?a.jsonData.chart:{},d,[["streamlineddata","streamLinedData",e,1],["funnelyscale","yScale",e,void 0,function(a){var b=
|
|
a.yScale;a.yScale=0<=b&&40>=b?b/200:.2}],["usesameslantangle","useSameSlantAngle",e,function(a){return a.streamLinedData?0:1}],["ishollow","isHollow",e,void 0,function(a){void 0===a.isHollow&&(a.isHollow=a.streamLinedData?1:0)}]]);a.config.PLOT_COLOR_INDEX_START=d.streamLinedData?-1:0},preDrawingHook:function(){var a=this.components.data,d=this.conf;d.streamLinedData||a.splice(0,0,{displayValue:"",y:d.sumValue})},prePointProcessingHookFn:function(a){var d=this.chart,b=d.config,c=this.conf,k=b.canvasWidth,
|
|
e=d.linkedItems.smartLabel,h=!c.streamLinedData,r,m;(r=a[0])&&(r.pseudoPoint=!0);r&&r.displayValue&&(e.useEllipsesOnOverflow(d.config.useEllipsesWhenOverflow),e.setStyle(r.style),Za(r.style),d=parseFloat(r.style.lineHeight.match(/^\d+/)[0]||c.lineHeight,10),m=e.getOriSize(r.displayValue).height,k=e.getSmartText(r.displayValue,k,m),r.displayValue=k.text,k.tooltext&&(r.originalText=k.tooltext),r.labelWidth=e.getOriSize(k.text).width,b.marginTop+=d+4);c.totalValue=h?a[0].y-a[1].y:0;c.offsetVal=function(b){return h?
|
|
-(a[b+1]&&a[b+1].y||0):r.y}},getPointInContext:function(){function a(a){this.displayValue=a.displayValue;this.displayValueArgs=a.displayValueArgs;this.style=a.style;this.categoryLabel=a.categoryLabel;this.toolText=a.toolText;this.legendCosmetics=a.legendCosmetics;this.showInLegend=a.showInLegend;this.y=a.y;this.shadow=a.shadow;this.smartTextObj=a.smartTextObj;this.color=a.color;this.legendItemId=a.legendItemId;this.name=a.name;this.alpha=a.alpha;this.rawColor=a.rawColor;this.rawAlpha=a.rawAlpha;this.legendColor=
|
|
a.legendColor;this.borderColor=a.borderColor;this.borderWidth=a.borderWidth;this.link=a.link;this.isSliced=a.isSliced;this.doNotSlice=a.doNotSlice;this.hoverEffects=a.hoverEffects;this.rolloverProperties=a.rolloverProperties}var d=this;a.upperRadiusFactor=1;a.prototype.getModifiedCurrentValue=function(){};a.prototype.getRatioK=function(a,c,k,e){a=d.conf;var h=a.useSameSlantAngle;return a.streamLinedData?this.y?h?this.y/e:Math.sqrt(this.y/e):1:.2+c*k};a.prototype.getLowestRadiusFactor=function(a){var c=
|
|
d.conf,k=c.useSameSlantAngle;return c.streamLinedData?this.y?k?this.y/a:Math.sqrt(this.y/a):1:.2};return a},datasetCalculations:function(a){var d=this.conf,b=this.chart.components.numberFormatter,c,k,e,h={},r=d.streamLinedData,m=d.percentOfPrevious;h.highestValue=Number.NEGATIVE_INFINITY;h.refreshedData=[];d=h.sumValue=h.countPoint=0;for(c=a.length;d<c;d++)k=a[d],k.vline||(k.cleanValue=e=Math.abs(b.getCleanValue(k.value,!0)),null!==e&&(h.hasValidPoint=!0,h.highestValue=h.highestValue||e,h.refreshedData.push(k),
|
|
h.sumValue+=e,h.countPoint+=1,h.highestValue=Math.max(h.highestValue,e)));r&&(h.sumValue=h.highestValue,m&&(h.prevPerValReq=!0));return h},draw:function(){this._configure();var a=this,d=a.chart,b=d.config,c=a.conf,k=a.utils,e=k.getSumValueOfObjArrByKey,h=k.DistributionMatrix,r=a.calculatePositionCoordinate,m=b.marginTop,f=b.marginBottom,k=a.components.data,g,p,l,s=d.graphics.datalabelsGroup,w=c.streamLinedData,u,n=2;g=k.length;var z=c.maxValue=k[0].y;l=c.minValue=k[g-1].y;var v=u=0,B=c.lineHeight,
|
|
C=Math.floor,t=Math.min,x,q=a.graphics.plotItems,D=[],A;if(c.sumValue&&(a.preDrawingSpaceManagement(),a.hide(a.graphics.plotItems),a.rolloverResponseSetter=function(a,b){return function(c){a.graphic.attr(b);ya.call(this,d,c,"DataPlotRollOver")}},a.rolloutResponseSetter=function(a,b){return function(c){a.graphic.attr(b);ya.call(this,d,c,"DataPlotRollOut")}},a.legendClickHandler=function(b){return function(){a.legendClick(b,!0,!1)}},a.animateFunction=function(a){return function(){d._animCallBack();
|
|
a.attr({opacity:1})}},a.postPlotCallback=function(){},b.canvasTop+=b.marginTop-m,b.effCanvasHeight=u=b.canvasHeight-(b.marginTop+b.marginBottom)+(m+f),b.effCanvasWidth=m=b.width-(b.marginLeft+b.marginRight),p=c.drawingRadius=m/n,c.x=p+b.canvasLeft,n=c.slicingDistance,f=n/2,!(w&&2>g))){w?(l=u/(z-l),z=(e=e(k,"value"))?u/e:u):z=l=z?u/z:u;c.unitHeight=l;c.lastRadius=p;c.globalMinXShift=0;e=c.alignmentType={};e["default"]=1;e.alternate=2;l=new h(C(u/B));for(h=0;h<g;h++)p=k[h],!w&&0===h||!w&&h===g-1?l.forcePush(p,
|
|
h):(u=p.y*z,v+=p.y*z,u=v-u+u/2,u=C(u/B),l.push(p,u));w=l.getDistributedResult();k.length=0;if(void 0===w.matrix[1])[].push.apply(k,w.matrix[0]);else for(v=w.matrix[0],B=w.matrix[1],g=Math.max(v.length,B.length),h=0;h<g;h++)u=v[h],C=B[h],k.push(u?u:C);v=Object.keys(w.forceMatrix);if(0<v.length)for(x in w.forceMatrix)[].splice.apply(k,[parseInt(x,10),0].concat(w.forceMatrix[x]));switch(w.suggestion){case e["default"]:r.call(a,k,!1);break;case e.alternate:c.labelAlignment=e.alternate,p=m/3,b.canvasLeft=
|
|
b.canvasWidth/2-p,c.x=b.canvasLeft+p,r.call(a,k,!0)}if(b=c.noOfGap)c.perGapDistance=t(1.5*f,n/b),c.distanceAvailed=f;s.trackTooltip(!0);h=k.length;q||(a.graphics.plotItems=[]);s.attr({opacity:0});c.alreadyPlotted&&(a.postPlotCallback=function(){A||(A=!0,a.animateFunction(s)())});for(;h--;)D.push(a.drawIndividualPlot(k[h],h));!c.alreadyPlotted&&a.animateElements(D,"graphic",[],{pre:{opacity:lb},post:{opacity:100}},a.animateFunction(s));c.connectorEndSwitchHistoryY={};for(h=k.length;h--;)k[h].plot||
|
|
(k[h].plot=q[h]),a.drawIndividualDataLabel(k[h],h);for(h=k.length;h--;)a.drawTracker(k[h],h);c.alreadyPlotted=!0}},drawIndividualPlot:function(a,d){var b=this.conf,c=this.graphics.plotItems,k=a.y,e=a.displayValue,h=b.isSliced,f={},m=this.components.data,g=this.chart,l=g.graphics,p=l.datalabelsGroup,n=l.trackerGroup,s,w=b.showLabelsAtCenter,u=g.components.paper,t=!!a.link,l=b.distanceAvailed,z=g.components.legend,g=g.get("config","animationObj").duration;s=h?1:a.isSliced;if(null!==k&&void 0!==k&&a.shapeArgs)return(h=
|
|
c[d])?(a.shapeArgs.graphics=h.graphic,a.shapeArgs.animationDuration=g,h.graphic=this.pyramidFunnelShape(a.shapeArgs).attr({fill:a.color,"stroke-width":a.borderWidth,stroke:a.borderColor}),h.graphic.show()):(a.shapeArgs.graphics=h,a.shapeArgs.animationDuration=g,a.plot=h=c[d]={graphic:this.pyramidFunnelShape(a.shapeArgs).attr({fill:a.color,"stroke-width":a.borderWidth,stroke:a.borderColor}),dataLabel:u.text(p),trackerObj:u.path(n)},w&&0===d&&b.streamLinedData||(h.connector=u.path(p))),b.showTooltip?
|
|
h.trackerObj.tooltip(a.toolText):h.trackerObj.tooltip(!1),h.value=k,h.displayValue=e,h.sliced=!!s,h.cursor=t?"pointer":"",h.x=a.x,h.index=d,h.dataLabel&&h.dataLabel.attr({text:e,ishot:!0,direction:"",cursor:t?"pointer":"",x:0,y:0}).css(f).tooltip(a.originalText),h.connector&&h.connector.attr({"stroke-width":b.dataConnectorStyle.connectorWidth,stroke:b.dataConnectorStyle.connectorColor,ishot:!0,cursor:t?"pointer":""}),z.configureItems(m[d].legendItemId,{legendClickFN:this.legendClickHandler({datasetStore:this,
|
|
plotItem:h})}),c=k={},a.hoverEffects&&(c={color:a.rawColor,opacity:a.rawAlpha,"stroke-width":a.borderWidth,stroke:a.borderColor},k=a.rolloverProperties,k={color:k.color,opacity:k.alpha,"stroke-width":k.borderWidth,stroke:k.borderColor}),e={datasetStore:this,plotItem:h},!a.doNotSlice&&h.trackerObj.click(this.slice,e),h.trackerObj.mouseup(this.plotMouseUp,h),h.trackerObj.hover(this.rolloverResponseSetter(h,k),this.rolloutResponseSetter(h,c)),!a.doNotSlice&&h.dataLabel.click(this.slice,e),h.dataLabel.hover(this.rolloverResponseSetter(h,
|
|
k),this.rolloutResponseSetter(h,c)),h.dy=0,b.noOfGap&&(l&&(h._startTranslateY=c="t0,"+l,h.dy=h.distanceAvailed=l,h.graphic.attr({transform:c}),h.dataLabel.attr({transform:c}),h.connector.attr({transform:c})),b.slicingGapPosition[a.x]&&(b.distanceAvailed-=b.perGapDistance)),h&&(h.point=a),h;a.plot=c[d]?c[d]:c[d]={dataLabel:u.text(p).attr({text:e,direction:"",x:0,y:0}).css(f)}},getTooltipMacroStub:function(a){var d=this.conf,b=this.chart.components.numberFormatter,c=this.__base__,e;d.streamLinedData&&
|
|
(e=d.percentOfPrevious?a.pValue:b.percentValue(a.dataValue/a.prevValue*100));c=c.getTooltipMacroStub(a);c.percentValue=d.percentOfPrevious?b.percentValue(a.dataValue/a.highestValue*100):a.pValue;c.percentOfPrevValue=e;return c}},"FunnelPyramidBase"]);FusionCharts.register("component",["dataset","Pyramid",{type:"pyramid",LABEL_PLACEMENT_ITERATOR_INDEX_START:0,configure:function(){this._checkValidData(this.JSONData.data)&&this.addLegend()},configureSpecifics:function(){var a=this.chart,d=this.utils.copyProperties;
|
|
d(a.jsonData?a.jsonData.chart:{},this.conf,[["pyramidyscale","yScale",e,void 0,function(a){var c=a.yScale;a.yScale=0<=c&&40>=c?c/200:.2}],["use3dlighting","use3DLighting",e,1]]);a.config.PLOT_COLOR_INDEX_START=0},preDrawingHook:function(){},draw:function(){this._configure();var a=this,d=a.chart,b=d.config,c=a.conf,e=a.utils.DistributionMatrix,f=a.calculatePositionCoordinate,h=b.marginTop,r=b.marginBottom,m=a.components.data,g,l,p,n=d.graphics.datalabelsGroup,s,w=2,u=m.length,t,z=t=0,v=c.lineHeight,
|
|
B=Math.floor,C=Math.min,ta,x=a.graphics.plotItems,q=[],D;if(c.sumValue){a.preDrawingSpaceManagement();a.hide(a.graphics.plotItems);a.rolloverResponseSetter=function(a,b){return function(c){a.graphic.attr(b);ya.call(this,d,c,"DataPlotRollOver")}};a.rolloutResponseSetter=function(a,b){return function(c){a.graphic.attr(b);ya.call(this,d,c,"DataPlotRollOut")}};a.legendClickHandler=function(b){return function(){a.legendClick(b,!0,!1)}};a.animateFunction=function(a){return function(){d._animCallBack();
|
|
a.attr({opacity:1})}};a.postPlotCallback=function(){};b.canvasTop+=b.marginTop-h;b.effCanvasHeight=g=b.canvasHeight-(b.marginTop+b.marginBottom)+(h+r);b.effCanvasWidth=h=b.width-(b.marginLeft+b.marginRight);s=c.drawingRadius=h/w;c.x=s+b.canvasLeft;w=c.slicingDistance;r=w/2;s=Math.atan(h/2/g);c.unitHeight=p=g/c.sumValue;c.lastRadius=0;c.globalMinXShift=Math.floor(v/Math.cos(s));s=c.alignmentType={};s["default"]=1;s.alternate=2;ta=new e(B(g/v));e=0;for(g=u;e<g;e++)l=m[e],t=l.y*p,z+=l.y*p,t=z-t+t/2,
|
|
t=B(t/v),ta.push(l,t);z=ta.getDistributedResult();m.length=0;if(void 0===z.matrix[1])[].push.apply(m,z.matrix[0]);else for(v=z.matrix[0],B=z.matrix[1],g=Math.max(v.length,B.length),e=0;e<g;e++)t=v[e],p=B[e],m.push(t?t:p);switch(z.suggestion){case s["default"]:f.call(a,m,!1);break;case s.alternate:c.labelAlignment=s.alternate,c.drawingRadius=s=h/3,b.canvasLeft=b.canvasWidth/2-s,c.x=b.canvasLeft+s,f.call(a,m,!0)}if(b=c.noOfGap)c.perGapDistance=C(1.5*r,w/b),c.distanceAvailed=r;n.trackTooltip(!0);e=m.length;
|
|
x||(x=a.graphics.plotItems=[]);n.attr({opacity:0});c.alreadyPlotted&&(a.postPlotCallback=function(){D||(D=!0,a.animateFunction(n)())});for(;e--;)q.push(a.drawIndividualPlot(m[e],e));!c.alreadyPlotted&&a.animateElements(q,"graphic",[],{pre:{opacity:lb},post:{opacity:100}},a.animateFunction(n));x.splice(u,x.length-u);c.connectorEndSwitchHistoryY={};for(e=m.length;e--;)m[e].plot||(m[e].plot=x[e]),a.drawIndividualDataLabel(m[e],e);for(e=m.length;e--;)a.drawTracker(m[e],e);c.alreadyPlotted=!0}},calculatePositionCoordinate:function(a,
|
|
d){var b=this.conf,c=b.is2d,e=b.x,f=this.graphics.plotItems||[],h=this.chart,r=h.config,m=r.canvasTop,g=b.unitHeight,l=b.labelDistance,p=b.showLabelsAtCenter,n=.3*r.style.fontSize,s=b.yScale,w=b.blankSpace,u=b.lastRadius,t=h.linkedItems.smartLabel,z,v,B,C=a.length-1,ta=!1,x=0,q,D,A=b.lineHeight,y=0;z={flag:!1,point:void 0,sLabel:void 0,setAll:function(a,b,c){this.flag=a;this.point=b;this.sLabel=c}};var F={point:void 0,sLabel:void 0,set:function(a,b){return function(c,d){var e,k;c.dontPlot||(this.point&&
|
|
this.sLabel?(e=a(this.point,this.sLabel),k=a(c,d),b(e,k)&&(this.point=c,this.sLabel=d)):(this.point=c,this.sLabel=d))}}},E={},L={},K={},J={},N=h.config.width-2,Q=b.slicingGapPosition={};ca.extend(E,z);ca.extend(L,z);E.setAll=function(a,b,c){var d=this.point,e=this.sLabel;this.flag=a;d&&e?(a=d.labelX-(e.oriTextWidth-e.width),d=b.labelX-(c.oriTextWidth-c.width),a>d&&(this.point=b,this.sLabel=c)):(this.point=b,this.sLabel=c)};L.setAll=function(a,b,c){var d=this.point,e=this.sLabel;this.flag=a;d&&e?(a=
|
|
d.labelX+e.oriTextWidth,d=b.labelX+c.oriTextWidth,a<d&&(this.point=b,this.sLabel=c)):(this.point=b,this.sLabel=c)};ca.extend(K,F);ca.extend(J,F);K.set=function(){return F.set.apply(K,[function(a){return a.labelX},function(a,b){return a>b?!0:!1}])}();J.set=function(){return F.set.apply(J,[function(a,b){return a.labelX+b.oriTextWidth},function(a,b){return a<b?!0:!1}])}();b.noOfGap=0;t.useEllipsesOnOverflow(r.useEllipsesWhenOverflow);r=0;for(z=a.length;r<z;r++)if(v=a[r])v.x=r,f[r]&&(v.isSliced=f[r].sliced||
|
|
!!v.isSliced||!!b.isSliced),d&&(ta=!ta),v.isSliced&&((B=v.x)&&!Q[B]&&(Q[B]=!0,b.noOfGap+=1),B<C&&(Q[B+1]=!0,b.noOfGap+=1)),t.setStyle(v.style),v.oriText=v.displayValue,q=q=t.getSmartText(v.displayValue,Number.POSITIVE_INFINITY,Number.POSITIVE_INFINITY),y+=v.y,D=b.drawingRadius*y/b.sumValue,B=g*v.y,v.shapeArgs={x:e,y:m,R1:u,R2:D,h:B,r3dFactor:s,gStr:"point",is2D:c,use3DLighting:!!b.use3DLighting,renderer:h.components.paper},p?(v.labelAline="middle",v.labelX=e,v.labelY=(c?m:m+s*u)+B/2+n):(v.labelAline=
|
|
"start",v.alignmentSwitch=ta,v.distributionFactor=v.distributionFactor||0,ta?(v.labelX=e-(l+(D+u)/2+w+q.width),v.labelX-=v.distributionFactor*b.globalMinXShift,K.set(v,q)):(v.labelX=e+l+(D+u)/2+w,v.labelX+=v.distributionFactor*b.globalMinXShift,J.set(v,q)),x=v.distributionFactor*A,v.labelY=m+n+B/2+x),d&&(ta&&0>v.labelX?(u=v.labelX+q.width,u=t.getSmartText(v.displayValue,u,Number.POSITIVE_INFINITY,!0),v.labelX=2,v.isLabelTruncated=!0,v.displayValue=u.text,v.virtualWidth=u.maxWidth,E.setAll(!0,v,u)):
|
|
!ta&&v.labelX+q.width>N&&(u=t.getSmartText(v.displayValue,N-v.labelX,Number.POSITIVE_INFINITY,!0),v.isLabelTruncated=!0,v.displayValue=u.text,v.virtualWidth=u.maxWidth,L.setAll(!0,v,u)),v.pWidth=v.virtualWidth||q.width,x=v.distributionFactor*A,v.labelY=m+n+B/2+x),m+=B,v.plotX=e,v.plotY=m-B/2,u=D,v.virtualWidth=v.virtualWidth||q.width;this.findBestPosition.call(this,a,{lTrimmedInfo:E,rTrimmedInfo:L,lLargestLabel:K,rLargestLabel:J})},getPointInContext:function(){function a(a){this.displayValue=a.displayValue;
|
|
this.displayValueArgs=a.displayValueArgs;this.style=a.style;this.categoryLabel=a.categoryLabel;this.toolText=a.toolText;this.legendCosmetics=a.legendCosmetics;this.showInLegend=a.showInLegend;this.y=a.y;this.legendColor=a.legendColor;this.shadow=a.shadow;this.smartTextObj=a.smartTextObj;this.color=a.color;this.alpha=a.alpha;this.name=a.name;this.legendItemId=a.legendItemId;this.rawColor=a.rawColor;this.rawAlpha=a.rawAlpha;this.borderColor=a.borderColor;this.borderWidth=a.borderWidth;this.link=a.link;
|
|
this.isSliced=a.isSliced;this.doNotSlice=a.doNotSlice;this.hoverEffects=a.hoverEffects;this.rolloverProperties=a.rolloverProperties}var d=this;a.upperRadiusFactor=0;a.prototype.getModifiedCurrentValue=function(a){return a+this.y/2};a.prototype.getRatioK=function(a){var c=d.conf;return a?a/c.sumValue:1};a.prototype.getLowestRadiusFactor=function(){return 1};return a},drawIndividualPlot:function(a,d){var b=this.conf,c=this.graphics.plotItems,e=a.y,f=a.displayValue,h=b.isSliced,r={},m=this.chart,g=this.components.data,
|
|
l=m.graphics,p=l.datalabelsGroup,n=l.trackerGroup,s,w=b.showLabelsAtCenter,u=m.components.paper,t=!!a.link,l=b.distanceAvailed,z=m.components.legend,m=m.get("config","animationObj").duration;s=h?1:a.isSliced;if(null!==e&&void 0!==e&&a.shapeArgs)return(h=c[d])?(a.shapeArgs.graphics=h.graphic,a.shapeArgs.animationDuration=m,h.graphic=this.pyramidFunnelShape(a.shapeArgs).attr({fill:a.color,"stroke-width":a.borderWidth,stroke:a.borderColor}),h.graphic.show()):(a.shapeArgs.graphics=h,a.shapeArgs.animationDuration=
|
|
m,a.plot=h=c[d]={graphic:this.pyramidFunnelShape(a.shapeArgs).attr({fill:a.color,"stroke-width":a.borderWidth,stroke:a.borderColor}),dataLabel:u.text(p),trackerObj:u.path(n)},w&&0===d&&b.streamLinedData||(a.connectorHOffset=-(a.shapeArgs.h/2),h.connector=u.path(p))),b.showTooltip?h.trackerObj.tooltip(a.toolText):h.trackerObj.tooltip(!1),h.value=e,h.displayValue=f,h.sliced=!!s,h.cursor=t?"pointer":"",h.x=a.x,h.index=d,h.dataLabel&&h.dataLabel.attr({text:f,ishot:!0,direction:"",cursor:t?"pointer":"",
|
|
x:0,y:0}).css(r).tooltip(a.originalText),h.connector&&h.connector.attr({"stroke-width":b.dataConnectorStyle.connectorWidth,stroke:b.dataConnectorStyle.connectorColor,ishot:!0,cursor:t?"pointer":""}),z.configureItems(g[d].legendItemId,{legendClickFN:this.legendClickHandler({datasetStore:this,plotItem:h})}),c=e={},a.hoverEffects&&(c={color:a.rawColor,opacity:a.rawAlpha,"stroke-width":a.borderWidth,stroke:a.borderColor},e=a.rolloverProperties,e={color:e.color,opacity:e.alpha,"stroke-width":e.borderWidth,
|
|
stroke:e.borderColor}),f={datasetStore:this,plotItem:h},!a.doNotSlice&&h.trackerObj.click(this.slice,f),h.trackerObj.mouseup(this.plotMouseUp,h),h.trackerObj.hover(this.rolloverResponseSetter(h,e),this.rolloutResponseSetter(h,c)),!a.doNotSlice&&h.dataLabel.click(this.slice,f),h.dataLabel.hover(this.rolloverResponseSetter(h,e),this.rolloutResponseSetter(h,c)),h.dy=0,b.noOfGap&&(l&&(h._startTranslateY=c="t0,"+l,h.dy=h.distanceAvailed=l,h.graphic.attr({transform:c}),h.dataLabel.attr({transform:c}),h.connector.attr({transform:c})),
|
|
b.slicingGapPosition[a.x]&&(b.distanceAvailed-=b.perGapDistance)),h.point=a,h;a.plot=c[d]?c[d]:c[d]={dataLabel:u.text(p).attr({text:f,direction:"",x:0,y:0}).css(r).tooltip(a.oriText)}},getTooltipMacroStub:function(a){var d=this.conf,b=this.chart.components.numberFormatter,c=this.__base__,e;d.streamLinedData&&(e=d.percentOfPrevious?a.pValue:b.percentValue(a.dataValue/a.prevValue*100));c=c.getTooltipMacroStub(a);c.percentValue=d.percentOfPrevious?b.percentValue(a.dataValue/a.highestValue*100):a.pValue;
|
|
c.percentOfPrevValue=e;return c}},"FunnelPyramidBase"]);n("vled",{showRTvalue:!1,canvasPadding:!1,friendlyName:"Vertical LED Gauge",defaultSeriesType:"led",defaultPlotShadow:1,standaloneInit:!0,realtimeEnabled:!0,chartleftmargin:15,chartrightmargin:15,charttopmargin:10,chartbottommargin:10,showTooltip:0,connectTickMarks:0,creditLabel:ra,isHorizontal:!1,isAxisOpposite:!0,hasLegend:!1,drawPlotlines:!1,drawPlotBands:!1,isAxisReverse:!1,hasCanvas:!1,isRealTime:!0,defaultDatasetType:"led",colorRange:!0,
|
|
applicableDSList:{led:!0},_getData:function(){var a=this.components.dataset;if(a&&(a=a[0].components.data)&&a[0])return a=a[0].config,e(a.setValue,a.itemValue)},_createDatasets:function(){var a=this.components,d=this.jsonData,b=d.value,c=d.target,e=this.defaultDatasetType,f,h,d=[];a.dataset||(a.dataset=[]);d.push({value:b,target:c});b={data:d};this.config.categories=d;d=a.dataset||(a.dataset=[]);e&&(h=FusionCharts.get("component",["dataset",e]))&&(c="datasetGroup_"+e,f=FusionCharts.register("component",
|
|
["datasetGroup",e]),e=a[c],f&&!e&&(e=a[c]=new f,e.chart=this,e.init()),d[0]?(a=d[0].JSONData,a=a.data.length,e=b.data.length,a>e&&d[0].removeData(e-1,a-e,!1),d[0].JSONData=b,d[0].configure()):(a=new h,d.push(a),a.chart=this,e&&e.addDataSet(a,0,0),a.init(b)))},_createAxes:function(){var a=this.components,d=FusionCharts.register("component",["axis","gauge"]);a.scale=a=new d;a.chart=this;a.init()}},n.axisgaugebase);n("vbullet",{friendlyName:"Vertical Bullet Gauge",creditLabel:ra,defaultSeriesType:"bullet",
|
|
gaugeType:4,ticksOnRight:0,standaloneInit:!0,hasCanvas:!0,singleseries:!0,isHorizontal:!1,isAxisOpposite:!1,isAxisReverse:!1,defaultDatasetType:"bullet",applicableDSList:{bullet:!0},defaultPaletteOptions:{paletteColors:[["A6A6A6","CCCCCC","E1E1E1","F0F0F0"],["A7AA95","C4C6B7","DEDFD7","F2F2EE"],["04C2E3","66E7FD","9CEFFE","CEF8FF"],["FA9101","FEB654","FED7A0","FFEDD5"],["FF2B60","FF6C92","FFB9CB","FFE8EE"]],bgColor:["FFFFFF","CFD4BE,F3F5DD","C5DADD,EDFBFE","A86402,FDC16D","FF7CA0,FFD1DD"],bgAngle:[270,
|
|
270,270,270,270],bgRatio:["0,100","0,100","0,100","0,100","0,100"],bgAlpha:["100","60,50","40,20","20,10","30,30"],toolTipBgColor:["FFFFFF","FFFFFF","FFFFFF","FFFFFF","FFFFFF"],toolTipBorderColor:["545454","545454","415D6F","845001","68001B"],baseFontColor:["333333","60634E","025B6A","A15E01","68001B"],tickColor:["333333","60634E","025B6A","A15E01","68001B"],trendColor:["545454","60634E","415D6F","845001","68001B"],plotFillColor:["545454","60634E","415D6F","845001","68001B"],borderColor:["767575",
|
|
"545454","415D6F","845001","68001B"],borderAlpha:[50,50,50,50,50]},_createAxes:function(){var a=this.components,d=FusionCharts.register("component",["axis","gauge"]);a.scale=a=new d;a.chart=this;a.init()},_feedAxesRawData:function(){var a=this.components,d=a.colorManager,b=this.jsonData.chart,c=g.chartPaletteStr.chart2D,k=e(b.ticksbelowgraph,1),k=e(b.ticksonright,b.axisontop,void 0!==b.axisonleft?!e(b.axisonleft):void 0,!k,this.isAxisOpposite),d={outCanfontFamily:f(b.outcnvbasefont,b.basefont,"Verdana,sans"),
|
|
outCanfontSize:Na(b.outcnvbasefontsize,b.basefontsize,10),outCancolor:f(b.outcnvbasefontcolor,b.basefontcolor,d.getColor(c.baseFontColor)).replace(/^#?([a-f0-9]+)/ig,"#$1"),useEllipsesWhenOverflow:b.useellipseswhenoverflow,divLineColor:f(b.vdivlinecolor,d.getColor(c.divLineColor)),divLineAlpha:f(b.vdivlinealpha,d.getColor("divLineAlpha")),divLineThickness:e(b.vdivlinethickness,1),divLineIsDashed:Boolean(e(b.vdivlinedashed,b.vdivlineisdashed,0)),divLineDashLen:e(b.vdivlinedashlen,4),divLineDashGap:e(b.vdivlinedashgap,
|
|
2),showAlternateGridColor:e(b.showalternatevgridcolor,0),alternateGridColor:f(b.alternatevgridcolor,d.getColor("altVGridColor")),alternateGridAlpha:f(b.alternatevgridalpha,d.getColor("altVGridAlpha")),numDivLines:b.numvdivlines,labelFont:b.labelfont,labelFontSize:b.labelfontsize,labelFontColor:b.labelfontcolor,labelFontAlpha:b.labelalpha,labelFontBold:b.labelfontbold,labelFontItalic:b.labelfontitalic,axisName:b.xaxisname,axisMinValue:b.lowerlimit,axisMaxValue:b.upperlimit,setAdaptiveMin:b.setadaptivexmin,
|
|
adjustDiv:b.adjustvdiv,labelDisplay:b.labeldisplay,showLabels:b.showlabels,rotateLabels:b.rotatelabels,slantLabel:e(b.slantlabels,b.slantlabel),labelStep:e(b.labelstep,b.xaxisvaluesstep),showAxisValues:e(b.showxaxisvalues,b.showxaxisvalue),showDivLineValues:e(b.showvdivlinevalues,b.showvdivlinevalues),showZeroPlane:b.showvzeroplane,zeroPlaneColor:b.vzeroplanecolor,zeroPlaneThickness:b.vzeroplanethickness,zeroPlaneAlpha:b.vzeroplanealpha,showZeroPlaneValue:b.showvzeroplanevalue,trendlineColor:b.trendlinecolor,
|
|
trendlineToolText:b.trendlinetooltext,trendlineThickness:b.trendlinethickness,trendlineAlpha:b.trendlinealpha,showTrendlinesOnTop:b.showtrendlinesontop,showAxisLine:e(b.showxaxisline,b.showaxislines,b.drawAxisLines,0),axisLineThickness:e(b.xaxislinethickness,b.axislinethickness,1),axisLineAlpha:e(b.xaxislinealpha,b.axislinealpha,100),axisLineColor:f(b.xaxislinecolor,b.axislinecolor,"#000000"),majorTMNumber:b.majortmnumber,majorTMColor:b.majortmcolor,majorTMAlpha:b.majortmalpha,majorTMHeight:b.majortmheight,
|
|
tickValueStep:b.tickvaluestep,showTickMarks:b.showtickmarks,connectTickMarks:b.connecttickmarks,showTickValues:b.showtickvalues,majorTMThickness:b.majortmthickness,upperlimit:a.numberFormatter.getCleanValue(b.upperlimit),lowerlimit:a.numberFormatter.getCleanValue(b.lowerlimit),reverseScale:b.reversescale,showLimits:e(b.showlimits,b.showtickmarks),adjustTM:b.adjusttm,minorTMNumber:e(b.minortmnumber,0),minorTMColor:b.minortmcolor,minorTMAlpha:b.minortmalpha,minorTMHeight:e(b.minortmheight,b.minortmwidth),
|
|
minorTMThickness:b.minortmthickness,tickMarkDistance:e(b.tickmarkdistance,b.tickmarkgap),tickValueDistance:e(b.tickvaluedistance,b.displayvaluedistance),placeTicksInside:b.placeticksinside,placeValuesInside:b.placevaluesinside,upperLimitDisplay:b.upperlimitdisplay,lowerLimitDisplay:b.lowerlimitdisplay},a=a.scale;a.chart=this;a.setCommonConfigArr(d,!this.isHorizontal,!1,k);a.configure()},_drawCanvas:function(){}},n.vled);n("hled",{friendlyName:"Vertical LED Gauge",defaultSeriesType:"led",defaultPlotShadow:1,
|
|
standaloneInit:!0,realtimeEnabled:!0,chartleftmargin:15,chartrightmargin:15,charttopmargin:10,chartbottommargin:10,showTooltip:0,connectTickMarks:0,isHorizontal:!0,isAxisOpposite:!1,creditLabel:ra},n.vled);n("hlineargauge",{showRTvalue:!1,canvasPadding:!1,friendlyName:"Horizontal Linear Gauge",creditLabel:ra,defaultDatasetType:"hlineargauge",standaloneInit:!0,isHorizontal:!0,isAxisOpposite:!1,hasLegend:!1,drawPlotlines:!1,drawPlotBands:!1,isAxisReverse:!1,minorTMNumber:4,isRealTime:!0,colorRange:!0,
|
|
applicableDSList:{hlineargauge:!0},rtParserModify:!0,_drawCanvas:function(){var a=this.components,d=this.config,b=this.graphics.datasetGroup,c=d.canvasWidth,k=d.canvasHeight,I=d.canvasTop,h=d.canvasLeft,r=a.scale,m=r.config.axisRange.min,g=r.config.axisRange.max,n=this.jsonData,r=n.chart,p=n.trendpoints&&n.trendpoints.point,n=e(r.showgaugeborder,1),qa=G(r.colorrangefillmix,r.gaugefillmix,"{light-10},{dark-20},{light-50},{light-85}"),s=G(r.colorrangefillratio,r.gaugefillratio,r.gaugefillratio,"0,8,84,8"),
|
|
w=f(r.colorrangebordercolor,r.gaugebordercolor,"{dark-20}"),u=e(r.colorrangeborderalpha,r.gaugeborderalpha,100),q=n?e(r.colorrangeborderthickness,r.gaugeborderthickness,1):0,z=a.colorRange&&a.colorRange.getColorRangeArr(m,g),v=e(r.showshadow,1),B,C,ta,x,A=a.paper,D=a.colorManager,y,F,E,r=this.get("config","animationObj"),S=r.duration,L=r.dummyObj,K=r.animObj,J=r.animType,T={top:1,bottom:3},Q=r=0,n=0,a=a.canvas.graphics;d.gaugeStartX=d.canvasLeft;d.gaugeEndX=d.canvasLeft+c;d.gaugeStartY=d.canvasTop;
|
|
d.gaugeEndY=d.canvasTop+k;d.gaugeCenterX=d.canvasLeft+c/2;d.gaugeCenterY=d.canvasTop+k/2;b.transform(["T",h,I]);(I=a.linear)||(a.linear=I=A.group("colorrange",b),I.trackTooltip(!0),a.outerRect=A.rect(b));a.outerRect.attr({x:0,y:0,width:c,height:k,stroke:"none",r:0});B=function(a,b){return{x:a*c/(g-m),y:0,width:(b-a)*c/(g-m),height:k}};a.colorRangeElems||(a.colorRangeElems=[]);b=0;for(h=z&&z.length;b<h;b+=1)ta=z[b],x=B(ta.minvalue-m,ta.maxvalue-m),ta.x=x.x,ta.y=x.y,ta.width=x.width,ta.height=x.height,
|
|
C=ta.code,C=t(Ha(f(ta.bordercolor,C),w),e(ta.borderalpha,u)),v&&Math.max(ta.alpha,u),y=D.parseColorMix(ta.code,qa),F=D.parseAlphaList(ta.alpha,y.length),E=e(ta.borderAlpha,u),ta=F.split(l),ta=M.apply(Math,ta),ta=M(q&&E||0,ta),E={x:x.x,y:x.y,width:x.width,height:x.height,r:0,"stroke-width":q},(x=a.colorRangeElems[b])||(x=a.colorRangeElems[b]=A.rect(I),x.attr(E)),x.attr({stroke:C,fill:N({FCcolor:{color:y.toString(),ratio:s,alpha:F,angle:270}})}),x.animateWith(L,K,E,S,J),x.shadow({apply:v,opacity:ta/
|
|
100}),x.show();for(;a.colorRangeElems[b];)a.colorRangeElems[b].shadow(!1),a.colorRangeElems[b].hide(),b++;if(p)for(d=d.trendPointConfig,a.trendObjElems||(a.trendObjElems=[]),a.trendZoneElems||(a.trendZoneElems=[]),a.marker||(a.marker=[]),b=0,h=d.length;b<h;b+=1)p=d[b],x=B(p.startValue-m,p.endValue-m),p.isTrendZone?((qa=a.trendZoneElems[r])||(qa=a.trendZoneElems[r]=A.rect({height:0<x.height?x.height:0},I)),qa.attr({fill:N({FCcolor:{color:p.color,alpha:p.alpha}})}),qa.animateWith(L,K,{x:x.x,y:x.y,width:0<
|
|
x.width?x.width:0,height:0<x.height?x.height:0,r:0,"stroke-width":0},S,J).tooltip(p.tooltext),qa.show(),r++):((qa=a.trendObjElems[Q])||(qa=a.trendObjElems[Q]=A.path(I)),qa.attr({stroke:t(p.color,p.alpha),"stroke-dasharray":p.dashStyle,"stroke-width":p.thickness}),qa.animateWith(L,K,{path:["M",x.x,x.y,"L",x.x,x.y+x.height]},S,J).tooltip(p.tooltext),qa.show(),Q++),p.useMarker&&(p.showOnTop?(s="bottom",qa=0):(s="top",qa=k),w=90*T[s],(s=a.marker[n])||(a.marker[n]=s=A.polypath(I)),s.attr({fill:p.markerColor,
|
|
stroke:p.markerBorderColor}),s.animateWith(L,K,{polypath:[3,x.x,qa,p.markerRadius,w,0],"stroke-width":1},S,J).shadow({apply:v}).tooltip(p.tooltext),s.show(),n++);if(v=a.trendObjElems)for(;v[Q];)v[Q].hide(),Q++;if(v=a.trendZoneElems)for(;v[r];)v[r].hide(),r++;if(s=a.marker)for(;s[n];)s[n].hide(),s[n].shadow(!1),n++},_configueTrendPoints:function(){var a=this.jsonData,d=this.config,b=d.style,c=a.trendpoints&&a.trendpoints.point,k,I=this.components,h=I.scale.config,r=h.axisRange,m=r.max,l=r.min,h=h.scaleFactor||
|
|
1,n=I.colorManager,p,qa,s,w=d.trendPointConfig=[],a=a.chart,u=c.length;b.trendStyle={fontFamily:b.outCanfontFamily,color:b.outCancolor,fontSize:b.outCanfontSize};for(k=0;k<u;k++)b=c[k],p=e(b.startvalue,b.value),qa=e(b.endvalue,p),s=p!==qa,p<=m&&p>=l&&qa<=m&&qa>=l&&w.push({startValue:p,endValue:qa,tooltext:E(aa(b.markertooltext)),displayValue:E(aa(b.displayvalue),s?F:I.numberFormatter.scale(p)),showOnTop:e(b.showontop,a.ticksbelowgauge,1),color:f(b.color,n.getColor("trendLightColor")),alpha:e(b.alpha,
|
|
99),thickness:e(b.thickness,1),dashStyle:Number(b.dashed)?ma(b.dashlen||2,b.dashgap||2,b.thickness||1):"",useMarker:e(b.usemarker,0),markerColor:t(f(b.markercolor,b.color,n.getColor("trendLightColor")),100),markerBorderColor:t(f(b.markerbordercolor,b.bordercolor,n.getColor("trendDarkColor")),100),markerRadius:e(e(b.markerradius)*h,5),markerToolText:fa(b.markertooltext),trendValueDistance:e(e(b.trendvaluedistance)*h,r.tickInterval),isTrendZone:s});g.stableSort&&g.stableSort(d.trendPointConfig,function(a,
|
|
b){return a.startValue-b.startValue})},_createDatasets:function(){var a=this.components,d=this.jsonData.pointers,b;b=this.defaultDatasetType;var c,a=a.dataset||(a.dataset=[]);b&&(b=FusionCharts.get("component",["dataset",b]))&&(a[0]?(b=a[0].pointerArr&&a[0].pointerArr.pointer&&a[0].pointerArr.pointer.length,c=d&&d.pointer&&d.pointer.length||0,b>c&&a[0].removeData(b-c),a[0].pointerArr=d,a[0].configure()):(b=new b,a.push(b),b.chart=this,b.init(d)))},_getData:function(a){var d=this.components.dataset;
|
|
if(d)return(d=d[0].components.data)&&d[--a]?(a=d[a].config,e(a.setValue,a.itemValue)):null},_setData:function(a,d){var b="value=",c;if(void 0!==a&&void 0!==d){for(c=1;c<Number(a);c++)b+=",";d.toString&&(b+=d.toString());b&&this.feedData(b)}},_getDataForId:function(a){var d=this.components.dataset[0].idMap;return d&&d[a]&&d[a].config.itemValue||null},_setDataForId:function(a,d){var b=this.components.dataset[0].idMap;return b&&b[a]&&this._setData(b[a].index+1,d)}},n.axisgaugebase);FusionCharts.register("component",
|
|
["dataset","hlineargauge",{pIndex:2,customConfigFn:"_createDatasets",init:function(a){this.pointerArr=a;this.idMap={};this.configure()},configure:function(){var a=this.chart,d=a.jsonData,b=d.chart,c=a.components,k=c.numberFormatter,c=c.colorManager,I=this.config||(this.config={}),h=this.components||(this.components={}),r=(d=d.pointers&&d.pointers.pointer)&&d.length||1,m,g,n,p,qa,s,w,u,q,z,v,a=a.config.style,B,C,ta,x,A,D,y,N,G,S,L,K,J,T;I.valuePadding=e(b.valuepadding,2);I.tooltipSepChar=f(b.tooltipsepchar,
|
|
l);z=e(b.ticksbelowgauge,b.ticksbelowgraph,1);I.axisPosition=z?3:1;I.pointerOnOpp=p=Number(!e(b.pointerontop,z,1));I.valueabovepointer=z=e(b.valueabovepointer,!p,1);I.valueInsideGauge=z===p?1:0;I.showPointerShadow=e(b.showpointershadow,b.showshadow,1);I.showTooltip=e(b.showtooltip,1);I.textDirection="1"===b.hasrtltext?"rtl":"";I.showGaugeLabels=e(b.showgaugelabels,1);I.colorRangeStyle={fontFamily:a.inCanfontFamily,fontSize:a.inCanfontSize,lineHeight:a.inCanLineHeight,color:a.inCancolor.replace(/^#?/,
|
|
"#")};I.showValue=e(b.showvalue,1);I.editMode=e(b.editmode,0);I.pointerSides=a=e(b.pointersides,3);I.pointerBorderThickness=T=e(b.pointerborderthickness);I.showHoverEffect=z=e(b.showhovereffect,b.plothovereffect);I.upperLimit=e(b.upperlimit);I.lowerLimit=e(b.lowerlimit);I.startAngle=90*{top:1,right:0,left:2,bottom:3}[p?"top":"bottom"];u=h.data||(h.data=[]);for(p=0;p<r;p++)g=u[p]||(h.data[p]={}),g=g.config||(g.config={}),m=d&&d[p]||{},g.itemValue=n=k.getCleanValue(m.value),g.formatedVal=s=k.dataLabels(n),
|
|
g.setDisplayValue=w=E(aa(m.displayvalue)),g.setToolText=qa=E(aa(m.tooltext)),g.id=f(m.id,"pointer_"+p),g.showHoverEffect=n=e(m.showhovereffect,z),g.showBorder=C=e(m.showborder,b.showplotborder,1),g.borderWidth=N=C?e(m.borderthickness,T):0,(g.showValue=q=e(m.showvalue,I.showValue))?void 0!==w?(g.displayValue=w,g.isLabelString=!0):g.displayValue=E(s," "):g.displayValue=F,g.sides=w=e(m.sides,a),3>w&&(g.sides=3),g.radius=w=e(m.radius,b.pointerradius,10),void 0!==qa?(g.toolText=da(qa,[1,2],{formattedValue:s},
|
|
m,b),g.isTooltextString=!0):g.toolText=null===s?!1:s,g.tempToolText=g.toolText,g.bgAlpha=q=e(m.alpha,m.bgalpha,b.pointerbgalpha,100),g.bgColor=v=f(m.color,m.bgcolor,b.pointerbgcolor,b.pointercolor,c.getColor("pointerBgColor")),g.fillColor=J=t(v,q),g.showBorder=e(m.showborder,b.showplotborder,1),g.borderAlpha=s=e(m.borderalpha,b.pointerborderalpha,100),g.borderColor=qa=f(m.bordercolor,b.pointerbordercolor,c.getColor("pointerBorderColor")),g.pointerBorderColor=B=t(qa,s),g.dataLink=E(m.link),g.editMode=
|
|
e(m.editmode,I.editMode),0!==n&&(n||m.bghovercolor||b.pointerbghovercolor||b.plotfillhovercolor||m.bghoveralpha||b.pointerbghoveralpha||b.plotfillhoveralpha||0===m.bghoveralpha||0===b.pointerbghoveralpha||m.showborderonhover||b.showborderonhover||0===m.showborderonhover||0===b.showborderonhover||m.borderhoverthickness||b.pointerborderhoverthickness||0===m.borderhoverthickness||0===b.pointerborderhoverthickness||m.borderhovercolor||b.pointerborderhovercolor||m.borderhoveralpha||b.pointerborderhoveralpha||
|
|
0===m.borderhoveralpha||0===b.pointerborderhoveralpha||m.hoverradius||b.pointerhoverradius||0===m.hoverradius||0===b.pointerhoverradius)&&(n=!0,x=f(m.bghovercolor,b.pointerbghovercolor,b.plotfillhovercolor,"{dark-10}"),ta=e(m.bghoveralpha,b.pointerbghoveralpha,b.plotfillhoveralpha),G=e(m.showborderonhover,b.showborderonhover),void 0===G&&(G=m.borderhoverthickness||0===m.borderhoverthickness||m.borderhovercolor||m.borderhoveralpha||0===m.borderhoveralpha?1:C),A=f(m.borderhovercolor,b.pointerborderhovercolor,
|
|
"{dark-10}"),C=e(m.borderhoveralpha,b.pointerborderhoveralpha),D=G?e(m.borderhoverthickness,b.pointerborderhoverthickness,N||1):0,y=e(m.hoverradius,b.pointerhoverradius,w+2),m=!!e(m.showhoveranimation,b.showhoveranimation,1),g.hoverAttr=G={},g.outAttr=S={},N!==D&&(G["stroke-width"]=D,S["stroke-width"]=N),S.fill=J,x=(N=/\{/.test(x))?c.parseColorMix(v,x)[0]:x,G.fill=t(x,e(ta,q)),D&&(S.stroke=B,N=/\{/.test(A),G.stroke=t(N?c.parseColorMix(qa,A)[0]:A,e(C,s))),y&&(m?(L={r:y},K={r:w}):(G.r=y,S.r=w))),g.rolloverProperties=
|
|
{enabled:n,hoverAttr:G,hoverAnimAttr:L,outAttr:S,outAnimAttr:K}},_manageSpace:function(a){var d=this.chart,b=this.components,c=d.config,k=this.config,f=d.linkedItems.smartLabel,h=c.canvasWidth,r,m=c.dataLabelStyle,g=c.style.trendStyle,l=d.jsonData,p=l.trendpoints&&l.trendpoints.point,n=e(parseInt(m.lineHeight,10),12),l=k.valuePadding,s=k.valueInsideGauge,w,u=w=0,t=0,z=0,v=0,B=0,C=0,q=d.components.scale.config.axisData.spaceTaken,x=0,A=this.pointerArr&&this.pointerArr.pointer&&this.pointerArr.pointer.length,
|
|
D=k.pointerOnOpp,b=b.data;p&&d._configueTrendPoints();f.useEllipsesOnOverflow(c.useEllipsesWhenOverflow);for(f.setStyle(m);x<A;x+=1)d=b[x].config,w=l+d.radius*(3>=d.sides?.5:d.sides%2?1.1-1/d.sides:1),z=Math.max(z,w),d.showValue&&d.displayValue!==F&&(d.isLabelString?(r=f.getSmartText(d.displayValue,h,a-z),d.displayValue=r.text,r.tooltext&&(d.originalText=r.tooltext)):r=f.getOriSize(d.displayValue)," "===d.displayValue&&(r={height:n})),w=r&&0<r.height&&!s?r.height+w:w,w>a&&(w=a),D?(3===k.axisPosition&&
|
|
(B=Math.max(q.bottom,B),w=Math.max(q.bottom,w)),u=Math.max(u,w)):(1===k.axisPosition&&(C=Math.max(q.top,C),w=Math.max(q.top,w)),t=Math.max(w,t)),k.align=Aa;k.currentValuePadding=z;f.setStyle(g);if(p){c=c.trendPointConfig;x=0;for(A=c.length;x<A;x+=1)(h=c[x])&&h.displayValue!==F&&(g=l+.5*h.markerRadius,v=Math.max(g,v),r=f.getOriSize(h.displayValue),0<r.height&&(w=r.height+g),w>a&&(w=a),h.showOnTop?(1===k.axisPosition&&(C=Math.max(q.top,C),w=Math.max(q.top,w)),t=Math.max(t,w)):(3===k.axisPosition&&(B=
|
|
Math.max(q.bottom,B),w=Math.max(q.bottom,w)),u=Math.max(w,u)));k.currentTrendPadding=v}return{top:t-C,bottom:u-B}},draw:function(a,d){var b=this,c=b.idMap,k=b.chart,f=k.components,h=k.config,r=k.graphics,m=r.datalabelsGroup,g=r.tempGroup,l=f.paper,p=f.scale,n=b.pointerArr&&b.pointerArr.pointer,f=h.canvasWidth,h=h.canvasHeight,s=b.config,h=s.pointerOnOpp?h:0,w=s.showPointerShadow,u=s.showTooltip,t=p.config.axisRange.min,z=p.config.axisRange.max,v=(z-t)/f,n=n&&n.length||1,B,C,q=b.components.data,x=
|
|
k.get("config","animationObj"),A=x.animObj,D=x.dummyObj,y=x.animType,x=(a||x).duration,F={pageX:0,pageY:0},E=function(a){!1!==this.editMode&&(B=k._getDataJSON(),this.dragStartX=a)},N=function(){var a=this.config,b,c=k.chartInstance;if(!1!==this.config.editMode){(b=c&&c.jsVars)&&(b._rtLastUpdatedData=k._getDataJSON());ca.raiseEvent("RealTimeUpdateComplete",{data:"&value="+a.updatedValStr,updateObject:{values:[a.updatedValStr]},prevData:B.values,source:"editMode",url:null},c);try{Fa.FC_ChartUpdated&&
|
|
Fa.FC_ChartUpdated(c.id)}catch(d){setTimeout(function(){throw d;},1)}s.showTooltip?K.tooltip(a.toolText):K.tooltip("")}},L=function(a,c,d,k,h){a=nb&&(nb&&h.sourceEvent&&h.sourceEvent.touches&&h.sourceEvent.touches[0]||h)||F;k=p.getLimit();c=k.min;k=k.max;var f=e(this.itemValue,c),m=f-(this.dragStartX-d)*v,r=0,g=[],I=[];if(!1!==this.editMode){this.drag=!0;for(m<c?m=c:m>k&&(m=k);r<this.index;r+=1)g.push(""),I.push("");g.push({value:m});I.push(m);f!==m&&b.updateData({data:g},{duration:0})&&(this.updatedValStr=
|
|
I.join("|"),this.dragStartX=d||h.pageX||a.pageX)}},K,J,G,Q,V,O,R,U,H=b.pool;g||(g=r.tempGroup=l.group("tempGroup",m).trackTooltip(!0));O=function(a){var b=this.data("eventArgs").index,b=q[b].config;!0===b.drag?b.drag=!1:ya.call(this,k,a)};R=function(a){var b=this.data("rolloverProperties");b.enabled&&(this.attr(b.hoverAttr),b.hoverAnimAttr&&this.animate(b.hoverAnimAttr,100,"easeIn"));ya.call(this,k,a,"DataPlotRollOver")};for(U=function(a){var b=this.data("rolloverProperties");b.enabled&&(this.attr(b.outAttr),
|
|
b.outAnimAttr&&this.animate(b.outAnimAttr,100,"easeIn"));ya.call(this,k,a,"DataPlotRollOut")};n--;)r=q[n].config,J=q[n].graphics||(q[n].graphics={}),Q=r.rolloverProperties||{},C=s.startAngle,c[r.id]={index:n,config:r},C+=.2,m=w?{opacity:Math.max(r.bgAlpha,r.borderAlpha)/100}:!1,G=r.dataLink,V={index:n,link:G,value:r.itemValue,displayValue:r.displayValue,toolText:r.toolText},(K=J.pointer)||(H&&H.pointer[0]?(K=J.pointer=H.pointer[0],H.pointer.splice(0,1)):K=J.pointer=l.polypath(g).click(O).hover(R,
|
|
U),K.attr({polypath:[r.sides,0,h||0,r.radius,C,0,g]}),K.show(),K.drag(L,E,N,r,r,q[n])),d||(K.attr({fill:r.fillColor,stroke:r.pointerBorderColor,ishot:!0,"stroke-width":r.borderWidth}).shadow(!!m,m&&m.opacity).data("eventArgs",V).data("rolloverProperties",Q),G||r.editMode?K.css({cursor:"pointer",_cursor:"hand"}):K.css({cursor:"",_cursor:""}),r._startAngle=C,r.editMode?(r.index=n,r.editMode=!0,K.attr({ishot:!0})):(r.editMode=!1,K.attr({ishot:!1}))),u?K.tooltip(r.toolText,null,null,!0):K.tooltip(""),
|
|
K.animateWith(D,A,{polypath:[r.sides,f*(e(r.itemValue,t)-t)/(z-t),h||0,r.radius,C,0],r:r.radius},x,y);d?b.drawPointerValues(a):b._drawWidgetLabel(a);b.removeDataArr&&b.remove()},removeData:function(a){var d=this.components.data;this.removeDataArr||(this.removeDataArr=[]);this.removeDataArr=this.removeDataArr.concat(d.splice(0,a))},remove:function(){var a=this.removeDataArr,d=a.length,b,c,e,f,h=this.pool||(this.pool={pointer:[],pointerValue:[]});for(f=0;f<d;f++)b=a[f].graphics,e=b.pointer,c=b.pointerValue,
|
|
h.pointer[f]=b.pointer,h.pointerValue[f]=b.pointerValue,c.hide(),e.hide(),e.undrag(),e.shadow(!1);delete this.removeDataArr},_drawWidgetLabel:function(a){var d=this.chart,b=d.config,c=d.components,k=c.numberFormatter,g=c.scale,h=c.paper,r=d.graphics.datalabelsGroup,m=g.config.axisRange.min,l=g.config.axisRange.max,n=this.config,g=n.textDirection,p=c.colorRange&&c.colorRange.getColorRangeArr(m,l),c=n.colorRangeStyle||{},t=n.showvalue,s,w=d.jsonData.trendpoints&&d.jsonData.trendpoints.point,u=b.trendPointConfig,
|
|
q=b.canvasWidth,z=b.canvasHeight,v=b.marginRight,B=n.pointerOnOpp;s=n.valueInsideGauge;var C=n.showGaugeLabels,A=b.dataLabelStyle,x=d.get("config","animationObj"),y=x.animObj,D=x.dummyObj,E=x.animType,N=x.duration,G,S,L,K,J,T,Q,V;Q=!1;var d=d.linkedItems.smartLabel,O,R,U=e(parseInt(A.fontHeight,10),parseInt(A.lineHeight,10),12),H=n.currentValuePadding+.5*U,x=n.currentTrendPadding+.5*U,M,n=n.currentTrendPadding;L={fontFamily:A.fontFamily,fontSize:A.fontSize,lineHeight:A.lineHeight,fontWeight:A.fontWeight,
|
|
fontStyle:A.fontStyle};var Y=this.pointerArr&&this.pointerArr.pointer,oa,A=this.components,P=A.data,W=A.dataLabels||(A.dataLabels=[]),ha=A.trendLabels||(A.trendLabels=[]);r.transform(["T",b.canvasLeft,b.canvasTop]);H=s===B?H-U/4:H+U/4;d.useEllipsesOnOverflow(b.useEllipsesWhenOverflow);d.setStyle(L);R=d.getOriSize("W...").width;L=this.getPointerLabelXY=function(a,b,c,d,e){b=c?b?z-d-H:z+H:b?H:-(H+d);M=(a-m)*q/(l-m);M+e>q+v&&(M=q-e+v);return{x:M,y:b,align:"middle"}};K=function(a,b){return{x:(a-m+(b-
|
|
a)/2)*q/(l-m),y:z/2,width:(b-a)*q/(l-m),height:z}};if(Y&&Y.length)for(b=Y.length;b--;)if(oa=P[b].config,0!==t&&oa.displayValue!==F&&(O=d.getOriSize(oa.displayValue),oa.setWidth&&(O=d.getSmartText(oa.displayValue,oa.setWidth,O.height,!0)),J=this.getPointerLabelXY(oa.itemValue,s,B,O.height/2,O.width/2),oa.isLabelString)){Q=!1;for(V=1;!Q;){T=Y[b+V];if(!T)break;T.isLabelString?Q=!0:V+=1}T&&(Q=d.getOriSize(T.displayValue),G=L(T.y,s,B,Q.height/2),V=G.x-Q.width/2-(J.x+O.width/2),G=G.x-J.x,0>V&&(S=O.width+
|
|
V,S>G&&(oa.setWidth=S=G),S>R?(J=oa.setWidth&&oa.setWidth<=S?d.getSmartText(oa.displayValue,oa.setWidth,O.height,!0):d.getSmartText(oa.displayValue,S,O.height,!0),oa.displayValue=J.text,J.tooltext&&(oa.originalText=J.tooltext)):(J=d.getSmartText(oa.displayValue,R,O.height,!0),oa.displayValue=J.text,J.tooltext&&(oa.originalText=J.tooltext),V=2*V+R-4),oa.setWidth=null,S=Q.width+V-4,T.setWidth=S>G?G:S>R?S:R));oa.setWidth&&(J=d.getSmartText(oa.displayValue,oa.setWidth,O.height,!0),oa.displayValue=J.text,
|
|
J.tooltext&&(oa.originalText=J.tooltext),oa.setWidth=null)}this.drawPointerValues(a);d.setStyle(c);if(p&&C)for(b=0,a=p.length;b<a;b+=1)t=W[b]||(A.dataLabels[b]={}),t=t.graphics||(t.graphics={}),s=p[b],B=f(s.label,s.name),J=K(s.minvalue,s.maxvalue),O=J.width-4>R&&J.height-4>U?d.getSmartText(B,J.width-4,J.height-4):d.getSmartText(B,J.width,J.height),B={"text-anchor":Ka,"vertical-align":Ka,x:J.x,y:J.y,direction:g},(s=t.value)||(s=t.value=h.text(r),s.attr(B)),s.show(),s.attr({fill:c.color,text:O.text}),
|
|
s.animateWith(D,y,B,N,E).css(c).tooltip(O.tooltext);else b=0;for(;t=W&&W[b++];)t.graphics.value.hide();if(w)for(b=0,a=u.length;b<a;b+=1){p=ha[b]||(A.trendLabels[b]={});t=p.graphics||(p.graphics={});p=u[b];p.displayValue=f(p.displayValue,k.dataLabels(p.startValue));d.setStyle(p.style);U=d.getOriSize("Wg").height;O=d.getOriSize(p.displayValue);J=L(p.startValue,0,!p.showOnTop);p.setWidth&&(O=d.getSmartText(p.displayValue,p.setWidth,O.height,!0));Q=!1;for(V=1;!Q;){T=w[b+V];if(!T)break;T.showOnTop===p.showOnTop?
|
|
Q=!0:V+=1}T&&(Q=d.getOriSize(T.displayValue),G=L(T.startValue,0,!T.showOnTop),V=G.x-Q.width/2-(J.x+O.width/2),0>V&&(G=G.x-J.x,S=O.width+V,S>G&&(p.setWidth=S=G),S>R?(O=p.setWidth&&p.setWidth<=S?d.getSmartText(p.displayValue,p.setWidth,O.height,!0):d.getSmartText(p.displayValue,O.width+V-4,O.height,!0),p.displayValue=O.text,O.tooltext&&(p.originalText=O.tooltext)):(O=d.getSmartText(p.displayValue,R,O.height,!0),p.displayValue=O.text,O.tooltext&&(p.originalText=O.tooltext),V=2*V+R-4),p.setWidth=null,
|
|
S=Q.width+V-4,T.setWidth=S>G?G:S>R?S:R));p.setWidth&&(O=d.getSmartText(p.displayValue,p.setWidth,O.height,!0),p.displayValue=O.text,O.tooltext&&(p.originalText=O.tooltext),p.setWidth=null);D=p.showOnTop?-(n+O.height/2):z+x;y=p.isTrendZone?K(p.startValue,p.endValue).x:J.x;t.value||(t.value=h.text(r));t.value.attr({x:y,y:D,text:p.displayValue,"text-anchor":sa[J.align],direction:g,title:p.originalText||""}).css(c);t.value.show()}else b=0;for(;p=ha&&ha[b++];)p.graphics.value.hide()},drawPointerValues:function(a){var d=
|
|
this.chart,b=d.graphics.datalabelsGroup,c=d.components.paper,e=this.components.data,f=this.config,h=f.pointerOnOpp,r=f.valueInsideGauge,f=f.textDirection,m,g=d.linkedItems.smartLabel,l=this.pointerArr&&this.pointerArr.pointer,p=d.config.dataLabelStyle,l=l&&l.length,n,s,w=d.get("config","animationObj"),u=w.animObj,t=w.dummyObj,z=w.animType;a=(a||w).duration;n=d.config;var d=n.marginLeft,w={fontFamily:p.fontFamily,fontSize:p.fontSize,lineHeight:p.lineHeight,fontWeight:p.fontWeight,fontStyle:p.fontStyle},
|
|
v,B,C,q=this.pool;for(g.useEllipsesOnOverflow(n.useEllipsesWhenOverflow);l--;)C=e[l].graphics,n=e[l].config,v=n.displayValue,m=n.showValue,0!==m&&v!==F?(s=g.getOriSize(v),m=s.width/2,B=this.getPointerLabelXY(n.itemValue,r,h,s.height/2,m),(s=C.pointerValue)||(q&&q.pointerValue[0]?(s=C.pointerValue=q.pointerValue[0],q.pointerValue.splice(0,1)):s=C.pointerValue=c.text(b),s.attr({x:0,y:B.y})),s.attr({"text-anchor":sa[B.align],title:n.originalText||"",text:v,fill:p.color,direction:f,"text-bound":[p.backgroundColor,
|
|
p.borderColor,p.borderThickness,p.borderPadding,p.borderRadius,p.borderDash]}).css(w),s.show(),m>d+B.x&&(B.x=m-d),s.animateWith(t,u,{x:B.x,y:B.y},a,z)):C.pointerValue&&C.pointerValue.hide()},getDataLimits:function(){for(var a=this.config,d=this.chart.jsonData,b=this.pointerArr&&this.pointerArr.pointer||d.dials&&d.dials.dial,d=(d=d.colorrange)&&d.color,c=b&&b.length,e=a.upperLimit,f=a.lowerLimit,h,r=-Infinity,m=Infinity,a=0;a<c;a++)h=b[a].value,""!==h&&(r=M(r,Number(b[a].value)),m=A(m,Number(b[a].value)));
|
|
c=d&&d.length;for(a=0;a<c;a++)b=Number(d[a].maxvalue),h=Number(d[a].minvalue),e&&b>e&&(b=e),f&&h<f&&(h=f),r=M(r,b),m=A(m,h);return{max:r,min:m}},updateData:function(a,d){if(a===this.lastUpdatedObj)return!1;var b=this.chart,c=b.components.numberFormatter,e=this.components.data,f,h,r=this.components.data,r=r&&r.length||0,m,g,l=null,p=[],n,s,w;a=a.data;s=d||b.get("config","animationObj");if(r){for(;r--;)if(m={},w={},g=e[r].config,h=a[r])n=h.value,f=h.tooltext,b=h.label,h=h.showlabel,void 0!==n&&""!==
|
|
n?(m.value=w.value=n,l=w.displayvalue=w.tooltext=c.dataLabels(w.value),w.hasNewData=!0):w.value=g.formatedVal,b&&(w.displayvalue=b,w.hasNewData=!0),"0"==h&&(w.displayvalue=F,w.hasNewData=!0),f&&(f=E(aa(f)),w.hasNewData=!0),w.hasNewData&&(p[r]=w,ka(g,{itemValue:w.value,displayValue:g.displayValue||"1"==h?w.displayvalue:F,toolText:void 0!==f?da(f,[1,2],{formattedValue:l},m):g.setToolText?g.tempToolText:l}));p.length&&(this.lastUpdatedObj=a,this.draw(s,!0));return Boolean(p.length)}}}]);FusionCharts.register("component",
|
|
["dataset","bullet",{init:function(a){var d=this.chart,b=d.components;if(!a)return!1;this.JSONData=a;this.yAxis=b.scale;this.chartGraphics=d.chartGraphics;this.components={};this.graphics={};this.visible=1===e(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);this.configure();!1!==d.hasLegend&&this._addLegend()},configure:function(){var a=this.chart,d=this.config,b=this.JSONData,c=a.jsonData.chart,k=a.components.colorManager,I,h=d.plotColor=k.getColor("plotFillColor"),r=e(b.dashed,c.plotborderdashed);
|
|
e(c.useplotgradientcolor,1);var m,l,n,p=g.getDashStyle,q=this.components.data,s=a.isBar,w=a.is3D,u=a.isStacked;d.targetCapStyle=m=f(c.targetcapstyle,"round").toLowerCase();"butt"!==m&&"round"!==m&&"square"!==m&&"inherit"!==m&&(d.targetCapStyle="round");d.upperLimit=e(c.upperlimit);d.lowerLimit=e(c.lowerlimit);d.initAnimation=!0;I=d.showplotborder=e(c.showplotborder,0);d.plotDashLen=m=e(c.plotborderdashlen,5);d.plotDashGap=l=e(c.plotborderdashgap,4);d.plotfillAngle=e(360-c.plotfillangle,s?180:90);
|
|
d.plotFillAlpha=n=f(b.alpha,c.plotfillalpha,Oa);d.plotColor=f(c.plotfillcolor,h);d.isRoundEdges=h=e(c.useroundedges,0);d.plotRadius=e(c.useRoundEdges,d.isRoundEdges?1:0);d.plotFillRatio=f(b.ratio,c.plotfillratio);d.plotgradientcolor=g.getDefinedColor(c.plotgradientcolor,k.getColor("plotGradientColor"));d.showPlotBorderOnHover=e(c.showplotborderonhover,0);d.plotBorderAlpha=f(c.plotborderalpha,n,Oa);d.plotBorderColor=f(c.plotbordercolor,w?"#ffffff":k.getColor("plotBorderColor"));d.plotBorderThickness=
|
|
I=I?e(c.plotborderthickness,0):0;d.plotBorderDashStyle=r?p(m,l,I):"none";d.showValue=e(b.showvalue,c.showvalue,1);d.valuePadding=e(c.valuepadding,2);d.showShadow=h||w?e(c.showshadow,1):e(c.showshadow,k.getColor("showShadow"));d.showHoverEffect=e(c.plothovereffect,c.showhovereffect,0);d.showTooltip=e(c.showtooltip,1);d.stack100Percent=a=e(a.stack100percent,c.stack100percent,0);d.definedGroupPadding=M(e(c.plotspacepercent),0);d.plotSpacePercent=M(e(c.plotspacepercent,20)%100,0);d.maxColWidth=e(s?c.maxbarheight:
|
|
c.maxcolwidth,50);d.showPercentValues=e(c.showpercentvalues,u&&a?1:0);d.showPercentInToolTip=e(c.showpercentintooltip,u&&a?1:0);d.plotPaddingPercent=e(c.plotpaddingpercent);d.rotateValues=e(c.rotatevalues)?270:0;d.placeValuesInside=e(c.placevaluesinside,0);d.use3DLighting=e(c.use3dlighting,1);q||(this.components.data=[]);d.plotAsDot=q=e(c.plotasdot,0);d.plotFillPercent=e(c.plotfillpercent,q?25:40);d.targetFillPercent=e(c.targetfillpercent,60);d.targetThickness=e(c.targetthickness,3);q=d.targetalpha=
|
|
e(c.targetalpha,100);d.targetColor=t(f(c.targetcolor,k.getColor("plotFillColor")),q);this._setConfigure()},_setConfigure:function(a){var d=this.chart,b=this.config,c=this.JSONData,k=a||c.data,I=k&&k.length,h=d.config.categories,h=h&&h.length,I=a&&a.data.length||A(h,I),r=d.jsonData.chart,h=d.components.colorManager,m=b.showplotborder,l=b.showPlotBorderOnHover,n=b.plotColor,p=g.parseUnsafeString,q=p(f(r.tooltipsepchar,", ")),s=e(r.seriesnameintooltip,1),w=g.parseTooltext,u,y,z,v,B,C,F=b.plotBorderThickness,
|
|
x=b.isRoundEdges,G=b.showHoverEffect,D=b.plotFillAngle,H,Db=b.plotBorderAlpha,P,S=b.plotBorderDashStyle,L,K,J,T,Q,V,O,R,U,na,ja,Y,oa=g.getDashStyle,W=this.components.data,aa=d.isBar,da=d.is3D,ba=-Infinity,X=Infinity,la=d.components.numberFormatter,Z=function(a){b.showTooltip?null===u?a=!1:void 0!==a?(v=[1,2,3,4,5,6,7,26,27],y={formattedValue:u,targetValue:J.target,targetDataValue:J.toolTipValueTarget},a=w(a,v,y,L,r,c)):(s&&(z=fa(c&&c.seriesname)),a=z?z+q:"",a+=J.label?J.label+q:""):a=!1;return a};
|
|
W||(W=this.components.data=[]);for(d=0;d<I;d++)L=a?a&&a.data[d]:k[d],J=(n=W[d])&&n.config,n||(n=W[d]={}),n.config||(J=W[d].config={}),J.showValue=e(L.showvalue,b.showValues),J.valuePadding=e(r.valuepadding,2),J.setValue=K=la.getCleanValue(L.value),J.target=n=la.getCleanValue(L.target),J.setLink=f(L.link),J.toolTipValue=P=la.dataLabels(K),J.toolTipValueTarget=la.dataLabels(n),J.setDisplayValue=T=p(L.displayvalue),J.displayValue=f(L.label,T,P),P=e(L.dashed),T=e(L.dashlen,void 0),Q=C=e(L.dashgap,C),
|
|
ba=M(ba,K,n),X=A(X,K,n),J.plotBorderDashStyle=P=1===P?oa(T,Q,F):0===P?"none":S,n=f(L.color,b.plotColor),H=f(L.alpha,b.plotFillAlpha),0>K&&!x&&(B=D,D=aa?180-D:360-D),J.colorArr=K=g.graphics.getColumnColor(n,H,void 0,D,x,b.plotBorderColor,Db.toString(),aa?1:0,da?!0:!1),0!==G&&(T=f(L.hovercolor,c.hovercolor,r.plotfillhovercolor,r.columnhovercolor,n),Q=f(L.hoveralpha,c.hoveralpha,r.plotfillhoveralpha,r.columnhoveralpha,H),V=f(L.hovergradientcolor,c.hovergradientcolor,r.plothovergradientcolor,b.plotgradientcolor),
|
|
!V&&(V=""),V=f(L.hoverratio,c.hoverratio,r.plothoverratio,void 0),O=e(360-L.hoverangle,360-c.hoverangle,360-r.plothoverangle,D),R=f(L.borderhovercolor,c.borderhovercolor,r.plotborderhovercolor,r.plotfillhovercolor,b.plotBorderColor),U=f(L.borderhoveralpha,c.borderhoveralpha,r.plotborderhoveralpha,Db,H),H=e(L.borderhoverthickness,c.borderhoverthickness,r.plotborderhoverthickness,F),na=e(L.borderhoverdashed,c.borderhoverdashed,r.plotborderhoverdashed),ja=e(L.borderhoverdashgap,c.borderhoverdashgap,
|
|
r.plotborderhoverdashgap,void 0),Y=e(L.borderhoverdashlen,c.borderhoverdashlen,r.plotborderhoverdashlen,C),na=na?oa(Y,ja,H):P,1==G&&T===n&&(T=ha(T,90)),T=g.graphics.getColumnColor(T,Q,V,O,x,R,U.toString(),aa?1:0,!1),J.setPlotRolloutAttr={fill:da?[N(K[0]),!b.use3DLighting]:N(K[0]),stroke:m&&N(K[1]),"stroke-width":F,"stroke-dasharray":P},J.setPlotRolloverAttr={fill:da?[N(T[0]),!b.use3DLighting]:N(T[0]),stroke:N(T[1]),"stroke-width":l?H||1:H,"stroke-dasharray":na}),0!==G&&(G||r.targethovercolor||r.targethoveralpha||
|
|
0===r.targethoveralpha||r.targethoverthickness||0===r.targethoverthickness)&&(G=!0,P={},K={},V=e(r.targethoverthickness,b.targetThickness+2),b.targetThickness!==V&&(P["stroke-width"]=V,K["stroke-width"]=b.targetThickness),T=f(r.targethovercolor,"{dark-10}"),Q=e(r.targethoveralpha,b.targetalpha),V&&(K.stroke=b.targetColor,V=/\{/.test(T),P.stroke=t(V?h.parseColorMix(f(r.targetcolor,n),T)[0]:T,Q)),J.tagetHoverAttr=P,J.targetOutAttr=K),u=J.toolTipValue,n=E(p(f(L.tooltext,c.plottooltext,r.plottooltext))),
|
|
J.toolText=Z(n),J.setTooltext=void 0,B&&(D=B),n=E(p(f(L.tooltexttarget,c.targettooltext,r.targettooltext))),J.toolTextTarget=Z(n);b.maxValue=ba;b.minValue=X},_manageSpace:function(a){var d=this.config,b=this.components.data,c=this.chart,k=c.components.caption.config,f=c.config,c=c.linkedItems.smartLabel,h=f.dataLabelStyle,r=e(parseInt(h.lineHeight,10),12),m=d.valuePadding,g=0,l=0,b=(b=b[l])&&b.config;c.useEllipsesOnOverflow(f.useEllipsesWhenOverflow);for(c.setStyle(h);1>l;l+=1)d.showValue&&(f=c.getOriSize(b.toolTipValue),
|
|
" "===b.toolTipValue&&(f={height:r}),0<f.height&&(g=f.height+m),g>a&&(g=a));k.widgetValueHeight=g;d.heightUsed=g;return{top:0,bottom:g}},_manageSpaceHorizontal:function(a){var d=this.config,b=this.components.data,c=this.chart,k=c.config,c=c.linkedItems.smartLabel,f=k.dataLabelStyle,h=e(parseInt(f.lineHeight,10),12),r=d.valuePadding,m=0,g=0,b=(b=b[g])&&b.config;c.useEllipsesOnOverflow(k.useEllipsesWhenOverflow);for(c.setStyle(f);1>g;g+=1)b&&b.displayValue!==F&&void 0!==b.displayValue&&d.showValue&&
|
|
(k=c.getOriSize(b.displayValue)," "===b.displayValue&&(k={height:h}),0<k.height&&(m=k.width+r+2),m>a&&(m=a));d.widthUsed=m;return{top:0,right:m}},updateData:function(a,d,b){var c=this.config,e=c.maxValue,f=c.prevMin,h=this.chart,r=this.groupManager||this,m=h.components.scale;this._setConfigure(a,d);this.setMaxMin();if(c.maxValue!==e||c.minValue!==f)this.maxminFlag=!0;b&&(h._setAxisLimits(),m.draw(),r.draw())},setMaxMin:function(){var a=this.components.data,d=this.config,b,c,e=a.length,f=-Infinity,
|
|
h=Infinity;for(b=0;b<e;b++)a[b]&&(c=a[b].config,f=M(f,c.setValue,c.target),h=A(h,c.setValue,c.target));d.maxValue=f;d.minValue=h},draw:function(){var a=this.chart,d=a.components,b=a.jsonData.chart,c=a.config,k=d.paper,I=d.canvas,h=I.graphics,r=I.config,I=h.canvasElement,m=c.canvasLeft,n=c.canvasRight,q=c.canvasTop,p=c.canvasBottom,A=c.canvasWidth,s=c.canvasHeight,w=a.graphics.datasetGroup,u,y=d.scale,z=y.getLimit().min,y=y.getLimit().max,v=a.isHorizontal,B=a.get("config","animationObj"),C=B.animType,
|
|
F=B.animObj,x=B.dummyObj,B=B.duration,E,D,G=a.components.colorManager,H,P,S,L,K,J,T,Q;E=v?270:180;r.colorRangeFillMix=D=g.getFirstDefinedValue(b.colorrangefillmix,b.gaugefillmix,a.colorRangeFillMix,"{light-10},{dark-10},{light-10},{dark-10}");r.colorRangeFillRatio=a=g.getFirstDefinedValue(b.colorrangefillratio,b.gaugefillratio,a.colorRangeFillRatio,b.gaugefillratio,"0,10,80,10");r.colorRangeGetter=d=d.colorRange;r.colorArray=d=d&&d.getColorRangeArr(z,y);H=f(b.colorrangebordercolor,b.gaugebordercolor,
|
|
"{dark-20}");P=e(b.colorrangeborderalpha,b.gaugeborderalpha,100);S=e(b.showshadow,1);L=e(b.showgaugeborder,b.showcolorrangeborder,0);r.colorRangeBorderThickness=b=L?e(b.colorrangeborderthickness,b.gaugeborderthickness,2):0;r=d&&d.length;if(I)for(h=I.colorRangeElems.length;h>r;--h)I.colorRangeElems[h-1].hide(),I.colorRangeElems[h-1].shadow({opacity:0});else h.canvasElement=I={},I.colorRangeElems=[];for(h=0;h<r;h+=1)L=d[h],K=L.minvalue-z,J=L.maxvalue-z,K=v?v?{x:m+K*A/(y-z),y:q,width:(J-K)*A/(y-z),height:s}:
|
|
void 0:{x:m,y:q+(s-J*s/(y-z)),width:A,height:(J-K)*s/(y-z)},L.x=K.x,L.y=K.y,L.width=K.width,L.height=K.height,J=L.code,J=t(Ha(f(L.bordercolor,J),H),e(L.borderalpha,P)),S&&Math.max(L.alpha,P),T=G.parseColorMix(L.code,D),Q=G.parseAlphaList(L.alpha,T.length),u=e(L.borderAlpha,P),L=Q.split(l),L=M.apply(Math,L),L=M(b&&u||0,L),u={x:K.x,y:K.y,width:K.width,height:K.height,r:0,"stroke-width":b,stroke:J,fill:N({FCcolor:{color:T.toString(),ratio:a,alpha:Q,angle:E}})},I.colorRangeElems[h]?(I.colorRangeElems[h].show(),
|
|
u={"stroke-width":b,stroke:J,fill:N({FCcolor:{color:T.toString(),ratio:a,alpha:Q,angle:E}})},I.colorRangeElems[h].animateWith(x,F,{x:K.x,y:K.y,width:K.width,height:K.height,r:0},B,C),I.colorRangeElems[h].attr(u)):I.colorRangeElems[h]=k.rect(u,w),I.colorRangeElems[h].shadow({apply:S,opacity:L/100});c.gaugeStartX=m;c.gaugeEndX=n;c.gaugeStartY=q;c.gaugeEndY=p;c.gaugeCenterX=m+.5*A;c.gaugeCenterY=q+.5*s;c.gaugeRadius=.5*A;this.drawPlot()},drawPlot:function(){var a=this,d=a.JSONData,b=a.chart.jsonData.chart,
|
|
c=a.config,e=a.chart.config.categories,I=d.data,h=e&&e.length,r=I&&I.length,m,l,e=a.visible,n=a.chart,p=n.config,t=p.canvasLeft,s=p.canvasRight,w=p.canvasTop,u=p.canvasBottom,q=p.canvasHeight,z=p.canvasWidth,v=n.components.paper,B=n.components.scale,C=n.graphics.datasetGroup,y,x,E,D=n.graphics,G=g.parseUnsafeString,H=g.getValidValue,M=g.Raphael,S=c.showTooltip,L=n.get("config","animationObj"),K=L.animType,J=L.animObj,T=L.dummyObj,L=L.duration,Q,V,O,R=a.components.data,U,P,ja,Y,oa,W,ha=B.max,aa=B.min,
|
|
ha=B.yBasePos=B.getAxisPosition(0>=ha&&0>aa?ha:0<ha&&0<=aa?aa:0),da=aa=0,X=c.showShadow,la=c.plotBorderThickness,ba=c.plotRadius,Z=a.graphics.container,ga=a.graphics.trackerContainer,ca=a.graphics.targetContainer;Y=a.graphics.trackerTargetContainer;var ka=a.graphics.dataLabelContainer,ia=a.graphics.shadowContainer,Ja=a.graphics.shadowTargetContainer;E=D.trackerGroup;var fa,ib,pa=!0,ea=!1,ma;O=D.datalabelsGroup;var D=n.config.dataLabelStyle,xa=c.heightUsed,ra=c.lowerLimit,wa={fontFamily:D.fontFamily,
|
|
fontSize:D.fontSize,lineHeight:D.lineHeight,fontWeight:D.fontWeight,fontStyle:D.fontStyle},Ca=c.showHoverEffect,Da=function(a){ya.call(this,n,a)},za=function(a){return function(b){0!==this.data("showHoverEffect")&&a.attr(this.data("setRolloverAttr"));ya.call(this,n,b,"DataPlotRollOver")}},va=function(a){return function(b){0!==this.data("showHoverEffect")&&a.attr(this.data("setRolloutAttr"));ya.call(this,n,b,"DataPlotRollOut")}},Ea=function(){!1!==a.visible||!1!==a._conatinerHidden&&void 0!==a._conatinerHidden||
|
|
(Z.hide(),ga.hide(),ia.hide(),ka&&ka.hide(),a._conatinerHidden=!0)};Z||(Z=a.graphics.container=v.group("bar",C),e||Z.hide());ka||(ka=a.graphics.dataLabelContainer=v.group("datalabel",O));ca||(ca=a.graphics.targetContainer=v.group("target",C).trackTooltip(!0),e||ca.hide());ga||(ga=a.graphics.trackerContainer=v.group("bar-hot",E),e||ga.hide());Y||(Y=a.graphics.trackerTargetContainer=v.group("target-hot",E),e||Y.hide());ia||(ia=a.graphics.shadowContainer=v.group("shadow",C).toBack(),e||ia.hide());Ja||
|
|
(Ja=a.graphics.shadowTargetContainer=v.group("shadow",C).toBack(),e||Ja.hide());A(h,r);for(h=0;1>h;h++)if(m=I[h],Y=(r=R[h])&&r.config,U=Y.setValue,0>U&&(ea=!0),P=Y.setLink,fa=Y.colorArr,Ja=ma=!1,r.graphics||(R[h].graphics={}),C=Y.displayValue,H(G(f(m.tooltext,d.plottooltext,b.plottooltext))),n.isHorizontal){V=c.plotFillPercent/100*q;x=Ga(w+u)/2-V/2;c.plotAsDot?(y=B.getAxisPosition(U)-V/2,E=V):(E=ra&&ra<=U&&0<=B.config.axisRange.min?ra:0,y=ea?B.getAxisPosition(U):B.getAxisPosition(E),E=ea?B.getAxisPosition(0)-
|
|
B.getAxisPosition(U):B.getAxisPosition(U)-B.getAxisPosition(E));E=M.crispBound(y,x,E,V,la);y=E.x;x=E.y;Q=E.width;V=E.height;O=""===Y.toolText?Y.toolTipValue:Y.toolText;ib=Y.plotBorderDashStyle;ja={link:P,value:U,displayValue:C,toolText:O};oa=Y.setPlotRolloutAttr;W=Y.setPlotRolloverAttr;L||(da=Q);l={x:y,y:x,width:da||1,height:V,r:ba,ishot:!0,fill:N(fa[0]),stroke:N(fa[1]),"stroke-width":la,"stroke-dasharray":ib,"stroke-linejoin":"miter",visibility:e};if(null!==U){r.graphics.element?(r.graphics.element.show(),
|
|
l={x:y,y:x,width:Q,height:V||1,r:ba},U=r.graphics.element,U.animateWith(T,J,l,L,K,pa&&Ea),U.attr({ishot:!0,fill:N(fa[0]),stroke:N(fa[1]),"stroke-width":la,"stroke-dasharray":ib,"stroke-linejoin":"miter",visibility:e})):(U=r.graphics.element=v.rect(l,Z),ma=!0,U.animateWith(T,J,{width:Q||1},L,K),L&&(pa=!1));U.shadow({opacity:X},ia).data("BBox",E);if(P||S)V<Va&&(x-=(Va-V)/2,V=Va),l={x:y,y:x,width:Q,height:V,r:ba,cursor:P?"pointer":"",stroke:ua,"stroke-width":la,fill:ua,ishot:!0,visibility:e},r.graphics.hotElement?
|
|
(r.graphics.hotElement.show(),r.graphics.hotElement.attr(l)):(y=r.graphics.hotElement=v.rect(l,ga),ma=!0);y=r.graphics.hotElement;(y||U).data("eventArgs",ja).data("groupId",void 0).data("showHoverEffect",Ca).data("setRolloverAttr",W).data("setRolloutAttr",oa).tooltip(O);ma&&(y||U).click(Da).hover(za(U),va(U))}else r.graphics.element&&r.graphics.element.hide(),r.graphics.hotElement&&r.graphics.hotElement.hide();Y.target?(H(G(f(m.tooltext,d.targettooltext,b.targettooltext))),O=""===Y.toolTextTarget?
|
|
Y.toolTipValueTarget:Y.toolTextTarget,x=c.targetFillPercent/100*q,m=ma=B.getAxisPosition(Y.target),y=(w+u)/2-x/2,x=y+x,m=["M",m,y,"L",ma,x],l={stroke:c.targetColor,"stroke-width":c.targetThickness,"stroke-linecap":c.targetCapStyle,ishot:!0,"shape-rendering":Ra[!1]},(U=r.graphics.targetElement)?(r.graphics.targetElement.show(),l={path:m,stroke:c.targetColor,"stroke-width":c.targetThickness,"stroke-linecap":c.targetCapStyle,ishot:!0,"shape-rendering":Ra[!1]},U.animateWith(T,J,l,L,K)):(U=r.graphics.targetElement=
|
|
v.path(m,ca).attr(l),Ja=!0),Ja&&U.click(Da).hover(za(U),va(U)),U.shadow({opacity:X},ia).data("BBox",E).data("eventArgs",ja).data("groupId",void 0).data("showHoverEffect",Ca).data("setRolloverAttr",Y.tagetHoverAttr).data("setRolloutAttr",Y.targetOutAttr),S?U.tooltip(O):U.tooltip(!1)):r.graphics.targetElement&&r.graphics.targetElement.hide();Ja=parseInt(D.lineHeight,10);x=.5*(w+q);C!==F&&void 0!==C&&c.showValue?(l={text:C,"text-anchor":"start",x:s+c.valuePadding+2,y:x,"vertical-align":"top",fill:D.color,
|
|
direction:Y.textDirection,"text-bound":[D.backgroundColor,D.borderColor,D.borderThickness,D.borderPadding,D.borderRadius,D.borderDash]},r.graphics.label?(r.graphics.label.show(),r.graphics.label.animateWith(T,J,{x:s+c.valuePadding+2,y:x},L,K)):r.graphics.label=v.text(l,ka),r.graphics.label.attr(l).css(wa),C=r.graphics.label.getBBox(),0>C.x+p.marginLeft&&(C=C.width-p.marginLeft,p.width<C&&(C=p.width-p.marginLeft),l={x:C/2},r.graphics.label.animateWith(T,J,l,L,K))):r.graphics.label&&r.graphics.label.hide()&&
|
|
r.graphics.label.attr({"text-bound":[]})}else{E=c.plotFillPercent/100*z;y=Ga(t+s)/2-E/2;c.plotAsDot?(x=B.getAxisPosition(U)-E/2,V=E):(x=ea?B.getAxisPosition(0):B.getAxisPosition(U),V=ea?B.getAxisPosition(U)-B.getAxisPosition(0):B.getAxisPosition(ra&&ra<=U&&0<=B.config.axisRange.min?ra:0)-x);E=M.crispBound(y,x,E,V,la);y=E.x;x=E.y;Q=E.width;V=E.height;O=""===Y.toolText?Y.toolTipValue:Y.toolText;ib=Y.plotBorderDashStyle;ja={link:P,value:U,displayValue:C,toolText:O};oa=Y.setPlotRolloutAttr;W=Y.setPlotRolloverAttr;
|
|
L||(ha=x,aa=V);l={x:y,y:ha,width:Q,height:aa||1,r:ba,ishot:!0,fill:N(fa[0]),stroke:N(fa[1]),"stroke-width":la,"stroke-dasharray":ib,"stroke-linejoin":"miter",visibility:e};r._xPos=y;r._yPos=x+V;r._height=V;r._width=Q;if(null!==U){r.graphics.element?(r.graphics.element.show(),l={x:y,y:x,width:Q,height:V||1,r:ba},U=r.graphics.element,U.animateWith(T,J,l,L,K,pa&&Ea),U.attr({ishot:!0,fill:N(fa[0]),stroke:N(fa[1]),"stroke-width":la,"stroke-dasharray":ib,"stroke-linejoin":"miter",visibility:e})):(U=r.graphics.element=
|
|
v.rect(l,Z),ma=!0,U.animateWith(T,J,{y:x,height:V||1},L,K),L&&(pa=!1));U.shadow({opacity:X},ia).data("BBox",E);if(P||S)V<Va&&(x-=(Va-V)/2,V=Va),l={x:y,y:x,width:Q,height:V,r:ba,cursor:P?"pointer":"",stroke:ua,"stroke-width":la,fill:ua,ishot:!0,visibility:e},r.graphics.hotElement?(r.graphics.hotElement.show(),r.graphics.hotElement.attr(l)):(y=r.graphics.hotElement=v.rect(l,ga),ma=!0);y=r.graphics.hotElement;(y||U).data("eventArgs",ja).data("groupId",void 0).data("showHoverEffect",Ca).data("setRolloverAttr",
|
|
W).data("setRolloutAttr",oa).tooltip(O);ma&&(y||U).click(Da).hover(za(U),va(U))}else r.graphics.element&&r.graphics.element.hide(),r.graphics.hotElement&&r.graphics.hotElement.hide();Y.target?(H(G(f(m.tooltext,d.targettooltext,b.targettooltext))),O=""===Y.toolTextTarget?Y.toolTipValueTarget:Y.toolTextTarget,x=c.targetFillPercent/100*z,m=(t+s)/2-x/2,ma=m+x,y=x=B.getAxisPosition(Y.target),m=["M",m,y,"L",ma,x],l={stroke:c.targetColor,"stroke-width":c.targetThickness,"stroke-linecap":c.targetCapStyle,
|
|
ishot:!0,"shape-rendering":Ra[!1]},(U=r.graphics.targetElement)?(r.graphics.targetElement.show(),l={path:m,stroke:c.targetColor,"stroke-width":c.targetThickness,"stroke-linecap":c.targetCapStyle,ishot:!0,"shape-rendering":Ra[!1]},U.animateWith(T,J,l,L,K)):(U=r.graphics.targetElement=v.path(m,ca).attr(l),Ja=!0),Ja&&U.click(Da).hover(za(U),va(U)),U.shadow({opacity:X},ia).data("BBox",E).data("eventArgs",ja).data("groupId",void 0).data("showHoverEffect",Ca).data("setRolloverAttr",Y.tagetHoverAttr).data("setRolloutAttr",
|
|
Y.targetOutAttr),S?U.tooltip(O):U.tooltip(!1)):r.graphics.targetElement&&r.graphics.targetElement.hide();Ja=parseInt(D.lineHeight,10);x=Ja>xa?p.height-p.marginBottom-xa+Ja/2:p.height-p.marginBottom-Ja/2;x-=p.borderWidth;C!==F&&void 0!==C&&c.showValue?(l={text:C,"text-anchor":"middle",x:z/2+t,y:x,"vertical-align":"middle",fill:D.color,direction:Y.textDirection,"text-bound":[D.backgroundColor,D.borderColor,D.borderThickness,D.borderPadding,D.borderRadius,D.borderDash]},r.graphics.label?(r.graphics.label.show(),
|
|
r.graphics.label.animateWith(T,J,{x:z/2+t,y:x},L,K)):r.graphics.label=v.text(l,ka),r.graphics.label.attr(l).css(wa),C=r.graphics.label.getBBox(),0>C.x+p.marginLeft&&(C=C.width-p.marginLeft,p.width<C&&(C=p.width-p.marginLeft),l={x:C/2},r.graphics.label.animateWith(T,J,l,L,K))):r.graphics.label&&r.graphics.label.hide()&&r.graphics.label.attr({"text-bound":[]})}},addData:function(){},removeData:function(){},getDataLimits:function(){for(var a=this.config,d=this.pointerArr&&this.pointerArr.pointer,b=this.chart.jsonData.colorrange,
|
|
b=b&&b.color,d=d&&d.length,c=a.upperLimit,e=a.lowerLimit,f,h,r=a.maxValue,m=a.minValue,d=b&&b.length,a=0;a<d;a++)f=Number(b[a].maxvalue),h=Number(b[a].minvalue),c&&f>c&&(f=c),e&&h<e&&(h=e),r=M(r,f),m=A(m,h);return{max:r,min:m}}},"hlineargauge"]);FusionCharts.register("component",["dataset","led",{init:function(a){var d=this.chart,b=d.components;if(!a)return!1;this.JSONData=a;this.yAxis=b.scale;this.chartGraphics=d.chartGraphics;this.components={};this.graphics={};this.visible=1===e(this.JSONData.visible,
|
|
!Number(this.JSONData.initiallyhidden),1);this.configure()},draw:function(){var a=this.chart,d=this.config,b=a.components,c=a.jsonData.chart,k=a.config,I=a.graphics,h=b.paper,r=b.canvas,m=r.graphics,n=r.config,q=a.get("config","animationObj"),r=q.animType,p=q.animObj,y=q.dummyObj,q=q.duration,s=m.canvasBorderElement,w=m.canvasElement,u=m.canvasElementPath,A=m.canvasHotElement,z=k.canvasLeft,v=k.canvasRight,B=k.canvasTop,C=k.canvasBottom,F=k.canvasWidth,x=k.canvasHeight,I=I.datasetGroup,E=b.scale,
|
|
D=E.getLimit().min,G=E.getLimit().max,H=e(a.jsonData.chart.reverseaxis,a.isAxisReverse),W=a.isHorizontal,S=function(a,b){if(H&&!W)return{x:z,y:B+a*x/(G-D),width:F,height:(b-a)*x/(G-D)};if(H||W){if(H&&W)return{x:z+(F-b*F/(G-D)),y:B,width:(b-a)*F/(G-D),height:x};if(!H&&W)return{x:z+a*F/(G-D),y:B,width:(b-a)*F/(G-D),height:x}}else return{x:z,y:B+(x-b*x/(G-D)),width:F,height:(b-a)*x/(G-D)}},L,K,J,T=a.components.colorManager,Q,V,O,R,U,na,ja,Y,oa,aa,da,ba,Z,X,la,ga,ca,fa,ia,ka,ma,Ja,ea;R=a.components.numberFormatter;
|
|
var pa,ra,xa,wa=d.showHoverEffect,sa=function(b){ya.call(this,a,b)},Fa=function(a){var b=0,c,d,e;return function(){e=this;if(0!==e.data("showHoverEffect"))for(b=0,c=a.length;b<c;b+=1)d=a[b],d.attr(e.data("setRolloverAttr")[b])}},Ga=function(a){var b=0,c,d,e;return function(){e=this;if(0!==e.data("showHoverEffect"))for(b=0,c=a.length;b<c;b+=1)d=a[b],d.attr(e.data("setRolloutAttr")[b])}},Ca=[],Da=[],za=this.graphics.trackerContainer,E=a.graphics.trackerGroup,va=0,Ea,Pa,Ba=!1;za||(za=this.graphics.trackerContainer=
|
|
h.group("led-hot",E));V=e(c.showgaugeborder,1);E=f(c.gaugebordercolor,a.gaugeBorderColor,"333333");V=V?e(c.gaugeborderthickness,a.gaugeBorderThickness,2):0;Q=f(c.gaugeborderalpha,Oa);n.gaugeFillColor=ga=f(c.gaugefillcolor,c.ledbgcolor,"000000");ba=e(c.usesamefillcolor,0);Z=e(c.usesamefillbgcolor,ba);d.ledGap=X=e(c.ledgap,2);d.ledSize=la=e(c.ledsize,2);e(c.showhovereffect,0);n.colorRangeFillMix=L=g.getFirstDefinedValue(c.colorrangefillmix,c.gaugefillmix,a.colorRangeFillMix,"{light-10},{dark-10},{light-10},{dark-10}");
|
|
n.colorRangeFillRatio=K=g.getFirstDefinedValue(c.colorrangefillratio,c.gaugefillratio,a.colorRangeFillRatio,c.gaugefillratio,"0,10,80,10");n.colorRangeGetter=Q=b.colorRange;n.colorArray=J=Q&&Q.getColorRangeArr(D,G);E=f(E,"000000").replace(Qa,ab);Q=e(c.colorrangeborderalpha,c.gaugeborderalpha,100);b=e(c.showshadow,1);V=e(c.showgaugeborder,1);n.colorRangeBorderThickness=V=V?e(c.colorrangeborderthickness,c.gaugeborderthickness,2):0;n=X+la||1;ca=(W?F:x)-la;O=G-D;fa=V/2;ia=z-fa;ka=B-fa;ma=z+F+fa;fa=B+
|
|
x+fa;Ja=parseInt(ca/n,10)+1;d.sizeGapSum=n=la+ca%n/Ja+X;d.perLEDValueLength=ca=O/Ja;d=z;la=B;c=f(c.clickurl);w||(m.canvasElement=w={},w.colorRangeElems=[]);ra=R.getCleanValue(a.jsonData.value);if(ba||Z)for(R=0,U=J.length;R<U;R+=1)if(ra>=J[R].minvalue&&ra<=J[R].maxvalue){ea=J[R].code||T.getPlotColor(R);xa=R;break}J&&0<J.length&&(pa=J[0].code||T.getPlotColor(0));Ea=H?v:z;Pa=H?B:C;R=0;for(U=J&&J.length;R<U;R+=1)O=J[R],na=S(O.minvalue-D,O.maxvalue-D),ja=Ia((O.maxvalue-D)/ca),Y=ja-va,va=ja,ja=Y*n,W||H?
|
|
!W&&H?(na.height=ja-X,na.y=Pa,Pa+=ja):W&&!H?(na.width=ja-X,na.x=Ea,Ea+=ja):W&&H&&(na.width=ja-X,na.x=Ea-na.width,Ea-=ja):(na.height=ja-X,na.y=Pa-na.height,Pa-=ja),O.x=na.x,O.y=na.y,O.width=na.width,O.height=na.height,ja=ba?ea:Z&&R>xa?pa:pa=O.code||T.getPlotColor(R),Y=t(Ha(f(O.bordercolor,ja),E),e(O.borderalpha,Q)),b&&Math.max(O.alpha,Q),oa=T.parseColorMix(O.code,L),aa=T.parseAlphaList(O.alpha,oa.length),oa=e(O.borderAlpha,Q),da=aa.split(l),da=M.apply(Math,da),da=M(V&&oa||0,da),oa={x:na.x,y:na.y,width:0>
|
|
na.width?0:na.width,height:0>na.height?0:na.height,r:0,"stroke-width":0,stroke:Y,fill:N({FCcolor:{color:ja,ratio:K,alpha:aa,angle:180}})},w.colorRangeElems[R]?(w.colorRangeElems[R].show(),w.colorRangeElems[R].animateWith(y,p,{x:na.x,y:na.y,width:0>na.width?0:na.width,height:0>na.height?0:na.height,r:0},q,r),w.colorRangeElems[R].attr({"stroke-width":0,stroke:Y,fill:N({FCcolor:{color:ja,ratio:K,alpha:aa,angle:180}})})):w.colorRangeElems[R]=h.rect(oa,I).toBack(),w.colorRangeElems[R].shadow({apply:b,
|
|
opacity:da/100}),Ca.push({"stroke-width":0,fill:N({FCcolor:{color:ha(f(ja,"000000"),80)+","+P(f(ja,"000000"),80),alpha:e(O.alpha,100),angle:W?90:0}})}),Da.push({"stroke-width":0,fill:N({FCcolor:{color:f(ja,"000000"),alpha:e(O.alpha,100)}})});if(J&&0===J.length)for(R=0,U=w.colorRangeElems.length;R<U;R++)w.colorRangeElems[R].hide();ea={link:c,value:ra};oa={x:z,y:B,width:F,height:x,"stroke-width":0,fill:ua};A?A.attr(oa):(A=m.canvasHotElement=h.rect(oa,za),Ba=!0);A.data("eventArgs",ea).data("showHoverEffect",
|
|
wa).data("setRolloverAttr",Ca).data("setRolloutAttr",Da);Ba&&(c&&A.click(sa),A.hover(Fa(w.colorRangeElems),Ga(w.colorRangeElems)));W?d+=n-X/2:la+=n-X/2;ea=[];oa={path:["M",ia,ka,"L",ma,ka,ma,fa,ia,fa,"Z"],stroke:t(E,Q),"stroke-width":V,"stroke-linecap":"butt"};s?(s.animateWith(y,p,{path:["M",ia,ka,"L",ma,ka,ma,fa,ia,fa,"Z"]},q,r),s.attr({stroke:t(E,Q),"stroke-width":V})):m.canvasBorderElement=h.path(oa,I).shadow({apply:b}).toBack();for(R=1;R<Ja;R+=1)W?(ea.push("M",d,la,"L",d,la+x),d+=n):(ea.push("M",
|
|
d,la,"L",d+F,la),la+=n);oa={path:ea,stroke:t(ga,100),"stroke-width":X,"stroke-linecap":"butt"};u?(u.animateWith(y,p,{path:ea},q,r),u.attr({stroke:t(ga,100),"stroke-width":X})):m.canvasElementPath=h.path(oa,I);k.gaugeStartX=z;k.gaugeEndX=v;k.gaugeStartY=B;k.gaugeEndY=C;k.gaugeCenterX=z+.5*F;k.gaugeCenterY=B+.5*x;k.gaugeRadius=.5*F;this.drawShade()},drawShade:function(){var a=this.config,d=this.components.data,b=this.chart,c=b.config,k=c.canvasLeft,f=c.canvasTop,h=c.canvasHeight,r=c.canvasWidth,m=b.components.paper,
|
|
g=b.graphics.datasetGroup,l=this.graphics.container,p,n=b.components.numberFormatter,s=e(this.chart.jsonData.chart.reverseaxis,b.isaxisreverse),w=b.isHorizontal,u=b.get("config","animationObj"),q=u.animType,z=u.animObj,v=u.dummyObj,u=u.duration,d=d[0],B=d.graphics,C=d&&d.config,y=this.graphics.dataLabelContainer,x=b.graphics.datalabelsGroup,A=b.config.dataLabelStyle,B=a.heightUsed,D=a.initAnimation,E;E=b.components.scale.getLimit().min;var G={fontFamily:A.fontFamily,fontSize:A.fontSize,lineHeight:A.lineHeight,
|
|
fontWeight:A.fontWeight,fontStyle:A.fontStyle};p=b.components.canvas.config.gaugeFillColor;l||(l=this.graphics.container=m.group("shade",g));y||(y=this.graphics.dataLabelContainer=m.group("datalabel",x));n=n.getCleanValue(C.setValue);d.graphics||(d.graphics={});g=d.graphics.element;n=Ia((n-E)/a.perLEDValueLength)*a.sizeGapSum-a.ledGap;E=Math.ceil(h-n);x=Math.ceil(r-n);s&&!w?(s={x:k,y:u&&D?f:f+n,width:r,height:u&&D?h:E,r:0,"stroke-width":0,fill:t(p,50)},g?(g.animateWith(v,z,{x:k,y:f+n,width:r,height:E,
|
|
r:0},u,q),g.attr({"stroke-width":0,fill:t(p,50)})):(g=d.graphics.element=m.rect(s,l),g.animateWith(v,z,{y:f+n,height:E},u,q))):s||w?!s&&w?(s={x:u&&D?k:k+n,y:f,width:u&&D?r:x,height:h,r:0,"stroke-width":0,fill:t(p,50)},g?(g.animateWith(v,z,{x:k+n,y:f,width:x,height:h,r:0},u,q),g.attr({"stroke-width":0,fill:t(p,50)})):(g=d.graphics.element=m.rect(s,l),g.animateWith(v,z,{x:k+n,width:x},u,q))):s&&w&&(s={x:k,y:f,width:u&&D?r:x,height:h,r:0,"stroke-width":0,fill:t(p,50)},g?(g.animateWith(v,z,{x:k,y:f,width:x,
|
|
height:h,r:0},u,q),g.attr({"stroke-width":0,fill:t(p,50)})):(g=d.graphics.element=m.rect(s,l),g.animateWith(v,z,{width:x},u,q))):(s={x:k,y:f,width:r,height:u&&D?h:E,r:0,"stroke-width":0,fill:t(p,50)},g?(g.animateWith(v,z,{x:k,y:f,width:r,height:E,r:0},u,q),g.attr({"stroke-width":0,fill:t(p,50)})):(g=d.graphics.element=m.rect(s,l),g.animateWith(v,z,{height:E},u,q)));f=""===C.setTooltext||void 0===C.setTooltext?C.toolTipValue:C.setTooltext;a.showTooltip?b.components.canvas.graphics.canvasHotElement.tooltip(f):
|
|
b.components.canvas.graphics.canvasHotElement.tooltip(!1);b=parseInt(A.lineHeight,10);b=b>B?c.height-c.marginBottom-B+b/2:c.height-c.marginBottom-b/2;b-=c.borderWidth;B=d.graphics;C.displayValue!==F&&void 0!==C.displayValue&&a.showValue?(s={text:C.displayValue,"text-anchor":"middle",x:r/2+k,y:b,"vertical-align":"middle",fill:A.color,direction:C.textDirection,"text-bound":[A.backgroundColor,A.borderColor,A.borderThickness,A.borderPadding,A.borderRadius,A.borderDash]},B.label?(B.label.animateWith(v,
|
|
z,{x:r/2+k,y:b},u,q),B.label.attr({text:C.displayValue,"text-anchor":"middle","vertical-align":"middle",fill:A.color,direction:C.textDirection,"text-bound":[A.backgroundColor,A.borderColor,A.borderThickness,A.borderPadding,A.borderRadius,A.borderDash]})):B.label=m.text(s,y),B.label.attr(s).css(G),a=B.label.getBBox(),0>a.x+c.marginLeft&&(a=a.width-c.marginLeft,c.width<a&&(a=c.width-c.marginLeft),s={x:a/2},B.label.animateWith(v,z,s,u,q))):B.label&&(B.label=B.label.remove())}},"bullet"]);n("hbullet",
|
|
{friendlyName:"Horizontal Bullet Gauge",creditLabel:ra,defaultSeriesType:"hbullet",gaugeType:1,standaloneInit:!0,defaultCaptionPadding:5,rendererId:"hbullet",isHorizontal:!0,isAxisOpposite:!0,rtManageSpace:!0,_RTmanageSpace:function(){var a=this.config,d=this.components,b=d.scale,d=d.dataset[0]._manageSpaceHorizontal(.7*a.oriCanvasWidth);this._allocateSpace({right:d.right-a.labelSpace.right});b.setAxisDimention({axisLength:a.canvasWidth});a.labelSpace=d},_spaceManager:function(){var a,d=this.config,
|
|
b=this.components,c=b.dataset[0],k=b.scale,f=this.jsonData.chart,h=e(f.showborder,this.is3D?0:1),g,m=d.minChartWidth,l=d.minChartHeight,f=d.borderWidth=h?e(f.borderthickness,1):0;d.canvasWidth-2*f<m&&(g=(d.canvasWidth-m)/2);d.canvasHeight-2*f<l&&(a=(d.canvasHeight-l)/2);this._allocateSpace({top:a||f,bottom:a||f,left:g||f,right:g||f});a=.7*d.canvasWidth;this._allocateSpace(k.placeAxis(a));d.oriCanvasWidth=d.canvasWidth;d.labelSpace=c._manageSpaceHorizontal(a);c._manageSpace&&this._allocateSpace(d.labelSpace);
|
|
this._manageChartMenuBar(.225*d.canvasHeight);d.oriCanvasWidth-=M(b.subCaption.config.width||0,b.caption.config.width||0)},_manageCaptionSpacing:function(){var a=this.config,d=this.components,b=d.caption,c=d.subCaption,d=b.config,k=c.config,b=b.components,c=c.components,g=this.jsonData.chart,h=this.linkedItems.smartLabel,r=aa(g.caption),m=aa(g.subcaption),g=e(g.captionpadding,2),l=a.height,n=0,p=0,q=0,s=.7*a.width,w={},u,t;3<.7*l&&(d.captionPadding=k.captionPadding=g,r!==F&&(t=d.style,n=d.captionLineHeight=
|
|
hb(parseFloat(f(t.fontHeight,t.lineHeight),10),12)),m!==F&&(u=k.style,p=hb(parseInt(f(u.lineHeight,u.fontHeight),10),12)),0<n||0<p)&&(h.useEllipsesOnOverflow(a.useEllipsesWhenOverflow),h.setStyle(t),a=h.getSmartText(r,s,l),0<a.width&&(a.width+=2,q=a.height),h.setStyle(u),u=h.getSmartText(m,s,l-q),0<u.width&&(u.width+=2),d.captionSubCaptionGap=a.height+0+.2*p,Math.max(a.width,u.width),b.text=a.text,d.height=a.height,d.width=a.width,d.tooltext&&(b.originalText=a.tooltext),c.text=u.text,k.height=u.height,
|
|
k.width=u.width,k.tooltext&&(b.originalText=u.tooltext),u=Math.max(a.width,u.width),0<u&&(u+=g),d.maxCaptionWidth=k.maxCaptionWidth=u,d.isOnLeft?w.left=u:w.right=u);d.align=d.isOnLeft?k.align=W:k.align=ub;return w},_manageCaptionPosition:function(){var a=this.config,d=this.components,b=d.caption.config,d=d.subCaption.config,c=b.captionPosition,e=M(b.width,d.width),f=a.borderWidth||0,h=b.captionSubCaptionGap;switch(c){case Ka:b.y=.5*(a.canvasTop+a.canvasHeight);break;case Ta:b.y=a.canvasBottom-(b.height+
|
|
d.height);break;default:b.y=a.canvasTop}d.y=b.y+h;b.x=b.isOnLeft?d.x=a.marginLeft+e+f:d.x=a.width-a.marginRight-e-f},_fetchCaptionPos:function(){return"end"===this.components.caption.config.align?0:-1}},n.vbullet);n("thermometer",{showRTvalue:!1,canvasPadding:!1,friendlyName:"Horizontal Linear Gauge",creditLabel:ra,defaultDatasetType:"thermometer",defaultPaletteOptions:Z(ka({},g.defaultGaugePaletteOptions),{gaugeBorderColor:["545454","60634E","415D6F","845001","68001B"],gaugeFillColor:["999999","ADB68F",
|
|
"A2C4C8","FDB548","FF7CA0"],periodColor:["EEEEEE","ECEEE6","E6ECF0","FFF4E6","FFF2F5"]}),standaloneInit:!0,isHorizontal:!1,isAxisOpposite:!0,hasLegend:!1,hasCanvas:!1,drawPlotlines:!1,drawPlotBands:!1,isAxisReverse:!1,isRealTime:!0,applicableDSList:{thermometer:!0},_getData:function(){var a=this.components.dataset;if(a&&a[0])return a[0].config.value},_parseSpecialConfig:function(){var a=this.config,d=this.jsonData.chart,b=this.components,c=b.numberFormatter,b=b.colorManager;a.use3DLighting=e(d.use3dlighting,
|
|
1);a.thmOriginX=e(d.thmoriginx,d.gaugeoriginx);a.thmOriginY=e(d.thmoriginy,d.gaugeoriginy);a.thmBulbRadius=e(c.getCleanValue(d.thmbulbradius,!0));a.thmHeight=e(c.getCleanValue(e(d.thmheight,d.gaugeheight),!0));a.origW=e(d.origw);a.origH=e(d.origh);a.xDefined=ea(a.thmOriginX);a.yDefined=ea(a.thmOriginY);a.rDefined=ea(a.thmBulbRadius);a.hDefined=ea(a.thmHeight);a.gaugeFillColor=f(d.gaugefillcolor,d.thmfillcolor,b.getColor("gaugeFillColor"));a.gaugeFillAlpha=e(d.gaugefillalpha,d.thmfillalpha,Oa);a.showGaugeBorder=
|
|
e(d.showgaugeborder,1);c=a.showGaugeBorder?e(d.gaugeborderalpha,40):0;a.gaugeBorderColor=t(f(d.gaugebordercolor,b.getColor("gaugeBorderColor")),c);a.gaugeBorderThickness=e(d.gaugeborderthickness,1);a.gaugeContainerColor=f(d.thmglasscolor,P(a.gaugeFillColor,30))},_createDatasets:function(){var a=this.components,d;d=this.defaultDatasetType;var b={data:[{value:this.jsonData.value}]},a=a.dataset||(a.dataset=[]);d&&(d=FusionCharts.get("component",["dataset",d]))&&(a[0]?(a[0].setValue(b&&b.data&&b.data[0]),
|
|
a[0].configure()):(d=new d,a.push(d),d.chart=this,d.init(b)))}},n.axisgaugebase);n("cylinder",{defaultDatasetType:"cylinder",applicableDSList:{cylinder:!0},defaultPaletteOptions:Z(ka({},g.defaultGaugePaletteOptions),{gaugeBorderColor:["545454","60634E","415D6F","845001","68001B"],gaugeFillColor:["CCCCCC","ADB68F","E1F5FF","FDB548","FF7CA0"],periodColor:["EEEEEE","ECEEE6","E6ECF0","FFF4E6","FFF2F5"]}),glasscolor:"ffffff",_parseSpecialConfig:function(){var a=this.config,d=this.jsonData.chart,b=this.components,
|
|
c=b.numberFormatter,b=b.colorManager;a.use3DLighting=e(d.use3dlighting,1);a.gaugeOriginX=e(d.thmoriginx,d.cyloriginx,d.gaugeoriginx);a.gaugeOriginY=e(d.thmoriginy,d.cyloriginy,d.gaugeoriginy);a.gaugeRadius=e(c.getCleanValue(e(d.thmbulbradius,d.cylradius,d.gaugeradius),!0));a.gaugeHeight=e(c.getCleanValue(e(d.thmheight,d.cylheight,d.gaugeheight),!0));a.origW=e(d.origw);a.origH=e(d.origh);a.xDefined=ea(a.gaugeOriginX);a.yDefined=ea(a.gaugeOriginY);a.rDefined=ea(a.gaugeRadius);a.hDefined=ea(a.gaugeHeight);
|
|
a.gaugeFillColor=f(d.gaugefillcolor,d.cylfillcolor,b.getColor("gaugeFillColor"));a.gaugeFillAlpha=e(d.gaugefillalpha,d.cylfillalpha,Oa);a.gaugeYScale=e(d.cylyscale,d.gaugeyscale,30);if(50<a.gaugeYScale||0>a.gaugeYScale)a.gaugeYScale=30;a.gaugeYScale/=100;a.showGaugeBorder=e(d.showgaugeborder,1);c=a.showGaugeBorder?e(d.gaugeborderalpha,40):0;a.gaugeBorderColor=t(f(d.gaugebordercolor,b.getColor("gaugeBorderColor")),c);a.gaugeBorderThickness=e(d.gaugeborderthickness,1);a.gaugeContainerColor=f(d.cylglasscolor,
|
|
P(a.gaugeFillColor,30))}},n.thermometer);FusionCharts.register("component",["dataset","thermometer",{init:function(a){this.configure();this.setValue(a&&a.data&&a.data[0])},setValue:function(a,d){var b=this.config,c=this.chart,e=c.jsonData.chart,c=c.components.numberFormatter,g=a.value;b.value=g=c.getCleanValue(g);null!==g?(c=b.formattedValue=c.dataLabels(b.value),b.displayValue=b.showValue?a.label||E(c," "):F,b.toolText=b.showTooltip?void 0!==e.plottooltext?da(f(a.tooltext,e.plottooltext),[1,2],{formattedValue:c},
|
|
{},e):f(a.tooltext,null===c?F:c):F):(b.displayValue=F,b.toolText=F,b.formattedValue=null);d&&this.draw()},configure:function(){var a=this.chart,d=a.jsonData,b=d.chart,c=this.config||(this.config={}),k=a.components.colorManager,g=a.config,h,r=e(b.showhovereffect),m;c.showValue=e(b.showvalue,b.showvalues,1);c.showTooltip=e(b.showtooltip,1);c.valuePadding=e(b.valuepadding,2);c.tooltipSepChar=f(b.tooltipsepchar,l);c.pointerOnOpp=e(b.pointerontop,0);c.axisPosition=e(b.ticksbelowgauge,b.ticksbelowgraph,
|
|
this.ticksbelowgauge,1)?3:1;c.valueAbovePointer=e(b.valueabovepointer,1);c.labelStyle=g.dataLabelStyle;m=c.gaugeFillColor=f(b.gaugefillcolor,b.thmfillcolor,b.cylfillcolor,k.getColor("gaugeFillColor"));g=c.gaugeFillAlpha=e(b.gaugefillalpha,b.cylfillalpha,b.thmfillalpha,Oa);c.showGaugeBorder=e(b.showgaugeborder,1);h=c.showGaugeBorder?e(b.gaugeborderalpha,40):0;c.gaugeBorderColor=t(f(b.gaugebordercolor,k.getColor("gaugeBorderColor")),h);c.gaugeBorderThickness=e(b.gaugeborderthickness,1);c.gaugeContainerColor=
|
|
f(b.thmglasscolor,b.cylglasscolor,a.glasscolor,P(m,30));0!==r&&(r||b.plotfillhovercolor||b.plotfillhoveralpha||0===b.plotfillhoveralpha)&&(c.showHoverEffect=!0,r=f(b.plotfillhovercolor,b.cylfillhovercolor,b.thmfillhovercolor,"{dark-10}"),c.plotFillHoverAlpha=e(b.plotfillhoveralpha,b.cylfillhoveralpha,b.thmfillhoveralpha,g),c.plotFillHoverColor=/\{/.test(r)?k.parseColorMix(m,r)[0]:r);this.setValue(d);a._parseSpecialConfig&&a._parseSpecialConfig()},_getLabelSpace:function(){var a=this.config,d=this.chart,
|
|
b=d.get("linkedItems","smartLabel");b.useEllipsesOnOverflow(d.config.useEllipsesWhenOverflow);b.setStyle(a.labelStyle);d=b.getOriSize(""!==a.displayValue?a.displayValue:"dummy");return d.height?d.height+a.valuePadding:0},_manageSpace:function(){var a=this.chart.config,d=a.canvasWidth,b=a.canvasHeight,c=a.canvasLeft,k=a.canvasRight,f=a.canvasTop,h=a.xDefined,g=a.yDefined,m=a.rDefined,l=a.hDefined,n=a.thmOriginX,p=a.thmOriginY,t=a.thmBulbRadius,s=a.thmHeight,w=wa(a.origW,a.origH,a.width,a.height),u=
|
|
0,q=0,z=0,v=0,B;B=this._getLabelSpace();b-=B;q+=B;t=m?t*w:Math.min(d/2,.13*e(s,b));a.effectiveR=t;m=.643*t;a=2*m;u+=m;f+=m;b-=m;h?c=n*w-m-c:(c=(k-c)/2-m,c+a>d&&(c=d-a));z+=c;v+=d-c-a;g&&(p*=w);l?(s*=w,g?u+=p-s-f:p=f+s):g||(s=Math.max(b-1.766*t,3*t),p=f+s);return{top:u,bottom:q+(f+b-p),left:z,right:v}},draw:function(){var a=this.config,d=this.chart,b=d.get("graphics","datalabels"),c=d.get("graphics","trackerGroup"),k=this.graphics||(this.graphics={}),f=d.get("components","scale"),h=d.get("graphics",
|
|
"datasetGroup"),g=d.get("config"),m=d.get("components","paper"),n=g.canvasLeft,q=g.canvasTop,p=g.canvasHeight,A=g.effectiveR||10,s=.643*A,w=g.use3DLighting,u=n+s,y=q-s,z=y+s,v=z+p,B=v+.766*A,C=e(a.value,f.getLimit().min),E=f.getPixel(C),f=.33*s,C=y+f,x=.9*s,F=s-f,D=A+x-s,G=u-s,H=u+s,M=u-F,F=u+F,S=u-x,L=u+x,K=parseInt(u-.6*s,10),s=u+s/2,J=B-Math.abs(Math.sqrt(D*D-x*x)),T=k.container,Q=k.fluid,V=k.topLightGlow,O=k.topLight,R=k.label,U=k.dataLabelContainer,W=k.canvasBorderElement,x=k.bulbBorderLight,
|
|
ja=k.bulbTopLight,Y=k.bulbCenterLight,oa=k.trackerContainer,aa=k.cylLeftLight,da=k.cylRightLight,ba=k.cylLeftLight1,fa=k.cylRightLight1,oa=k.hotElement,X=ha(a.gaugeFillColor,w?70:80),la=a.gaugeFillAlpha,Z=a.gaugeContainerColor,ca=ha(Z,80),Z=P(Z,80),ga=a.gaugeBorderThickness,ia=a.gaugeBorderColor,U=a.showHoverEffect,ka=a.plotFillHoverAlpha,ma=a.plotFillHoverColor,ea=d.get("config","animationObj"),pa=ea.animType,ra=ea.animObj,xa=ea.dummyObj,wa=ea.duration,sa=ea&&ea.duration,Fa=g.canvasRight,Ga=g.canvasBottom,
|
|
Ba=g.canvasWidth,Ca=d.config.dataLabelStyle,Da={fontFamily:Ca.fontFamily,fontSize:Ca.fontSize,lineHeight:Ca.lineHeight,fontWeight:Ca.fontWeight,fontStyle:Ca.fontStyle},ea=function(){d._animCallBack&&d._animCallBack()},za=function(a,b,c,d){"attr"===b?a.attr(c):a.animateWith(xa,ra,c,wa,pa,d);return a},va,Ea=a.fluidAttr;Ea||(Ea=a.fluidAttr={});U&&(Ea.hover={fill:t(ha(ma,w?70:80),ka)});Ea.out={fill:t(X,la)};la=["M",M,y,"A",f,f,0,0,0,G,C,"L",G,v,"A",A,A,0,1,0,H,v,"L",H,C,"A",f,f,0,0,0,F,y,"Z"];g.gaugeStartX=
|
|
n;g.gaugeEndX=Fa;g.gaugeStartY=q;g.gaugeEndY=Ga;g.gaugeCenterX=n+.5*Ba;g.gaugeCenterY=q+.5*p;g.gaugeRadius=.5*Ba;T?sa?(b=c="animate",va=ea):b=c="attr":(T=k.container=m.group("thermometer",h),W=k.canvasBorderElement=m.path(T),Q=k.fluid=m.path(T).attr({"stroke-width":0}),O=k.topLight=m.path(T).attr({"stroke-width":1}),V=k.topLightGlow=m.path(T).attr({"stroke-width":0}),x=k.bulbBorderLight=m.path(T).attr({"stroke-width":0,stroke:"#00FF00"}),ja=k.bulbTopLight=m.path(T).attr({"stroke-width":0}),Y=k.bulbCenterLight=
|
|
m.path(T).attr({"stroke-width":0}),aa=k.cylLeftLight=m.path(T).attr({"stroke-width":0}),da=k.cylRightLight=m.path(T).attr({"stroke-width":0}),ba=k.cylLeftLight1=m.path(T).attr({"stroke-width":0}),fa=k.cylRightLight1=m.path(T).attr({"stroke-width":0}),oa=k.trackerContainer=m.group("col-hot",c),oa=k.hotElement=m.path({stroke:ua,fill:ua},oa).click(function(a){ya.call(this,d,a)}).hover(function(b){a.showHoverEffect&&k.fluid&&k.fluid.attr(Ea.hover);ya.call(this,d,b,"DataPlotRollOver")},function(b){a.showHoverEffect&&
|
|
k.fluid&&k.fluid.attr(Ea.out);ya.call(this,d,b,"DataPlotRollOut")}),U=k.dataLabelContainer=m.group("datalabel",b),R=k.label=m.text({text:"","text-anchor":"middle","vertical-align":"top"},U),sa?(c="animate",va=ea,Q.attr({path:["M",S,J,"A",D,D,0,1,0,L,J,"L",L,J,S,J,"Z"]})):c="attr",b="attr");za(Q,c,{path:["M",S,J,"A",D,D,0,1,0,L,J,"L",L,E,S,E,"Z"]},va).attr(Ea.out);za(W,b,{path:la}).attr({"stroke-width":ga,stroke:ia});za(O,b,{path:["M",S,z,"L",L,z]}).attr({stroke:t(X,40)});za(oa,b,{path:la}).tooltip(a.toolText);
|
|
a.showValue?za(R.show(),b,{x:u,y:B+A+(a.valuePadding||0),fill:Ca.color,"text-bound":[Ca.backgroundColor,Ca.borderColor,Ca.borderThickness,Ca.borderPadding,Ca.borderRadius,Ca.borderDash]}).attr({text:a.displayValue}).css(Da):(R.hide(),R.attr({"text-bound":[]}));w?(za(V.show(),b,{path:["M",S,z,"L",L,z,L,C,S,C,"Z"]}).attr({fill:N({FCcolor:{color:X+l+X,alpha:"40,0",ratio:"0,80",radialGradient:!0,cx:.5,cy:1,r:"70%"}})}),A=["M",G,v,"A",A,A,0,0,1,H,v,"A",A,A,0,0,0,G,v,"A",A,A,0,1,0,H,v,"Z"],za(x.show(),
|
|
b,{path:A}).attr({fill:N({FCcolor:{cx:.5,cy:.5,r:"50%",color:ca+l+Z,alpha:"0,50",ratio:"78,30",radialGradient:!0}})}),za(ja.show(),b,{path:A}).attr({fill:N({FCcolor:{cx:.3,cy:.1,r:"100%",color:Z+l+ca,alpha:"60,0",ratio:"0,30",radialGradient:!0}})}),za(Y.show(),b,{path:A}).attr({fill:N({FCcolor:{cx:.25,cy:.7,r:"100%",color:Z+l+ca,alpha:"80,0",ratio:"0,70",radialGradient:!0}})}),za(aa.show(),b,{path:["M",u,y,"L",M,y,"A",f,f,0,0,0,G,C,"L",G,v,u,v,"Z"]}).attr({fill:N({FCcolor:{color:Z+l+ca,alpha:"50,0",
|
|
ratio:"0,80",angle:0}})}),za(da.show(),b,{path:["M",G,y,"L",F,y,"A",f,f,0,0,1,H,C,"L",H,v,G,v,"Z"]}).attr({fill:N({FCcolor:{color:Z+l+ca+l+ca,alpha:"50,0,0",ratio:"0,40,60",angle:180}})}),za(ba.show(),b,{path:["M",K,C,"L",G,C,G,v,K,v,"Z"]}).attr({fill:N({FCcolor:{color:Z+l+ca,alpha:"60,0",ratio:"0,100",angle:180}})}),za(fa.show(),b,{path:["M",K-.01,C,"L",s,C,s,v,K-.01,v,"Z"]}).attr({fill:N({FCcolor:{color:Z+l+ca,alpha:"60,0",ratio:"0,100",angle:0}})})):(V.hide(),x.hide(),ja.hide(),Y.hide(),aa.hide(),
|
|
da.hide(),ba.hide(),fa.hide());va||ea()},getDataLimits:function(){var a=this.config,d,b;b=d=a.value;a.maxValue=b;a.minValue=d;return{max:b,min:d}},updateData:function(a,d,b){d=this.config;var c=d.maxValue,e=d.prevMin,f=d.value,h=this.chart,g=this.groupManager||this,m=h.components.scale;this.setValue(a.data[0]);d.maxValue=f;d.minValue=f;if(d.maxValue!==c||d.minValue!==e)this.maxminFlag=!0;b&&(h._setAxisLimits(),m.draw(),g.draw())},addData:function(){},removeData:function(){}}]);FusionCharts.register("component",
|
|
["dataset","cylinder",{_manageSpace:function(){var a=this.chart.config,d=a.canvasWidth,b=a.canvasHeight,c=a.canvasLeft,e=a.canvasTop,f=a.canvasRight,h=a.xDefined,g=a.yDefined,m=a.rDefined,l=a.hDefined,n=a.gaugeOriginX,p=a.gaugeOriginY,t=a.gaugeRadius,s=a.gaugeHeight,w=a.gaugeYScale,u=wa(a.origW,a.origH,a.width,a.height),q=0,z=0,v=0,B=0,C;C=this._getLabelSpace();b-=C;z+=C;t=m?t*u:M(A(d,1.2*b)/2,5);a.effectiveR=t;a=2*t;w*=t;q+=w;e+=w;b-=2*w;h?c=n*u-t-c:(c=(f-c)/2-t,c+a>d&&(c=d-a));B+=d-c-a;g&&(p*=u);
|
|
l?(s*=u,g?q+=p-s-e:p=e+s):g||(p=e+b);z=z+w+(e+b-p);return{top:q,bottom:z+8,left:v+c,right:B}},draw:function(){var a=this.config,d=this.chart,b=this.graphics||(this.graphics={}),c=d.graphics,k=c.datalabels,f=c.trackerGroup,h=c.datasetGroup,c=b.fluidTop,g=b.fluid,m=b.cylinterTop,n=b.frontLight1,q=b.frontLight,p=b.front,A=b.back,s=b.btnBorderLight,w=b.btnBorder1,u=b.btnBorder,y=b.label,z=b.dataLabelContainer,v=b.trackerContainer,v=b.hotElement,B=d.components,C=B.scale,z=d.config,E=B.paper,x=z.canvasLeft,
|
|
B=z.canvasTop,F=z.canvasHeight,D=z.effectiveR||40,G=e(a.value,C.getLimit().min),C=C.getPixel(G),G=x+D,H=d.config.dataLabelStyle,W={fontFamily:H.fontFamily,fontSize:H.fontSize,lineHeight:H.lineHeight,fontWeight:H.fontWeight,fontStyle:H.fontStyle},S=a.gaugeFillColor,L=ha(S,70),K=P(S,70),J=ha(L,90),T=z.gaugeFillAlpha,Q=a.gaugeContainerColor,S=ha(Q,80),V=ha(Q,90),Q=P(Q,80),O=b.container,R=D*z.gaugeYScale,U=D-1.5,na=B+F,ja=G-D,Y=G+D,aa=ja+1.5,Z=Y-1.5,da=ja-2,ba=Y+2,ca=D+2,X=R+2,la=na+4,fa=la+.001,ea=.85*
|
|
D,ga=G-ea,ia=G+ea,ea=Math.sqrt((1-ea*ea/(D*D))*R*R),ka=B+ea,ma=na+ea,ea=B-1,pa=z.use3DLighting,ra=a.showHoverEffect,xa=a.plotFillHoverAlpha,wa=a.plotFillHoverColor,sa=d.get("config","animationObj"),Ba=sa.animType,Fa=sa.animObj,Ga=sa.dummyObj,Ha=sa.duration,Ca=sa&&sa.duration,sa=function(){d._animCallBack&&d._animCallBack()},Da=function(a,b,c,d){"attr"===b?a.attr(c):a.animateWith(Ga,Fa,c,Ha,Ba,d);return a},za,va=a.fluidAttr,Ea=z.canvasRight,Pa=z.canvasBottom,Ia=z.canvasWidth,Aa=t(S,50);z.gaugeStartX=
|
|
x;z.gaugeEndX=Ea;z.gaugeStartY=B;z.gaugeEndY=Pa;z.gaugeCenterX=x+.5*Ia;z.gaugeCenterY=B+.5*F;z.gaugeRadius=.5*Ia;va||(va=a.fluidAttr={});O?Ca?(f=k="animate",za=sa):f=k="attr":(O=b.container=E.group("thermometer",h),u=b.btnBorder=E.path(O).attr({"stroke-width":4}),w=b.btnBorder1=E.path(O).attr({"stroke-width":4}),s=b.btnBorderLight=E.path(O).attr({"stroke-width":0}),A=b.back=E.path(O).attr({"stroke-width":1}),g=b.fluid=E.path(O).attr({"stroke-width":0}),c=b.fluidTop=E.path(O).attr({"stroke-width":2}),
|
|
p=b.front=E.path(O).attr({"stroke-width":1}),q=b.frontLight=E.path(O).attr({"stroke-width":0}),n=b.frontLight1=E.path(O).attr({"stroke-width":0}),m=b.cylinterTop=E.path(O).attr({"stroke-width":2}),v=b.trackerContainer=E.group("col-hot",f),v=b.hotElement=E.path({stroke:ua,fill:ua},v).click(function(a){ya.call(this,d,a)}).hover(function(c){a.showHoverEffect&&(b.fluid&&b.fluid.attr(va.bodyHover),b.fluidTop&&b.fluidTop.attr(va.topHover));ya.call(this,d,c,"DataPlotRollOver")},function(c){a.showHoverEffect&&
|
|
(b.fluid&&b.fluid.attr(va.bodyOut),b.fluidTop&&b.fluidTop.attr(va.topOut));ya.call(this,d,c,"DataPlotRollOut")}),z=b.dataLabelContainer=E.group("datalabel",k),y=b.label=E.text({text:"","text-anchor":"middle","vertical-align":"top"},z),Ca?(k="animate",za=sa,g.attr({path:["M",ja,na,"A",D,M(R,1),0,0,0,Y,na,"L",Y,na,"A",D,M(R,1),0,0,1,ja,na,"Z"]}),c.attr({path:["M",aa,na,"A",U,R,0,0,0,Z,na,"L",Z,na,"A",U,R,0,0,0,aa,na,"Z"]})):k="attr",f="attr");pa?(h=Q+l+S+l+Q+l+S+l+V+l+V+l+S+l+Q,z=N({FCcolor:{cx:.5,
|
|
cy:0,r:"100%",color:K+l+L,alpha:T+l+T,ratio:"0,100",radialGradient:!0}}),E=N({FCcolor:{cx:.5,cy:.7,r:"100%",color:K+l+L,alpha:T+l+T,ratio:"0,100",radialGradient:!0}}),J=t(K,T),K=Q+l+S+l+Q+l+Q+l+S+l+Q+l+S+l+Q,q.show().attr({fill:N({FCcolor:{color:K,alpha:"40,0",ratio:"0,100",angle:0}})}),Da(q,f,{path:["M",ja,na,"A",D,R,1,0,0,ga,ma,"L",ga,ka,"A",D,R,0,0,1,ja,B,"Z"]}),n.show().attr({fill:N({FCcolor:{color:K,alpha:"40,0",ratio:"0,100",angle:180}})}),Da(n,f,{path:["M",ia,ma,"A",D,R,0,0,0,Y,na,"L",Y,B,
|
|
"A",D,R,1,0,0,ia,ka,"Z"]})):(h=Q+l+S+l+S+l+S+l+S+l+S+l+S+l+Q,E=z=t(L,T),J=t(J),K=S+l+S+l+S+l+S+l+S+l+S+l+S+l+S,q.hide(),n.hide());va.bodyOut={fill:z};va.topOut={stroke:J,fill:E};ra&&(n=ha(wa,70),q=P(wa,70),ga=ha(n,90),pa?(va.bodyHover={fill:N({FCcolor:{cx:.5,cy:0,r:"100%",color:q+l+n,alpha:xa+l+xa,ratio:"0,100",radialGradient:!0}})},va.topHover={stroke:t(q,xa),fill:N({FCcolor:{cx:.5,cy:.7,r:"100%",color:q+l+n,alpha:xa+l+xa,ratio:"0,100",radialGradient:!0}})}):(va.bodyHover={fill:t(n,xa)},va.topHover=
|
|
{stroke:t(ga),fill:t(n,xa)}));g.attr(va.bodyOut);c.attr(va.topOut);Da(g,k,{path:["M",ja,na,"A",D,M(R,1),0,0,0,Y,na,"L",Y,C,"A",D,M(R,1),0,0,1,ja,C,"Z"]},za);Da(c,k,{path:["M",aa,C,"A",U,R,0,0,0,Z,C,"L",Z,C,"A",U,R,0,0,0,aa,C,"Z"]});u.attr({stroke:t(S,80)});Da(u,f,{path:["M",da,la,"A",ca,X,0,0,0,ba,la,"L",ba,fa,"A",ca,X,0,0,0,da,fa,"Z"]});w.attr({stroke:Aa});Da(w,f,{path:["M",ja,la,"A",D,R,0,0,0,Y,la,"L",Y,fa,"A",D,R,0,0,0,ja,fa,"Z"]});s.attr({fill:N({FCcolor:{color:Q+l+S+l+Q+l+Q+l+S+l+L+l+S+l+Q,alpha:"50,50,50,50,50,70,50,50",
|
|
ratio:"0,15,0,12,0,15,43,15",angle:0}})});Da(s,f,{path:["M",ja,na,"A",D,R,0,0,0,Y,na,"A",D,R,0,0,0,ja,na,"Z"]});A.attr({stroke:Aa,fill:N({FCcolor:{color:h,alpha:"30,30,30,30,30,30,30,30",ratio:"0,15,43,15,0,12,0,15",angle:0}})});Da(A,f,{path:["M",ja,na,"A",D,R,0,0,0,Y,na,"L",Y,B,"A",D,R,0,0,0,ja,B,"Z"]});p.attr({stroke:Aa,fill:N({FCcolor:{color:K,alpha:"30,30,30,30,30,30,30,30",ratio:"0,15,0,12,0,15,43,15",angle:0}})});Da(p,f,{path:["M",ja,na,"A",D,R,0,0,0,Y,na,"L",Y,B,"A",D,R,0,0,1,ja,B,"Z"]});m.attr({stroke:t(S,
|
|
40)});Da(m,f,{path:["M",ja,ea,"A",D,R,0,0,0,Y,ea,"L",Y,ea,"A",D,R,0,0,0,ja,ea,"Z"]});Da(v,f,{path:["M",ja,na,ja,la+4,"A",D,R,0,0,0,Y,la+4,"L",Y,na,Y,B,"A",D,R,0,0,0,ja,B,"Z"]}).tooltip(a.toolText);a.showValue?(y.show().attr({text:a.displayValue}),Da(y,f,{x:G,y:na+R+(a.valuePadding||0)+8,fill:H.color,"text-bound":[H.backgroundColor,H.borderColor,H.borderThickness,H.borderPadding,H.borderRadius,H.borderDash]}).css(W)):(y.hide(),y.attr({"text-bound":[]}));za||sa()}},"thermometer"]);n("angulargauge",
|
|
{friendlyName:"Angular Gauge",creditLabel:ra,defaultDatasetType:"angulargauge",standaloneInit:!0,isHorizontal:!0,isAxisOpposite:!1,isRealTime:!0,hasLegend:!1,drawPlotlines:!1,drawPlotBands:!1,isAxisReverse:!1,colorRange:!0,defaultPaletteOptions:Z(ka({},g.defaultGaugePaletteOptions),{dialColor:["999999,ffffff,999999","ADB68F,F3F5DD,ADB68F","A2C4C8,EDFBFE,A2C4C8","FDB548,FFF5E8,FDB548","FF7CA0,FFD1DD,FF7CA0"],dialBorderColor:["999999","ADB68F","A2C4C8","FDB548","FF7CA0"],pivotColor:["999999,ffffff,999999",
|
|
"ADB68F,F3F5DD,ADB68F","A2C4C8,EDFBFE,A2C4C8","FDB548,FFF5E8,FDB548","FF7CA0,FFD1DD,FF7CA0"],pivotBorderColor:["999999","ADB68F","A2C4C8","FDB548","FF7CA0"]}),rtParserModify:!0,applicableDSList:{angulargauge:!0},_spaceManager:function(){var a,d,b=this.config,c=this.components,k=c.dataset[0],c=c.scale,f=k.chart.jsonData.chart,k=k.config,h=k.scaleFactor,g=0,m=0,l=k.pivotRadius,n=b.dataLabels.style.fontSize,g=b.dataLabels.style.lineHeight,p=b.displayValueCount,l=b.borderWidth,q=b.minChartWidth,s=b.minChartHeight;
|
|
a=0;var w;b.canvasWidth-2*l<q&&(d=(b.canvasWidth-q)/2);b.canvasHeight-2*l<s&&(w=(b.canvasHeight-s)/2);this._allocateSpace({top:w||l,bottom:w||l,left:d||l,right:d||l});b.scaleFactor=b.autoScale?h=this._getScaleFactor(k.origW,k.origH,b.width,b.height):h=1;n=n.replace(/px/i,"");g=g.replace(/px/i,"");w=/^\d+\%$/.test(k.gaugeinnerradius)?parseInt(k.gaugeinnerradius,10)/100:.7;a=l=e(E(f.pivotradius)*h,5);k.pivotRadius=a;l=Math.max(l,k.rearExtension*h);k.compositPivotRadius=l;g=p*g+2+a;k.valueBelowPivot||
|
|
(m=g,g=0);k.gaugeOuterRadius=e(Math.abs(E(f.gaugeouterradius)*h));k.gaugeInnerRadius=e(Math.abs(E(f.gaugeinnerradius)*h),k.gaugeOuterRadius*w);a=.7*b.canvasWidth;d=.7*b.canvasHeight;a=c.placeAxis(A(a,d));a=M(a.left,a.right,a.top,a.bottom);d=.225*b.canvasHeight;this._manageChartMenuBar(d);f=this._angularGaugeSpaceManager(k.gaugeStartAngle,k.gaugeEndAngle,b.canvasWidth,b.canvasHeight,k.gaugeOuterRadius,e(E(f.gaugeoriginx)*h-b.canvasLeft),e(E(f.gaugeoriginy)*h-b.canvasTop),Math.max(l,n),g,m);f.radius=
|
|
e(f.radius,f.maxRadius);k.gaugeOriginX=f.centerX+b.canvasLeft;k.gaugeOriginY=f.centerY+b.canvasTop;k.gaugeOuterRadius||(k.gaugeOuterRadius=f.radius,k.gaugeOuterRadius-=a);void 0===k.gaugeInnerRadius&&(k.gaugeInnerRadius=k.gaugeOuterRadius*w);c.setAxisConfig({centerX:k.gaugeOriginX,centerY:k.gaugeOriginY,radius:f.radius||k.gaugeOuterRadius,gaugeOuterRadius:k.gaugeOuterRadius,gaugeInnerRadius:k.gaugeInnerRadius,scaleFactor:h});f=c.getLimit();c.getPixel(f.min);c.getPixel(f.max);b.gaugeStartX=b.canvasLeft;
|
|
b.gaugeStartY=b.canvasTop;b.gaugeEndX=b.canvasRight;b.gaugeEndY=b.canvasBottom;b.gaugeCenterX=k.gaugeOriginX;b.gaugeCenterY=k.gaugeOriginY;b.gaugeStartAngle=k.gaugeStartAngle/Ya;b.gaugeEndAngle=k.gaugeEndAngle/Ya},_createAxes:function(){var a=this.components,d=FusionCharts.register("component",["axis","polarGauge"]);a.scale=a=new d;a.chart=this;a.init()},_feedAxesRawData:function(){var a=this.components,d=a.colorManager,b=this.jsonData,c=b.chart,k=g.chartPaletteStr.chart2D,l=e(c.axisontop,c.axisonleft,
|
|
void 0!==c.ticksbelowgauge?!c.ticksbelowgauge:void 0,this.isAxisOpposite),h=e(c.reverseaxis,this.isAxisReverse),d={outCanfontFamily:f(c.outcnvbasefont,c.basefont,"Verdana,sans"),outCanfontSize:Na(c.outcnvbasefontsize,c.basefontsize,10),outCancolor:f(c.outcnvbasefontcolor,c.basefontcolor,d.getColor(k.baseFontColor)).replace(/^#?([a-f0-9]+)/ig,"#$1"),useEllipsesWhenOverflow:c.useellipseswhenoverflow,divLineColor:f(c.vdivlinecolor,d.getColor(k.divLineColor)),divLineAlpha:f(c.vdivlinealpha,d.getColor("divLineAlpha")),
|
|
divLineThickness:e(c.vdivlinethickness,1),divLineIsDashed:Boolean(e(c.vdivlinedashed,c.vdivlineisdashed,0)),divLineDashLen:e(c.vdivlinedashlen,4),divLineDashGap:e(c.vdivlinedashgap,2),showAlternateGridColor:e(c.showalternatevgridcolor,0),alternateGridColor:f(c.alternatevgridcolor,d.getColor("altVGridColor")),alternateGridAlpha:f(c.alternatevgridalpha,d.getColor("altVGridAlpha")),numDivLines:c.numvdivlines,labelFont:c.labelfont,labelFontSize:c.labelfontsize,labelFontColor:c.labelfontcolor,labelFontAlpha:c.labelalpha,
|
|
labelFontBold:c.labelfontbold,labelFontItalic:c.labelfontitalic,axisName:c.xaxisname,axisMinValue:c.lowerlimit,axisMaxValue:c.upperlimit,setAdaptiveMin:c.setadaptivemin,adjustDiv:c.adjustvdiv,labelDisplay:c.labeldisplay,showLabels:c.showlabels,rotateLabels:c.rotatelabels,slantLabel:e(c.slantlabels,c.slantlabel),labelStep:e(c.labelstep,c.xaxisvaluesstep),showAxisValues:e(c.showxaxisvalues,c.showxaxisvalue),showDivLineValues:e(c.showvdivlinevalues,c.showvdivlinevalues),showZeroPlane:c.showvzeroplane,
|
|
zeroPlaneColor:c.vzeroplanecolor,zeroPlaneThickness:c.vzeroplanethickness,zeroPlaneAlpha:c.vzeroplanealpha,showZeroPlaneValue:c.showvzeroplanevalue,trendlineColor:c.trendlinecolor,trendlineToolText:c.trendlinetooltext,trendlineThickness:c.trendlinethickness,trendlineAlpha:c.trendlinealpha,showTrendlinesOnTop:c.showtrendlinesontop,showAxisLine:e(c.showxaxisline,c.showaxislines,c.drawAxisLines,0),axisLineThickness:e(c.xaxislinethickness,c.axislinethickness,1),axisLineAlpha:e(c.xaxislinealpha,c.axislinealpha,
|
|
100),axisLineColor:f(c.xaxislinecolor,c.axislinecolor,"#000000"),majorTMNumber:c.majortmnumber,majorTMColor:c.majortmcolor,majorTMAlpha:c.majortmalpha,majorTMHeight:c.majortmheight,tickValueStep:c.tickvaluestep,showTickMarks:c.showtickmarks,connectTickMarks:c.connecttickmarks,showTickValues:c.showtickvalues,majorTMThickness:c.majortmthickness,upperlimit:a.numberFormatter.getCleanValue(c.upperlimit),lowerlimit:a.numberFormatter.getCleanValue(c.lowerlimit),reverseScale:c.reversescale,showLimits:c.showlimits,
|
|
adjustTM:c.adjusttm,minorTMNumber:c.minortmnumber,minorTMColor:c.minortmcolor,minorTMAlpha:c.minortmalpha,minorTMHeight:e(c.minortmheight,c.minortmwidth),minorTMThickness:c.minortmthickness,tickMarkDistance:e(c.tickmarkdistance,c.tickmarkgap),tickValueDistance:e(c.tickvaluedistance,c.displayvaluedistance),placeTicksInside:c.placeticksinside,placeValuesInside:c.placevaluesinside,upperLimitDisplay:c.upperlimitdisplay,lowerLimitDisplay:c.lowerlimitdisplay,ticksBelowGauge:c.ticksbelowgauge,ticksBelowGraph:c.ticksbelowgraph,
|
|
trendValueDistance:c.trendvaluedistance};d.trendPoints=b.trendpoints;a=a.scale;a.setCommonConfigArr(d,!this.isHorizontal,h,l);a.configure()},_drawCanvas:function(){var a=this.components,d=a.dataset[0],b=d.config,d=d.graphics||(d.graphics={}),c=a.scale,k=a.colorManager,g=c.config.axisRange,h=a.colorRange,r=this.graphics.datasetGroup,m=this.graphics.datalabelGroup,a=a.paper,n=b.gaugeOuterRadius,q=b.gaugeInnerRadius,p=b.gaugeFillRatio,A=b.gaugeBorderColor,s=b.gaugeBorderThickness,w=b.gaugeBorderAlpha,
|
|
u=b.gaugeFillMix,y=b.gaugeOriginX,z=b.gaugeOriginY,v=b.gaugeStartAngle,B=b.showShadow,C=g.min,g=g.max,E=h?h.getColorRangeArr(C,g):[],x=this.get("config","animationObj"),h=x.duration,C=x.dummyObj,F=x.animObj,x=x.animType,D=0,G=E.length,H,P,S,L,K,J,T=0;d.band=d.band||[];d.bandGroup||(d.bandGroup=a.group("bandGroup",r));for(d.pointGroup?d.pointGroup.animateWith(C,F,{transform:"t"+y+","+z},h,x):d.pointGroup=a.group("pointers",m).translate(y,z);D<G;D+=1)H=E[D],r=c.getAngle(Math.min(H.maxvalue,g)),S=k.parseColorMix(H.code,
|
|
u),L=k.parseAlphaList(H.alpha,S.length),K=k.parseRatioList(q/n*100+p,S.length),J=H.bordercolor,P=e(H.borderAlpha,w),J=J&&-1==J.indexOf("{")?t(J,P):k.parseColorMix(H.code,f(J,A))[0],J=t(J,P),H=L.split(l),H=M.apply(Math,H),H=B?M(s&&P||0,H):0,P=r,v>r&&(v+=r,r=v-r,v-=r),d.band[D]?d.band[D].animateWith(C,F,{ringpath:[y,z,n,q,v,r]},h,x):d.band[D]=a.ringpath(y,z,n,q,v,r,d.bandGroup),d.band[D].attr({fill:N({FCcolor:{cx:y,cy:z,r:n,gradientUnits:"userSpaceOnUse",color:S.join(),alpha:L,ratio:K,radialGradient:!0}}),
|
|
"stroke-width":s,stroke:J}).shadow({apply:B,opacity:H/100}),v=P,T+=1;D=T;for(G=d.band.length;D<G;D+=1)d.band[D].attr({ringpath:[0,0,0,0,0]});c=b.isRadialGradient?{color:b.pivotFillColor,alpha:b.pivotFillAlpha,ratio:b.pivotFillRatio,radialGradient:!0,angle:b.pivotFillAngle,cx:.5,cy:.5,r:"50%"}:{color:b.pivotFillColor,alpha:b.pivotFillAlpha,ratio:b.pivotFillRatio,radialGradient:!1,angle:b.pivotFillAngle};d.pivot?d.pivot.animateWith(C,F,{cx:y,cy:z,r:b.pivotRadius},h,x):(d.pivot=a.circle(m),d.pivot.attr({cx:y,
|
|
cy:z,r:b.pivotRadius}));d.pivot.attr({fill:N({FCcolor:c}),"stroke-width":b.pivotBorderThickness,stroke:b.pivotBorderColor}).shadow({apply:B})},_createDatasets:function(){var a=this.components,d=this.jsonData,b=d.pointers||d.dials,c;c=this.defaultDatasetType;b||(d.dials=b={dial:[{value:0}]});a=a.dataset||(a.dataset=[]);c&&(c=FusionCharts.get("component",["dataset",c]))&&(a[0]?(c=a[0].components.data&&a[0].components.data.length,b=b.dial&&b.dial.length||0,c>b&&a[0].removeData(c-b),a[0].configure()):
|
|
(c=new c,a.push(c),c.chart=this,c.init(b)))},_setCategories:function(){},_angularGaugeSpaceManager:function(a,d,b,c,e,f,h,g,m,l){var n=ea(e),p=ea(f),q=ea(h),s=2*Math.PI,w=Math.PI,u=Math.PI/2,t=w+u,z;e={radius:e,centerX:f,centerY:h};var v,B,A,y,x=!1,E,D=a%s;0>D&&(D+=s);(g=g||0)&&g<b/2&&g<c/2&&(x=!0);m>c/2&&(m=c/2);l>c/2&&(l=c/2);B=Math.cos(a);y=Math.sin(a);A=Math.cos(d);E=Math.sin(d);v=Math.min(B,A,0);A=Math.max(B,A,0);B=Math.min(y,E,0);y=Math.max(y,E,0);if(!n||!p||!q){d-=a;a=D+d;if(a>s||0>a)A=1;if(0<
|
|
d){if(D<u&&a>u||a>s+u)y=1;if(D<w&&a>w||a>s+w)v=-1;if(D<t&&a>t||a>s+t)B=-1}else{if(D>u&&a<u||a<-t)y=1;if(D>w&&a<w||a<-w)v=-1;if(D>t&&a<t||a<-u)B=-1}p?n||(s=b-f,z=v?Math.min(s/A,-f/v):s/A):(p=b/(A-v),f=-p*v,z=p,x&&(b-f<g?(f=b-g,s=b-f,z=v?Math.min(s/A,-f/v):s/A):f<g&&(f=g,s=b-f,z=v?Math.min(s/A,-f/v):s/A)),e.centerX=f);q?n||(s=c-h,z=Math.min(z,B?Math.min(s/y,-h/B):s/y)):(p=c/(y-B),h=-p*B,x&&(c-h<g?(h=c-g,s=c-h,z=Math.min(z,B?Math.min(s/y,-h/B):s/y)):h<g&&(h=g,s=c-h,z=Math.min(z,B?Math.min(s/y,-h/B):
|
|
s/y))),c-h<m?(h=c-m,s=c-h,z=Math.min(z,B?Math.min(s/y,-h/B):s/y)):h<l&&(h=l,s=c-h,z=Math.min(z,B?Math.min(s/y,-h/B):s/y)),z=Math.min(z,p),e.centerY=h);e.maxRadius=z;0>=e.maxRadius&&(e.maxRadius=Math.min(b/2,c/2))}return e},_getScaleFactor:function(a,d,b,c){d=e(d,c);a=e(a,b);return d&&a?a/b==d/c?b/a:Math.min(b/a,c/d):1},_setData:n.hlineargauge,_getData:n.hlineargauge,_getDataForId:n.hlineargauge,_setDataForId:n.hlineargauge},n.axisgaugebase);FusionCharts.register("component",["dataset","angulargauge",
|
|
{type:"angulargauge",pIndex:2,customConfigFn:"_createDatasets",init:function(){this.components=this.components||{};this.idMap={};this.configure()},configure:function(){var a=this.chart,d=a.config,b=a.jsonData,c=b.chart,k=b.pointers||b.dials,l=k.pointer||k.dial,h=this.components.data||(this.components.data=[]),b=a.components,r=b.scale,b=b.colorManager,m=this.config||(this.config={}),n=e(c.gaugescaleangle,180),q=e(c.gaugestartangle),p=e(c.gaugeendangle),A=ea(q),s=ba?.001:.01,w=ea(p),u,y,z,v;z=d.displayValueCount=
|
|
0;for(v=l.length;z<v;z+=1)h[z]=h[z]||(h[z]={}),h[z].basewidth=l[z].basewidth,h[z].color=l[z].color,h[z].alpha=l[z].alpha,h[z].bgcolor=l[z].bgcolor,h[z].borderalpha=l[z].borderalpha,h[z].bordercolor=l[z].bordercolor,h[z].borderthickness=l[z].borderthickness,h[z].editmode=l[z].editmode,h[z].id=f(l[z].id,"dial"+z),h[z].link=l[z].link,h[z].radius=l[z].radius,h[z].rearextension=l[z].rearextension,h[z].showvalue=l[z].showvalue,h[z].tooltext=l[z].tooltext,h[z].topwidth=l[z].topwidth,h[z].value=l[z].value,
|
|
h[z].valuex=l[z].valuex,h[z].valuey=l[z].valuey,h[z].baseradius=l[z].baseradius,h[z].displayvalue=l[z].displayvalue,u=m.showValue=e(c.showvalue,c.showrealtimevalue,0),u=e(h[z].showvalue,u),y=e(E(h[z].valuey)),u&&!ea(y)&&(d.displayValueCount+=1);if(360<n||-360>n)n=0<n?360:-360;if(360<p||-360>p)p%=360;if(360<q||-360>q)q%=360;if(A&&w){if(n=q-p,360<n||-360>n)n%=360,p=q-n}else if(A){if(p=q-n,360<p||-360>p)p%=360,q+=0<p?-360:360}else if(w){if(q=p+n,360<q||-360>q)q%=360,p+=0<q?-360:360}else 360===n?(q=180,
|
|
p=-180):-360===n?p=q=-180:(q=90+n/2,p=q-n);360===Math.abs(n)&&(n+=0<n?-s:s,p=q-n);p=360-p;q=360-q;if(360<q||360<p)q-=360,p-=360;m.gaugeStartAngle=q*=Ya;m.gaugeEndAngle=p*Ya;m.gaugeScaleAngle=n=-n*Ya;m.upperLimit=e(c.upperlimit);m.lowerLimit=e(c.lowerlimit);r.setAxisConfig({startAngle:q,totalAngle:-n});l=e(c.scaleonresize,1);m.origW=e(c.origw,l?a.origRenderWidth:d.width);m.origH=e(c.origh,l?a.origRenderHeight:d.height);d.showtooltip=e(c.showtooltip,1);d.autoScale=e(c.autoscale,1);m.rearExtension=e(k.rearextension,
|
|
0);m.gaugeinnerradius=c.gaugeinnerradius;m.valueBelowPivot=e(c.valuebelowpivot,0);m.showShadow=e(c.showshadow,1);k=e(c.showgaugeborder,1);m.gaugeFillMix=g.getFirstDefinedValue(c.colorrangefillmix,c.gaugefillmix,a.colorRangeFillMix,"{light-10},{light-70},{dark-10}");m.gaugeFillRatio=g.getFirstDefinedValue(c.colorrangefillratio,c.gaugefillratio,a.colorRangeFillRatio,c.gaugefillratio);void 0===m.gaugeFillRatio?m.gaugeFillRatio=",6":""!==m.gaugeFillRatio&&(m.gaugeFillRatio=","+m.gaugeFillRatio);m.gaugeBorderColor=
|
|
f(c.gaugebordercolor,"{dark-20}");m.gaugeBorderThickness=k?e(c.gaugeborderthickness,1):0;m.gaugeBorderAlpha=e(c.gaugeborderalpha,100);a=b.parseColorMix(f(c.pivotfillcolor,c.pivotcolor,c.pivotbgcolor,b.getColor("pivotColor")),f(c.pivotfillmix,"{light-10},{light-30},{dark-20}"));m.pivotFillAlpha=b.parseAlphaList(f(c.pivotfillalpha,Oa),a.length);m.pivotFillRatio=b.parseRatioList(f(c.pivotfillratio,Ba),a.length);m.pivotFillColor=a.join();m.pivotFillAngle=e(c.pivotfillangle,0);m.isRadialGradient="radial"==
|
|
f(c.pivotfilltype,"radial").toLowerCase();m.showPivotBorder=e(c.showpivotborder,0);m.pivotBorderThickness=e(c.pivotborderthickness,1);m.pivotBorderColor=t(f(c.pivotbordercolor,b.getColor("pivotBorderColor")),1==m.showPivotBorder?f(c.pivotborderalpha,Oa):Ba);d.dataLabels=d.dataLabels||{};a=(a=fa(c.valuebordercolor,F))?t(a,e(c.valueborderalpha,c.valuealpha,100)):F;d=d.dataLabels.style={fontFamily:f(c.valuefont,d.style.inCanfontFamily),fontSize:f(c.valuefontsize,parseInt(d.style.inCanfontSize,10))+"px",
|
|
color:t(f(c.valuefontcolor,d.style.inCancolor),e(c.valuefontalpha,c.valuealpha,100)),fontWeight:e(c.valuefontbold)?"bold":"normal",fontStyle:e(c.valuefontitalic)?"italic":"normal",border:a||c.valuebgcolor?e(c.valueborderthickness,1)+"px solid":void 0,borderColor:a,borderThickness:e(c.valueborderthickness,1),borderPadding:e(c.valueborderpadding,2),borderRadius:e(c.valueborderradius,0),backgroundColor:c.valuebgcolor?t(c.valuebgcolor,e(c.valuebgalpha,c.valuealpha,100)):F,borderDash:e(c.valueborderdashed,
|
|
0)?ma(e(c.valueborderdashlen,4),e(c.valueborderdashgap,2),e(c.valueborderthickness,1)):""};Za(d)},draw:function(a){var d=this,b=d.chart,c=d.idMap,k=b.config,g=b.jsonData.chart,h=d.components.data,l=d.config,m=d.graphics,n=b.components,q=n.numberFormatter,p=n.paper,A=n.colorManager,s=Number(l.gaugeOriginX),w=Number(l.gaugeOriginY),u=l.gaugeStartAngle,y=l.gaugeEndAngle,z=l.showShadow,v=k.showtooltip,B=n.scale.config.axisRange,C=B.min,G=B.max,x=m.pointGroup,H=m.dataLabelGroup,D=G-C,M=y-u,P=D/M,W,S=e(g.showhovereffect),
|
|
L=d.showValue=e(g.showvalue,g.showrealtimevalue,0),K=0,J=k.dataLabels.style,T={fontFamily:J.fontFamily,fontSize:J.fontSize,lineHeight:J.lineHeight,fontWeight:J.fontWeight,fontStyle:J.fontStyle},Q=k.scaleFactor,V=e(parseInt(J.lineHeight,10),12),O=l.valueBelowPivot,R=b.get("config","animationObj"),U=R.duration,Z=R.dummyObj,ja=R.animObj,Y=R.animType,ba=0,fa=0,ha,ga,ia,X,la,ka,ma,pa,ra,sa,ua,wa=h&&h.length,Ba,Aa,Ha,Ia={pageX:0,pageY:0},La=xa(u,y),Ka=Ib(b.linkedItems.container),Oa=function(a,c){var d=
|
|
h[this.pos],e=d.config||{};if(d.editMode){s=Number(l.gaugeOriginX);w=Number(l.gaugeOriginY);var f;f=[s,w];f=eb(c-f[1]-Ka.top,a-f[0]-Ka.left);k.rotationStartAngle=f;e.dragStartY=d.value;Ha=b._getDataJSON()}},Qa=function(){var a=h[this.pos],c=b.chartInstance,d;if(a.editMode){(d=c&&c.jsVars)&&(d._rtLastUpdatedData=b._getDataJSON());ca.raiseEvent("RealTimeUpdateComplete",{data:"&value="+a.updatedValStr,updateObject:{values:[a.updatedValStr]},prevData:Ha.values,source:"editMode",url:null},c);try{Fa.FC_ChartUpdated&&
|
|
Fa.FC_ChartUpdated(c.id)}catch(e){setTimeout(function(){throw e;},1)}}},Ca=function(a,b,c,e,f){a=h[this.pos];b=nb&&(nb&&f.sourceEvent&&f.sourceEvent.touches&&f.sourceEvent.touches[0]||f)||Ia;var g,m;if(a.editMode){k.fromDrag=!0;s=Number(l.gaugeOriginX);w=Number(l.gaugeOriginY);C=B.min;G=B.max;u=l.gaugeStartAngle;y=l.gaugeEndAngle;D=G-C;M=y-u;P=D/M;g=[s,w];c=eb(e-g[1]-Ka.top,c-g[0]-Ka.left);c=k.rotationStartAngle-c;e=0>c?mb+c:c-mb;c=a.config.dragStartY-c*P;e=a.config.dragStartY-e*P;(c<C||c>G)&&e>=
|
|
C&&e<=G&&(c=e);c<C?c=Ga(e-G)<Ga(c-C)?G:C:c>G&&(c=Ga(c-G)<Ga(e-C)?G:C);a.config.updatedValStr=c+"";a.config.updatedVal=c;e=[];g=0;for(m=a.config.index;g<m;g+=1)e.push("");e.push({value:c,animation:{duration:0,transposeAnimDuration:0,initAnimDuration:0}});a.config.y!==c&&d.updateData({data:e})&&(a.updatedValStr=e.join("|"),a.dragStartX=s||f.pageX||b.pageX)}},Da,za,va,Ea,Pa,Ma,Na,Sa,Va,Ra,Xa,$a,Ta,gb,Za,db,bb,cb,ab,fb,hb,vb,wb,xb,yb,jb,ob,sb,lb,zb,Eb,kb,Fb,ub,Ab,pb,Gb,qb,Hb,Bb,rb,Cb,tb;Ab=pb=l.pivotRadius;
|
|
void 0===l.dataById&&(l.dataById={});a=a||R;H||(H=m.dataLabelGroup=p.group("datalabels").insertAfter(m.pointGroup));m.pointersPath||(m.pointersPath=[]);m.pointersTpath||(m.pointersTpath=[]);m.dataLabel||(m.dataLabel=[]);Xa=function(a){k.fromDrag?k.fromDrag=!1:ya.call(this,b,a)};wa||(wa=0);for(0!==S&&(S||g.dialborderhovercolor||g.dialborderhoveralpha||0===g.dialborderhoveralpha||g.dialborderhoverthickness||0===g.dialborderhoverthickness||g.dialbghovercolor||g.plotfillhovercolor||g.dialbghoveralpha||
|
|
g.plotfillhoveralpha||0===g.dialbghoveralpha)&&(S=1);K<wa;K+=1){X=h[K];X.config=X.config||{};Ta=X.config;X.config.index=K;c[X.id]={index:K,config:X.config};tb=!1;void 0!==X.id&&(l.dataById[X.id]={index:K,point:X});gb=q.getCleanValue(X.value);ra=e(X.rearextension,0)*Q;Ab=Math.max(Ab,ra*Q);Za=q.dataLabels(gb);db=E(X.displayvalue,Za,F);bb=e(X.showvalue,L);cb=e(E(X.valuey)*Q);Gb=e(E(X.valuex)*Q);f(X.tooltext,X.hovertext);Ta.itemValue=gb;Ta.formatedVal=Za;bb&&ea(cb);ab=(ab=E(aa(f(X.tooltext,X.hovertext))))?
|
|
da(ab,[1,2],{formattedValue:Za},X,g):db;fb=f(X.color,X.bgcolor,A.getColor("dialColor"));hb=e(X.alpha,X.bgalpha,100);vb=N({FCcolor:{color:fb,alpha:hb,angle:90}});wb=f(X.bordercolor,A.getColor("dialBorderColor"));xb=e(X.borderalpha,100);yb=t(wb,xb);jb=e(X.borderthickness,1);la=e(X.radius)*Q;ka=e(e(X.basewidth*Q,1.6*pb));ma=e(X.topwidth,0)*Q;pa=e(X.baseradius,0);W=e(X.editmode,g.editmode,0);Da=f(X.link,F);qb=ab;Ta.toolText=qb;Hb=f(db,F);db=bb?f(db," "):F;ob=e(X.showhovereffect,S);if(0!==ob&&(ob||X.borderhovercolor||
|
|
X.borderhoveralpha||0===X.borderhoveralpha||X.borderhoverthickness||0===X.borderhoverthickness||X.bghovercolor||X.bghoveralpha||0===X.bghoveralpha)){ob=!0;ia={};ga={};sb=f(X.borderhovercolor,g.dialborderhovercolor,"{dark-10}");lb=e(X.borderhoveralpha,g.dialborderhoveralpha,xb);if(zb=e(X.borderhoverthickness,g.dialborderhoverthickness,jb))ia.stroke=yb,Eb=/\{/.test(sb),ga.stroke=t(Eb?A.parseColorMix(wb,sb)[0]:sb,lb);zb!==jb&&(ga["stroke-width"]=zb,ia["stroke-width"]=jb);kb=f(X.bghovercolor,g.dialbghovercolor,
|
|
g.plotfillhovercolor,"{dark-10}");Fb=e(X.bghoveralpha,g.dialbghoveralpha,g.plotfillhoveralpha,hb);ia.fill=vb;kb=(ub=/\{/.test(kb))?A.parseColorMix(fb,kb).join():kb;ha={FCcolor:{color:kb,alpha:Fb,angle:90}};ga.fill=N(ha)}va=X.rolloverProperties={enabled:ob,hasHoverSizeChange:void 0,hoverRadius:e(Pa*Q),baseHoverWidth:e(Ma*Q,1.6*pb),topHoverWidth:e(Sa*Q),rearHoverExtension:e(Ra*Q),hoverFill:ha,hoverAttr:ga,outAttr:ia};la=e(la,(Number(l.gaugeOuterRadius)+Number(l.gaugeInnerRadius))/2);sa=ka/2;ua=ma/2;
|
|
X.tooltipPos=[s,w];Da=X.editMode?void 0:X.link;Ea=["M",la,-ua,"L",la,ua,-ra,sa,-ra,-sa,"Z"];va.hasHoverSizeChange&&(va.outAttr.path=Ea,Pa=e(va.hoverRadius,la),Ma=va.baseHoverWidth,Na=Ma/2,Sa=va.topHoverWidth,Va=Sa/2,Ra=va.rearHoverExtension,va.hoverAttr.path=["M",Pa,-Va,"L",Pa,Va,-Ra,Na,-Ra,-Na,"Z"]);za={link:X.link,value:gb,displayValue:Hb,toolText:qb};m.pointersTpath[K]?ma?(m.pointersPath[K].animateWith(Z,ja,{path:Ea},U,Y),m.pointersTpath[K]._attr({trianglepath:[0,0,0,0,0,0,0,0,0]})):(m.pointersTpath[K].animateWith(Z,
|
|
ja,{trianglepath:[la,ua,-ra,sa,-ra,-sa,0,pa,pa]},U,Y),m.pointersPath[K]._attr({path:"M00"})):(ma?(m.pointersPath[K]=p.path(Ea,x),m.pointersTpath[K]=p.trianglepath(0,0,0,0,0,0,0,0,0,x)):(m.pointersPath[K]=p.path(["M",0,0],x),m.pointersTpath[K]=p.trianglepath(la,ua,-ra,sa,-ra,-sa,0,pa,pa,x)),tb=!0);Aa=ma?m.pointersPath[K]:m.pointersTpath[K];m.pointersPath[K]._attr||(m.pointersPath[K]._attr=m.pointersPath[K].attr,m.pointersPath[K].attr=La);m.pointersTpath[K]._attr||(m.pointersTpath[K]._attr=m.pointersTpath[K].attr,
|
|
m.pointersTpath[K].attr=La);Aa._attr({fill:vb,stroke:yb,ishot:!0,"stroke-width":jb}).data("eventArgs",za);(ka||ma||jb)&&Aa.shadow({apply:z});Aa._Attr={tooltipPos:X.tooltipPos,cx:s,cy:w,toolTipRadius:la-ra,color:X.color};tb&&(Ba=u/Ya,Aa.attr({angle:Ba}));X.index=K;X.editMode=W;Aa.css({cursor:W||Da?"pointer":"default",_cursor:W?"hand":"default"}).attr({ishot:W?!0:!1});tb&&(m.pointersPath[K].drag(Ca,Oa,Qa,{pos:K},{pos:K},{pos:K}).click(Xa),m.pointersTpath[K].drag(Ca,Oa,Qa,{pos:K},{pos:K},{pos:K}).click(Xa));
|
|
Ta.y=gb;gb>=C&&gb<=G&&($a=(gb-C)/D*M,Ba=(u+$a)/Ya,Aa.attr({angle:Ba},null,a),v&&""!==qb?(Aa.tooltip(qb),Aa.trackTooltip(!0)):Aa.trackTooltip(!1));fa+=1;ea(db)&&db!==F&&(Bb=w+(O?V/2+pb+2:-(V/2)-pb-2),rb=cb,Cb=e(Gb,s),ea(rb)||(rb=O?Bb+V*ba:Bb-V*ba),m.dataLabel[K]?(m.dataLabel[K].attr({text:db,title:X.originalText||"",fill:J.color,"text-bound":[J.backgroundColor,J.borderColor,J.borderThickness,J.borderPadding,J.borderRadius,J.borderDash]}).css(T).tooltip(X.originalText),m.dataLabel[K].animateWith(Z,
|
|
ja,{x:Cb,y:rb},U,Y)):m.dataLabel[K]=p.text(H).attr({x:Cb,y:rb,text:db,direction:k.textDirection,fill:J.color,"text-bound":[J.backgroundColor,J.borderColor,J.borderThickness,J.borderPadding,J.borderRadius,J.borderDash]}).css(T).tooltip(X.originalText),ba+=1)}K=fa;for(wa=m.pointersPath.length;K<wa;K+=1)m.pointersPath[K].attr({path:["M",0,0]}),m.pointersTpath[K].attr({trianglepath:[0,0,0,0,0,0,0,0,0]});K=ba;for(wa=m.dataLabel.length;K<wa;K+=1)m.dataLabel[K].attr({text:"","text-bound":[]})},updateData:function(a){if(a===
|
|
this.lastUpdatedObj)return!1;var d=this.chart,b=this.components.data,c,f=this.components.data,f=f&&f.length||0,g,h;a=a.data;if(f){for(;f--;)if(c=a[f])h=c.animation||d.get("config","animationObj"),g=c.value,c=c.label,b[f].value=e(g,b[f].value,0),b[f].displayvalue=c;this.lastUpdatedObj=a;this.draw(h);return!0}}},"hlineargauge"]);n("bulb",{showRTvalue:!1,canvasPadding:!1,friendlyName:"Bulb Gauge",defaultSeriesType:"bulb",defaultPlotShadow:1,standaloneInit:!0,drawAnnotations:!0,charttopmargin:10,chartrightmargin:10,
|
|
chartbottommargin:10,chartleftmargin:10,realtimeEnabled:!0,isRealTime:!0,defaultDatasetType:"bulb",applicableDSList:{bulb:!0},creditLabel:ra,_createDatasets:function(){var a=this.components,d;d=this.defaultDatasetType;var b=[],c;b.push({value:this.jsonData.value});c={data:b};this.config.categories=b;a=a.dataset||(a.dataset=[]);d&&(d=FusionCharts.get("component",["dataset",d]))&&(a[0]?(d=a[0].JSONData,d=d.data.length,b=c.data.length,d>b&&a[0].removeData(b-1,d-b,!1),a[0].JSONData=c,a[0].configure()):
|
|
(d=new d,a.push(d),d.chart=this,d.init(c)))},_drawCanvas:function(){},_spaceManager:function(){var a,d=this.hasLegend;a=this.config;var b=this.components,c=b.legend,b=b.dataset[0],f=b.config,g=this.jsonData.chart,h=e(g.showborder,this.is3D?0:1),l,m,n=a.minChartWidth,q=a.minChartHeight,g=a.borderWidth=h?e(g.borderthickness,1):0;f.scaleFactor=f.autoScale?this._getScaleFactor(f.origW,f.origH,a.width,a.height):1;a.canvasWidth-2*g<n&&(m=(a.canvasWidth-n)/2);a.canvasHeight-2*g<q&&(l=(a.canvasHeight-q)/
|
|
2);this._allocateSpace({top:l||g,bottom:l||g,left:m||g,right:m||g});a=.225*a.canvasHeight;!1!==d&&this._allocateSpace(c._manageLegendPosition(a));this._manageChartMenuBar(a);b._manageSpace&&this._allocateSpace(b._manageSpace(a))},_getData:n.vled,_getScaleFactor:n.angulargauge},n.gaugebase);n("progressgauge",{friendlyName:"Progress Gauge",creditLabel:ra,defaultSeriesType:"progressgauge",singleseries:!0,gaugeType:1,standaloneInit:!0,defaultCaptionPadding:5,hasLegend:!0,defaultDatasetType:"progressgauge",
|
|
applicableDSList:{progressgauge:!0},_createDatasets:function(){var a=this.components,d=this.jsonData.data,b;b=this.defaultDatasetType;var c=[];if(d){if(Sa(d,function(a){a.vline||c.push(a)}),d={data:c},this.config.categories=c,a=a.dataset||(a.dataset=[]),b&&(b=FusionCharts.get("component",["dataset",b])))b=new b,a.push(b),b.chart=this,b.init(d)}else this.setChartMessage()},getDataSet:function(a){return this.components.dataset[a]}},n.bulb);FusionCharts.register("component",["dataset","bulb",{pIndex:2,
|
|
customConfigFn:"_createDatasets",_manageSpace:function(a){var d=this.config,b=this.components.data,c=this.chart,f=c.config,g=c.linkedItems.smartLabel,h=f.dataLabelStyle,c=e(parseInt(h.lineHeight,10),12),l=d.valuePadding,m=0,b=(b=b[0])&&b.config;g.useEllipsesOnOverflow(f.useEllipsesWhenOverflow);g.setStyle(h);b&&b.displayValue!==F&&!d.placeValuesInside&&d.showValue&&(f=g.getOriSize(b.displayValue)," "===b.displayValue&&(f={height:c}),0<f.height&&(m=f.height+l),m>a&&(m=a));d.heightUsed=m;return{top:0,
|
|
bottom:m}},configure:function(){var a=this.chart,d=this.config,b=a.config,c=a.jsonData.chart;e(c.is3d,1);e(c.showtooltip,1);e(c.is3d,1);d.autoScale=e(c.autoscale,1);d.origW=e(c.origw,d.autoScale?a.origRenderWidth:b.width||a.origRenderWidth);d.origH=e(c.origh,d.autoScale?a.origRenderHeight:b.height||a.origRenderHeight);d.placeValuesInside=e(c.placevaluesinside,0);d.hasGaugeOriginX=f(c.gaugeoriginx,void 0);d.hasGaugeOriginY=f(c.gaugeoriginy,void 0);d.hasGaugeRadius=f(c.gaugeradius,void 0);d.gaugeOriginX=
|
|
e(c.gaugeoriginx,0);d.gaugeOriginY=e(c.gaugeoriginy,0);d.gaugeRadius=e(c.gaugeradius,0);d.valuePadding=e(c.valuepadding,2);d.showGaugeBorder=e(c.showgaugeborder,0);d.showHoverEffect=e(c.showhovereffect);e(c.showtooltip,1);d.setToolText=E(aa(f(c.plottooltext,void 0)));d.useColorNameAsValue=e(c.usecolornameasvalue,0);d.enableAnimation=a=e(c.animation,c.defaultanimation,1);d.animation=a?{duration:1E3*e(c.animationduration,1)}:!1;d.showValue=e(c.showvalue,1);this._setConfigure()},_setConfigure:function(a){var d=
|
|
this.chart,b=this.config,c=this.JSONData,k=a||c.data,n=k&&k.length,n=a&&a.data.length||n,h=d.jsonData.chart,r=d.components.colorManager,m=e(h.showtooltip,1),q=g.parseUnsafeString;q(f(h.tooltipsepchar,", "));var A=g.parseTooltext,p,y,s=b.showHoverEffect,w=this.components.data,u,F,z,v=e(h.is3d,1),B,C=d.components.numberFormatter,G,x,H,D,M,W,Z,S,L,K,J,T,Q,V,O,R=function(a,b,c){return c?{FCcolor:{cx:.4,cy:.4,r:"80%",color:P(a,65)+l+P(a,75)+l+ha(a,65),alpha:b+l+b+l+b,ratio:"0,30,70",radialGradient:!0}}:
|
|
t(a,b)},U;w||(w=this.components.data=[]);for(B=0;B<n;B++)u=a?a&&a.data[B]:k[B],F=(p=w[B])&&p.config,p||(p=w[B]={}),p.config||(F=w[B].config={}),F.setValue=p=C.getCleanValue(u.value)||0,p=C.dataLabels(p),z=E(q(u.displayvalue)),F.colorRangeGetter=G=d.components.colorRange,x=G.getColorObj(F.setValue),x=x.colorObj||x.prevObj||x.nextObj,H=e(h.gaugefillalpha,x.alpha,100),G=q(f(x.label,x.name)),y=f(x.bordercolor,h.gaugebordercolor,ha(x.code,70)),D=e(x.borderalpha,h.gaugeborderalpha,"90")*H/100,y=(M=/\{/.test(y))?
|
|
r.parseColorMix(f(x.bordercolor,x.code),y)[0]:y,F.gaugeBorderColor=Z=t(y,D),F.gaugeBorderThickness=S=b.showGaugeBorder?e(h.gaugeborderthickness,1):0,F.fillColor=W=R(x.code,H,v),0!==s&&(s||h.gaugefillhovercolor||h.plotfillhovercolor||h.gaugefillhoveralpha||h.plotfillhoveralpha||0===h.gaugefillhoveralpha||h.is3donhover||0===h.is3donhover||h.showgaugeborderonhover||0===h.showgaugeborderonhover||h.gaugeborderhovercolor||h.gaugeborderhoveralpha||0===h.gaugeborderhoveralpha||h.gaugeborderhoverthickness||
|
|
0===h.gaugeborderhoverthickness)&&(s=!0,L=f(h.gaugefillhovercolor,h.plotfillhovercolor,"{dark-10}"),K=e(h.gaugefillhoveralpha,h.plotfillhoveralpha),J=e(h.showgaugeborderonhover),void 0===J&&(J=h.gaugeborderhovercolor||h.gaugeborderhoveralpha||0===h.gaugeborderhoveralpha||h.gaugeborderhoverthickness||0===h.gaugeborderhoverthickness?1:b.showGaugeBorder),T=f(h.gaugeborderhovercolor,"{dark-10}"),Q=e(h.gaugeborderhoveralpha),V=J?e(h.gaugeborderhoverthickness,S||1):0,O=!!e(h.is3donhover,v),e(h.showhoveranimation,
|
|
1),J={},U={},S!==V&&(J["stroke-width"]=V,U["stroke-width"]=S),U.fill=N(W),L=(W=/\{/.test(L))?r.parseColorMix(x.code,L)[0]:f(L,x.code),J.fill=N(R(L,e(K,H),O)),V&&(U.stroke=Z,x=/\{/.test(T),J.stroke=t(x?r.parseColorMix(M?L:y,T)[0]:T,e(Q,D)))),F.setTooltext=g.getValidValue(q(f(u.tooltext,c.plottooltext,h.plottooltext))),y=m?void 0!==F.setTooltext?A(F.setTooltext,[1,2],{formattedValue:p},u,h):b.useColorNameAsValue?G:null===p?!1:p:!1,u=void 0!==z?z:u.label||(b.useColorNameAsValue?G:p),F.toolText=y,F.displayValue=
|
|
u,F.rolloverProperties={enabled:s,hoverAttr:J,hoverAnimAttr:void 0,outAttr:U}},init:function(a){var d=this.chart;if(!a)return!1;this.JSONData=a;this.chartGraphics=d.chartGraphics;this.components={};this.graphics={};this.visible=!0;this.configure()},updateData:function(a,d,b){this._setConfigure(a,d);b&&this.draw()},draw:function(){var a=this.components.data,d=this.chart,b=this.config,c=d.get("config","animationObj"),e=c.animType,f=c.animObj,g=c.dummyObj,c=c.duration,l=d.config,m=l.canvasLeft,n=l.canvasTop,
|
|
q=l.canvasHeight,p=l.canvasWidth,t=d.components.paper,s=d.graphics.datasetGroup,w=this.graphics.container,u=this.graphics.trackerContainer,y=d.graphics,z=y.trackerGroup,v=a[0],a=v&&v.config,B=b.gaugeOriginX,C=b.gaugeOriginY,E=b.gaugeRadius,x=b.hasGaugeOriginX,G=b.hasGaugeOriginY,D=b.hasGaugeRadius,H=this.graphics.dataLabelContainer,M=d.config.dataLabelStyle,P=y.datalabelsGroup,S=!1,y={fontFamily:M.fontFamily,fontSize:M.fontSize,lineHeight:M.lineHeight,fontWeight:M.fontWeight,fontStyle:M.fontStyle},
|
|
L=a.rolloverProperties||{},K=function(a){ya.call(this,d,a)},J=function(a){return function(b){a.attr(this.data("setRolloverAttr"));ya.call(this,d,b,"DataPlotRollOver")}},T=function(a){return function(b){a.attr(this.data("setRolloutAttr"));ya.call(this,d,b,"DataPlotRollOut")}};w||(w=this.graphics.container=t.group("bulb",s));u||(u=this.graphics.trackerContainer=t.group("bulb-hot",z));H||(H=this.graphics.dataLabelContainer=t.group("datalabel"));P&&P.appendChild(H);z=a.setValue;s=a.toolText;z={value:z,
|
|
displayValue:a.displayValue,toolText:s};v.graphics||(v.graphics={});B=x?B:m+p/2;x&&(B*=b.scaleFactor);C=G?C:n+q/2;G&&(C*=b.scaleFactor);n=B;m=C;q=D?E:A(p/2,q/2);D&&(q*=b.scaleFactor);l.gaugeStartX=B-q;l.gaugeEndX=B+q;l.gaugeStartY=C-q;l.gaugeEndY=C+q;l.gaugeCenterX=B;l.gaugeCenterY=C;l.gaugeRadius=q;l={cx:n,cy:m,r:.001,"stroke-linecap":"round",stroke:N(a.gaugeBorderColor),"stroke-width":a.gaugeBorderThickness,fill:N(a.fillColor),ishot:!0};(p=v.graphics.element)?(v.graphics.element.animateWith(g,f,
|
|
{cx:n,cy:m,r:q},c,e),p=v.graphics.element.attr({"stroke-linecap":"round",stroke:N(a.gaugeBorderColor),"stroke-width":a.gaugeBorderThickness,fill:N(a.fillColor),ishot:!0})):(p=v.graphics.element=t.circle(l,w),p.animateWith(g,f,{r:q},c,e));l={cx:n,cy:m,r:q,cursor:a.setLink?"pointer":"",stroke:ua,"stroke-width":a.plotBorderThickness,fill:ua,ishot:!0,visibility:"visible"};(w=v.graphics.hotElement)?w=v.graphics.hotElement.attr(l):(w=v.graphics.hotElement=t.circle(l,u),S=!0);w.data("eventArgs",z).data("setRolloverAttr",
|
|
L.hoverAttr).data("setRolloutAttr",L.outAttr).tooltip(s);S&&w.click(K).hover(J(p),T(p));u=v.graphics;b.placeValuesInside?(w=m,v=Ka):(w=m+q+b.valuePadding,v=bb);a.setValue!==F&&b.showValue?(l={text:a.displayValue,"text-anchor":"middle",x:B,y:w,"vertical-align":v,fill:M.color,direction:a.textDirection,"text-bound":[M.backgroundColor,M.borderColor,M.borderThickness,M.borderPadding,M.borderRadius,M.borderDash]},u.label?(u.label.show(),u.label.animateWith(g,f,{x:B,y:w},c,e),u.label.attr({text:a.displayValue,
|
|
"text-anchor":"middle","vertical-align":v,fill:M.color,direction:a.textDirection,"text-bound":[M.backgroundColor,M.borderColor,M.borderThickness,M.borderPadding,M.borderRadius,M.borderDash]})):u.label=t.text(l,H),u.label.css(y).tooltip(s)):u.label&&u.label.hide()&&u.label.attr({"text-bound":[]})},addData:function(){},removeData:function(){}}]);FusionCharts.register("component",["dataset","progressgauge",{type:"doughnut2d",configure:function(){var a=this.chart,d=this.config,b=this.JSONData,c=a.config,
|
|
k=a.jsonData.chart,l=a.components.colorManager,h,n=d.plotColor=l.getPlotColor(this.index||this.positionIndex),m=e(b.dashed,k.plotborderdashed);e(k.useplotgradientcolor,1);var q,t,p,y=g.getDashStyle,s=a.isBar,w=a.is3D,u=a.isStacked,A={},A=A.dataObj||(A.dataObj={}),A=A.chart||(A.chart={});d.showLegend=e(k.showlegend,0);d.legendSymbolColor=d.plotColor;h=d.showplotborder=e(k.showplotborder,w?0:1);d.plotDashLen=q=e(k.plotborderdashlen,5);d.plotDashGap=t=e(k.plotborderdashgap,4);d.plotfillAngle=e(360-k.plotfillangle,
|
|
s?180:90);d.plotFillAlpha=p=f(b.alpha,k.plotfillalpha,"70");d.plotColor=f(b.color,n);d.isRoundEdges=n=e(k.useroundedges,0);d.plotRadius=e(k.useRoundEdges,d.isRoundEdges?1:0);d.plotFillRatio=f(b.ratio,k.plotfillratio);d.plotgradientcolor=g.getDefinedColor(k.plotgradientcolor,l.getColor("plotGradientColor"));d.plotBorderAlpha=h?f(k.plotborderalpha,p,Oa):0;d.plotBorderColor=f(k.plotbordercolor,w?"#ffffff":l.getColor("plotBorderColor"));d.plotBorderThickness=h=e(k.plotborderthickness,1);d.plotBorderDashStyle=
|
|
m?y(q,t,h):"none";d.showValues=e(b.showvalues,k.showvalues,1);d.valuePadding=e(k.valuepadding,2);d.enableAnimation=m=e(k.animation,k.defaultanimation,1);d.animation=m?{duration:1E3*e(k.animationduration,1)}:!1;A.transposeAnimation=d.transposeAnimation=e(k.transposeanimation,A.transposeAnimation,m);d.transposeAnimDuration=700*e(k.transposeanimduration,1);d.showShadow=n||w?e(k.showshadow,1):e(k.showshadow,l.getColor("showShadow"));d.showHoverEffect=e(k.plothovereffect,k.showhovereffect,void 0);d.showTooltip=
|
|
e(k.showtooltip,1);d.stack100Percent=a=e(a.stack100percent,k.stack100percent,0);d.definedGroupPadding=M(e(k.plotspacepercent),0);d.plotSpacePercent=M(e(k.plotspacepercent,20)%100,0);d.maxColWidth=e(s?k.maxbarheight:k.maxcolwidth,50);d.showPercentValues=e(k.showpercentvalues,u&&a?1:0);d.showPercentInToolTip=e(k.showpercentintooltip,u&&a?1:0);d.plotPaddingPercent=e(k.plotpaddingpercent);d.rotateValues=e(k.rotatevalues)?270:0;d.placeValuesInside=e(k.placevaluesinside,0);d.zeroPlaneColor=c.zeroPlaneColor;
|
|
d.zeroPlaneBorderColor=c.zeroPlaneBorderColor;d.zeroPlaneShowBorder=c.zeroPlaneShowBorder;d.use3DLighting=e(k.use3dlighting,1);d.parentYAxis="s"===f(b.parentyaxis&&b.parentyaxis.toLowerCase(),"p")?1:0;this._setConfigure()},_setConfigure:function(a,d){var b=this.chart,c=this.config,k=this.JSONData,l=a||k.data,h=l&&l.length,n=b.config.categories,m=b.singleseries,n=n&&n.length,h=a&&a.data.length||A(n,h),n=b.jsonData.chart,q=b.components.colorManager,t=c.showPlotBorder,p=c.plotColor=q.getPlotColor(this.index||
|
|
this.positionIndex),y=e(n.showtooltip,1),s=g.parseUnsafeString,w=s(n.yaxisname),u=s(n.xaxisname),F=s(f(n.tooltipsepchar,", ")),z=e(n.seriesnameintooltip,1),v=g.parseTooltext,B,C,G,x,H,D,W,Z=c.plotBorderThickness,aa=c.isRoundEdges,S=c.showHoverEffect,L=c.plotFillAngle,K,J,T,Q=c.plotBorderDashStyle,V,O,R,U,ba,da,Y,ea,ga,ha=g.getDashStyle,ca=this.components.data,ia=b.isBar,X=b.is3D,la,ka=c.maxValue||-Infinity,ma=c.minValue||Infinity,pa=this.chart.components.numberFormatter,ra;ca||(ca=this.components.data=
|
|
[]);for(la=0;la<h;la++)a?(D=a&&a.data[la],ra=void 0!==d?d+la:ca.length-h+la,C=ca[ra]):(C=ca[la],D=l[la]),b=C&&C.config,C||(C=ca[la]={}),C.config||(b=ca[la].config={}),b.visible=e(D.visible,!0),b.showValue=e(D.showvalue,c.showValues),b.setValue=C=pa.getCleanValue(D.value),b.setLink=f(D.link),b.toolTipValue=p=pa.dataLabels(C,c.parentYAxis),b.setDisplayValue=x=s(D.displayvalue),b.displayValue=f(x,p),p=e(D.dashed),x=e(D.dashlen,void 0),B=W=e(D.dashgap,W),ka=M(ka,C),ma=A(ma,C),b.plotBorderDashStyle=x=
|
|
1===p?ha(x,B,Z):0===p?"none":Q,m?(p=q.getPlotColor(isNaN(ra)?la:ra),p=f(D.color,p),J=f(D.ratio,c.plotFillRatio)):p=f(D.color,c.plotColor),K=f(D.alpha,c.plotFillAlpha),T=f(D.alpha,c.plotBorderAlpha,K).toString(),b.plotColor=p,b.plotFillAlpha=f(D.alpha,c.plotFillAlpha),b.plotBackgroundFillAlpha=e(D.plotbackgroundfillalpha,n.plotbackgroundfillalpha,30),0>C&&!aa&&(H=L,L=ia?180-L:360-L),b.colorArr=B=g.graphics.getColumnColor(p,K,J,L,aa,c.plotBorderColor,T,ia?1:0,X?!0:!1),C=E(s(f(D.tooltext,D.label))),
|
|
0!==S&&(V=f(D.hovercolor,k.hovercolor,n.plotfillhovercolor,n.columnhovercolor,p),O=f(D.hoveralpha,k.hoveralpha,n.plotfillhoveralpha,n.columnhoveralpha,K),R=f(D.hovergradientcolor,k.hovergradientcolor,n.plothovergradientcolor,c.plotgradientcolor),!R&&(R=""),U=f(D.hoverratio,k.hoverratio,n.plothoverratio,J),ba=e(360-D.hoverangle,360-k.hoverangle,360-n.plothoverangle,L),da=f(D.borderhovercolor,k.borderhovercolor,n.plotborderhovercolor,c.plotBorderColor),T=f(D.borderhoveralpha,k.borderhoveralpha,n.plotborderhoveralpha,
|
|
T,K),K=e(D.borderhoverthickness,k.borderhoverthickness,n.plotborderhoverthickness,Z),Y=e(D.borderhoverdashed,k.borderhoverdashed,n.plotborderhoverdashed),ea=e(D.borderhoverdashgap,k.borderhoverdashgap,n.plotborderhoverdashgap,void 0),ga=e(D.borderhoverdashlen,k.borderhoverdashlen,n.plotborderhoverdashlen,W),Y=Y?ha(ga,ea,K):x,1==S&&V===p&&(V=P(V,70)),p=g.graphics.getColumnColor(V+","+R,O,U,ba,aa,da,T.toString(),ia?1:0,X?!0:!1),b.setRolloutAttr={fill:X?[N(B[0]),!c.use3DLighting]:N(B[0]),stroke:t&&N(B[1]),
|
|
"stroke-width":Z,"stroke-dasharray":x},b.setRolloverAttr={fill:X?[N(p[0]),!c.use3DLighting]:N(p[0]),stroke:t&&N(p[1]),"stroke-width":K,"stroke-dasharray":Y}),B=b.toolTipValue,p=E(s(f(D.tooltext,k.plottooltext,n.plottooltext))),y?null===B?D=!1:void 0!==p?(x=[1,2,3,4,5,6,7],C={yaxisName:w,xaxisName:u,formattedValue:B,label:C},D=v(p,x,C,D,n,k)):(z&&(G=fa(k&&k.seriesname)),D=G?G+F:"",D+=C?C+F:""):D=!1,b.toolText=D,b.setTooltext=D,H&&(L=H),ra++;c.maxValue=ka;c.minValue=ma},init:function(a){var d=this.chart;
|
|
if(!a)return!1;this.JSONData=a;this.chartGraphics=d.chartGraphics;this.components={};this.graphics={};this.visible=1===e(this.JSONData.visible,!Number(this.JSONData.initiallyhidden),1);this.configure();this.config.showLegend&&this._addLegend()},_addLegend:function(){var a=this.chart,d=a.jsonData.chart,b=this.JSONData.data,c,f,g,h=this.components.data,l;for(f=0;f<h.length;f+=1)g=h[f],c=g.config,l=b[f].label?b[f].label:"Type "+(f+1),g={FCcolor:{color:c.plotColor,angle:0,ratio:"0",alpha:"100"}},c=P(c.plotColor,
|
|
60).replace(Qa,ab),a.components.legend.addItems(this,this.legendInteractivity,{type:this.type,fillColor:N(g),strokeColor:N(c),enabled:e(d.includeinlegend,1),label:l,index:f})},legendInteractivity:function(a,d){var b=a.components.data[d.configuration.index],c=a.config,e=b.graphics,f=b.config.visible,g=this.config,l=d.config,m=d.graphics,n=g.itemHiddenStyle.color,g=g.itemStyle.color,q=l.fillColor,l=l.strokeColor;b.config.visible=f?0:1;f?(c.animation.duration&&c.transposeAnimation||(e.gaugeBackground.hide(),
|
|
e.gaugeMeter.hide(),e.hotElement.hide()),m.legendItemSymbol&&m.legendItemSymbol.attr({fill:n,stroke:n}),m.legendItemText&&m.legendItemText.attr({fill:t(n)}),m.legendIconLine&&m.legendIconLine.attr({stroke:n})):(e.gaugeBackground.show(),e.gaugeMeter.show(),e.hotElement.show(),m.legendItemSymbol&&m.legendItemSymbol.attr({fill:q,stroke:l}),m.legendItemText&&m.legendItemText.attr({fill:t(g)}),m.legendIconLine&&m.legendIconLine.attr({stroke:q}));a.draw()},draw:function(){var a=this,d=a.JSONData,b=a.config,
|
|
c=a.chart.jsonData.chart,e=a.components.data,g=a.components.data,h=a.chart,l=h.components.paper,m=h.config,n=m.canvasLeft,q=m.canvasTop,p=m.canvasHeight,y=m.canvasWidth,s=h.graphics.datasetGroup,m=a.graphics.gaugeBackgroundContainer,w=a.graphics.gaugeMeterContainer,u=a.graphics.trackerContainer,F=h.graphics.trackerGroup,z=a.components.data.length||0,v,B,C,G,x,H,D,M,P,W,S,L=b.animation.duration,K=b.transposeAnimation,b=b.transposeAnimDuration;H=0;var J=function(){var b=a.components.data,c,d=a.components.data.length,
|
|
e;for(v=0;v<d;v++)c=b[v].config,e=b[v].graphics,c.visible||e.hotElement.hide()};m||(m=a.graphics.gaugeBackgroundContainer=l.group("gauge-background",s));w||(w=a.graphics.gaugeMeterContainer=l.group("gauge-meter",s));u||(u=a.graphics.trackerContainer=l.group("meter-hot",F));for(v=0;v<z;v++)B=e[v],C=(s=g[v])&&s.config,C.visible&&(H+=1);s=A(p/2,y/2);h=F=.2*A(h.config.canvasWidth,h.config.canvasHeight);H=(s-H-h)/H;n+=.5*y;q+=.5*p;for(v=0;v<z;v++)if(B=e[v],C=(s=g[v])&&s.config,(y=C.visible)||L)s.graphics||
|
|
(g[v].graphics={}),G=C.setValue,p=C.setLink,B=E(aa(f(B.tooltext,d.plottooltext,c.plottooltext))),B=C.toolText+(B?"":C.toolTipValue),x=C.colorArr,S=v,W={index:v,link:p,value:G,displayValue:C.displayValue,toolText:B,id:"",datasetIndex:a.datasetIndex,datasetName:d.seriesname,dataSet:a,visible:"visible",cx:n,cy:q,radius:F},D=h,M=h+H,P=6.283,s.graphics.gaugeBackground?(C={ringpath:[n,q,D,M,0,P],fill:t(C.plotColor,C.plotBackgroundFillAlpha),"stroke-width":0},K?(C=y?[n,q,D,M,0,P]:[n,q,D,D,0,P],s.graphics.gaugeBackground.animate({ringpath:C},
|
|
b,"easeIn")):s.graphics.gaugeBackground.attr(C)):s.graphics.gaugeBackground=l.ringpath(n,q,D,M,0,P,m).attr({fill:t(C.plotColor,C.plotBackgroundFillAlpha),"stroke-width":0}),P=A(3.6*G,359.99),D=[n,q,h+H/2,A(3.6*G,359.99)],L&&(P=0),s.graphics.gaugeMeter?(C={arcpath:D,stroke:N(x[0]),"stroke-width":H,"stroke-linecap":"round"},K?y?s.graphics.gaugeMeter.animate({arcpath:D,"stroke-width":H},b,"easeIn",J):(D=[n,q,h,0],s.graphics.gaugeMeter.animate({arcpath:D,"stroke-width":0},b,"easeIn",J)):s.graphics.gaugeMeter.attr(C)):
|
|
(s.graphics.gaugeMeter=l.arcpath(n,q,h+H/2,P,w).attr({stroke:N(x[0]),"stroke-width":H,"stroke-linecap":"round"}),L&&s.graphics.gaugeMeter.animate({arcpath:D},L,"easeIn")),C={arcpath:D,cursor:p?"pointer":"",stroke:ua,"stroke-width":H,"stroke-linecap":"round",ishot:!0},s.graphics.hotElement?s.graphics.hotElement.attr(C):(C=s.graphics.hotElement=l.arcpath(n,q,h+H/2,A(3.6*G,359.99),u),s.graphics.hotElement.attr({cursor:p?"pointer":"",stroke:ua,"stroke-width":H,"stroke-linecap":"round",ishot:!0})),C=s.graphics.hotElement,
|
|
C.data("eventArgs",W).data("groupId",S).hover(a._plotRollOver,a._plotRollOut).tooltip(B),y&&(h+=H+1)},_drawDoughnutCenterLabel:function(a,d,b,c,e,f,g,l,m){var n=this.chart;d=this.config;var q=f||d.lastCenterLabelConfig;f=n.components.paper;var p=n.linkedItems.smartLabel;b=this.components.data[m.index];g={fontFamily:"Verdana",fontSize:"12px",lineHeight:1.2*12+"px",fontWeight:"bold",fontStyle:""};c=1.414*(.5*c-2)-4;var t=1.414*(.5*e-2)-4,s=n.graphics.datalabelsGroup;e=this.graphics.dataLabelContainer;
|
|
p.useEllipsesOnOverflow(n.config.useEllipsesWhenOverflow);p.setStyle(g);a=p.getSmartText(a,c,t);e||(e=this.graphics.dataLabelContainer=f.group("datalabel",s));m={x:m.cx,y:m.cy,text:a.text,direction:d.textDirection,opacity:l?0:1,fill:N(b.config.colorArr[0]),"text-bound":q.bgOval?"none":[N({color:q.bgColor,alpha:q.bgAlpha}),N({color:q.borderColor,alpha:q.borderAlpha}),q.borderThickness,q.textPadding,q.borderRadius]};b.graphics.label||(b.graphics.label=f.text(m,e));b.graphics.label.attr(m).css(g);l?
|
|
b.graphics.label.animate({opacity:1},100,"easeIn"):b.graphics.label.animate({opacity:0},100,"easeOut")},_plotRollOver:function(){var a=this.data("eventArgs"),d=2*a.radius;a.dataSet._drawDoughnutCenterLabel(a.toolText,300,196,d,d,a.toolText,!1,!0,a)},_plotRollOut:function(){var a=this.data("eventArgs"),d=2*a.radius;a.dataSet._drawDoughnutCenterLabel(a.toolText,300,196,d,d,a.toolText,!1,!1,a)},updateData:function(a,d,b){var c=this.config,e=c.maxValue,f=c.prevMin,g=this.chart;this._setConfigure(a,d);
|
|
this.setMaxMin();if(c.maxValue!==e||c.minValue!==f)this.maxminFlag=!0;b&&(g._setAxisLimits(),this.draw())},removeData:function(a,d,b){var c=this.components,e=c.data,f=c.removeDataArr||(c.removeDataArr=[]),g=this.config,l=this.maxminFlag;d=d||1;a=a||0;if(a+d===e.length)this.endPosition=!0;else if(0===a||void 0===a)this.endPosition=!1;e[a]&&(e[a].config.visible=0);b&&this.draw();c.removeDataArr=f=f.concat(e.splice(a,d));b=f.length;for(a=0;a<b;a++)if(f[a]){d=f[a].config;if(d.setValue===g.maxValue||d.setValue===
|
|
g.minValue)l=this.maxminFlag=!0;if(l)break}l&&this.setMaxMin()}},"Column"]);n("drawingpad",{standaloneInit:!0,friendlyName:"Drawing Pad",creditLabel:ra,bgColor:"#ffffff",bgAlpha:"100",draw:function(){var a=this.config,d=this.linkedItems.container,b=this.chartInstance,c=this.components,e=c.paper,f=this.get("config","animationObj").transposeAnimDuration,g=c.tooltip;a.width=d.offsetWidth;a.height=d.offsetHeight;this._show();this.config.animationStarted=!0;e?(a={width:d.offsetWidth,height:d.offsetHeight},
|
|
f&&e.animate(a,f,"normal"),e.setDimension(a)):(e=c.paper=new y(d,d.offsetWidth,d.offsetHeight),e.setConfig("stroke-linecap","round"));e.tooltip(g.style,g.config.shadow,g.config.constrain);this._createLayers();this._drawBackground();b.annotations?(this._drawAnnotations(),this._drawCreditLabel()):this.setChartMessage()},_createDatasets:function(){}},n.mscartesian);n("pyramid",{friendlyName:"Pyramid Chart",subTitleFontSizeExtender:0,drawAnnotations:!0,standaloneInit:!0,defaultSeriesType:"pyramid",defaultPlotShadow:1,
|
|
useSortedData:!1,isPyramid:1,creditLabel:ra,rendererId:"pyramid"},n.funnel);n("realtimestackedcolumn",{isStacked:!0},n.realtimecolumn);n("realtimearea",{defaultDatasetType:"realtimearea",axisPaddingLeft:0,axisPaddingRight:0,applicableDSList:{realtimearea:!0}},n.realtimecolumn);n("realtimestackedarea",{defaultDatasetType:"realtimearea",isStacked:!0,applicableDSList:{realtimearea:!0}},n.realtimearea);n("realtimeline",{defaultDatasetType:"realtimeline",axisPaddingLeft:0,axisPaddingRight:0,applicableDSList:{realtimeline:!0}},
|
|
n.realtimecolumn);n("realtimelinedy",{isRealTime:!0,defaultDatasetType:"realtimeline",axisPaddingLeft:0,isDual:!0,axisPaddingRight:0,applicableDSList:{realtimeline:!0},_createAxes:n.msdybasecartesian._createAxes,_setAxisLimits:n.msdybasecartesian._setAxisLimits,_postSpaceManagement:n.msdybasecartesian._postSpaceManagement,_feedAxesRawData:n.msdybasecartesian._feedAxesRawData},n.realtimecolumn)},[3,2,0,"sr2"]]);
|