UNPKG

quoslibero

Version:

FusionCharts JavaScript charting framework

1 lines 6.36 kB
import{extend2,pluck,pluckNumber,toRaphaelColor,getValidValue,convertColor,getLightColor,getColumnColor,parseUnsafeString,parseTooltext,getDashStyle,getDefinedColor}from'../../../../fc-core/src/lib';import ColumnDataset from'../column';import{addDep}from'../../../../fc-core/src/dependency-manager';import paretoAnimation from'./index.animation';let UNDEF,PLOTBORDERCOLOR='plotBorderColor',PLOTGRADIENTCOLOR='plotGradientColor',SHOWSHADOW='showShadow',math=Math,mathMin=math.min,mathMax=math.max,mathAbs=math.abs,HUNDREDSTRING='100';addDep({name:'paretoAnimation',type:'animationRule',extension:paretoAnimation});class ParetoColumnDataset extends ColumnDataset{getType(){return'dataset'}getName(){return'paretoColumn'}configureAttributes(a){if(!a)return!1;this.trimData(a),this.config.JSONData=a;var b,c,d,e,f,g,h,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z,A,B,C,D,E,F,G,H,I,J,K,L,M,N,O,P,Q,R,S,T,U,V,W,X,Y,Z=this,$=Z.getFromEnv('chart'),_=Z.config,aa=Z.getFromEnv('xAxis'),ba=_.JSONData,ca=ba.data,da=ca&&ca.length,ea=da,fa=Z.getFromEnv('chart-attrib'),ga=Z.getFromEnv('color-manager'),ha=Z.index||Z.positionIndex,ia=ga.getPlotColor(ha),ja=pluckNumber(ba.dashed,fa.plotborderdashed),ka=pluckNumber(fa.useplotgradientcolor,1),la=pluckNumber(fa.showtooltip,1),ma=parseUnsafeString(fa.yaxisname),na=parseUnsafeString(fa.xaxisname),oa=Z.components.data,pa=Z.getFromEnv('number-formatter'),qa=$.config.is3D,ra=-Infinity,sa=+Infinity,ta=0,ua=[],va=0,wa=_.tootipSepChar=pluck(fa.tooltipsepchar,', ');for(_.defaultPadding={left:.5,right:.5},_.enableAnimation=P=pluckNumber(fa.animation,fa.defaultanimation,1),_.animation=!!P&&{duration:1e3*pluckNumber(fa.animationduration,1)},_.showTooltip=pluckNumber(fa.showtooltip,1),_.valuePadding=pluckNumber(fa.valuepadding,2),_.rotateValues=pluckNumber(fa.rotatevalues)?270:0,_.showHoverEffect=n=pluckNumber(fa.plothovereffect,fa.showhovereffect,UNDEF),_.showShadow=m||qa?pluckNumber(fa.showshadow,1):pluckNumber(fa.showshadow,ga.getColor(SHOWSHADOW)),_.useDataPlotColorForLabels=Y=pluckNumber(fa.usedataplotcolorforlabels,0),_.use3dlineshift=pluckNumber(fa.use3dlineshift,$.use3dlineshift),b=_.showplotborder=pluckNumber(fa.showplotborder,qa?0:1),_.plotDashLen=j=pluckNumber(fa.plotborderdashlen,5),_.plotDashGap=k=pluckNumber(fa.plotborderdashgap,4),_.plotfillangle=o=pluckNumber(360-fa.plotfillangle,90),_.plotfillalpha=p=pluck(fa.plotfillalpha,HUNDREDSTRING),_.plotColor=ia,_.isRoundEdges=m=pluckNumber(fa.useroundedges,0),_.plotRadius=pluckNumber(fa.useRoundEdges,_.isRoundEdges?1:0),_.plotfillratio=q=pluck(fa.plotfillratio),_.plotgradientcolor=r=getDefinedColor(fa.plotgradientcolor,ga.getColor(PLOTGRADIENTCOLOR)),ka||(r=''),_.plotborderalpha=s=b&&!qa?pluck(fa.plotborderalpha,p,HUNDREDSTRING):0,_.plotbordercolor=t=pluck(fa.plotbordercolor,qa?'#ffffff':ga.getColor(PLOTBORDERCOLOR)),_.plotborderthickness=l=pluckNumber(fa.plotborderthickness,1),_.plotBorderDashStyle=v=ja?getDashStyle(j,k):'none',_.showValues=pluckNumber(fa.showvalues,1),_.definedGroupPadding=mathMax(pluckNumber(fa.plotspacepercent),0),_.plotSpacePercent=mathMax(pluckNumber(fa.plotspacepercent,20)%100,0),_.maxcolwidth=pluckNumber(fa.maxcolwidth,50),_.plotpaddingpercent=pluckNumber(fa.plotpaddingpercent),_.placevaluesinside=pluckNumber(fa.placevaluesinside,0),_.use3dlighting=pluckNumber(fa.use3dlighting,1),_.parentYAxis=0,Z.setState('visible',1===pluckNumber(ba.visible,1)),Z.setState('dirty',!0),oa||(oa=Z.components.data=[]),T=0;T<ea;T++)W=mathAbs(pa.getCleanValue(ca[T].value)),ta+=W,ua[T]=extend2({},ca[T]),ua[T].value=W;for(ua.sort(function(c,a){return a.value-c.value}),_.imageCount=0,T=0;T<ea;T++)(w=ua[T],y=oa[T],y||(y=oa[T]={graphics:{}}),y.config||(z=oa[T].config={}),x=mathAbs(pa.getCleanValue(w.value)),null!==x)&&(z=y&&y.config,X=aa.getLabel(T),z.label=getValidValue(parseUnsafeString(pluck(X.label))),z.showValue=pluckNumber(w.showvalue,_.showValues),z.setValue=x,z.setLink=pluck(w.link),z.setDisplayValue=B=parseUnsafeString(w.displayvalue),va+=z.setValue,U=pa.dataLabels(x),z.shadow={opacity:_.showShadow?p/100:0},Q=pluckNumber(w.dashed),R=pluckNumber(w.dashlen,j),S=k=pluckNumber(w.dashgap,k),z.plotBorderDashStyle=u=1===Q?getDashStyle(R,S):0===Q?'none':v,ia=ga.getPlotColor(T),ia=pluck(w.color,ia),q=pluck(w.ratio,_.plotfillratio),p=pluck(w.alpha,_.plotfillalpha),s=pluck(w.alpha,_.plotborderalpha),0>x&&!m&&(g=o,o=360-o),z.colorArr=A=getColumnColor(ia+','+r,p,q,o,m,t,s.toString(),0,!!qa),0!==n&&(C=pluck(w.hovercolor,fa.plotfillhovercolor,fa.columnhovercolor,ia),D=pluck(w.hoveralpha,fa.plotfillhoveralpha,fa.columnhoveralpha,p),E=pluck(w.hovergradientcolor,fa.plothovergradientcolor,r),!E&&(E=''),F=pluck(w.hoverratio,fa.plothoverratio,q),G=pluckNumber(360-w.hoverangle,360-ba.hoverangle,360-fa.plothoverangle,o),H=pluck(w.borderhovercolor,fa.plotborderhovercolor,t),I=pluck(w.borderhoveralpha,ba.borderhoveralpha,fa.plotborderhoveralpha,fa.plotfillhoveralpha,s,p),J=pluckNumber(w.borderhoverthickness,ba.borderhoverthickness,fa.plotborderhoverthickness,l),K=pluckNumber(w.borderhoverdashed,fa.plotborderhoverdashed),L=pluckNumber(w.borderhoverdashgap,fa.plotborderhoverdashgap,j),M=pluckNumber(w.borderhoverdashlen,fa.plotborderhoverdashlen,k),N=K?getDashStyle(M,L):u,1==n&&C===ia&&(C=getLightColor(C,70)),O=getColumnColor(C+','+E,D,F,G,m,H,I.toString(),0,!!qa),z.setRolloutAttr={fill:qa?[toRaphaelColor(A[0]),!_.use3dlighting]:toRaphaelColor(A[0]),stroke:b&&toRaphaelColor(A[1]),"stroke-width":l,"stroke-dasharray":u},z.setRolloverAttr={fill:qa?[toRaphaelColor(O[0]),!_.use3dlighting]:toRaphaelColor(O[0]),stroke:b&&toRaphaelColor(O[1]),"stroke-width":J,"stroke-dasharray":N}),Y&&aa.updateTicksValues(T,{labelfontcolor:convertColor(ia)}),z.originalPlotColor=ia,z.displayValue=pluck(B,U),e=z.setTooltext=z.origToolText=getValidValue(parseUnsafeString(pluck(w.tooltext,fa.plottooltext))),z.toolTipValue=pa.dataLabels(x,_.parentYAxis),z._x=T,z._y=x,c=z.toolTipValue,ra=mathMax(ra,x),sa=mathMin(sa,x),la?(_.showTooltip?e===UNDEF?h=z.label?z.label+wa:'':(d={formattedValue:c,label:z.label,yaxisName:ma,xaxisName:na,cumulativeValue:va,cumulativeDataValue:pa.dataLabels(va),cumulativePercentValue:V,sum:pa.dataLabels(ta),unformattedSum:ta},f=[1,2,3,5,6,7,20,21,22,23,24,25],h=parseTooltext(e,f,d,w,fa)):h=!1,z.toolText=h):h=!1,z.toolText=h,z.tooltext=e,z.setTooltext=h,g&&(o=g));_.maxValue=ra,_.minValue=sa}}export{ParetoColumnDataset};