quoslibero
Version:
FusionCharts JavaScript charting framework
1 lines • 3.67 kB
JavaScript
import FunnelPyramidBasePoint from'./funnelpyramidbase-point';import{BLANK,preDefStr}from'../../../../../fc-core/src/lib';var UNDEF,POINTER='pointer',POSITION_START=preDefStr.POSITION_START,POSITION_END=preDefStr.POSITION_END,POSITION_MIDDLE=preDefStr.POSITION_MIDDLE,ROLLOVER='DataPlotRollOver',ROLLOUT='DataPlotRollOut',textHAlign={right:POSITION_END,left:POSITION_START,middle:POSITION_MIDDLE,start:POSITION_START,end:POSITION_END,center:POSITION_MIDDLE,undefined:BLANK,BLANK:BLANK};class PyramidPoint extends FunnelPyramidBasePoint{configure(a={}){for(var b in a)this[b]=a[b];this.upperRadiusFactor=0}getType(){return'data'}getName(){return'pyramidpoint'}getModifiedCurrentValue(a){return a+this.y/2}getRatioK(a,b){var c=a.config;return b?b/c.sumValue:1}getLowestRadiusFactor(){return 1}allocatePosition(){}drawPlots(){var a,b,c,d,e,f,g,h,i=this,j=i.index,k=i.getLinkedParent(),l=k.config,m=k.getFromEnv('toolTipController'),n=i.y,o=i.displayValue,p=l.isSliced,q=k.getFromEnv('chart'),r=k.getFromEnv('animationManager'),s=q.getChildContainer('trackerGroup'),t=q.getChildContainer('datalabelsGroup'),u=q.getChildContainer().plotGroup,v=i.plot,w=!!i.link,x=l.pointInContext,y=l.distanceAvailed,z=i.labelAline,A=i.appliedStyle,B=i.style,C=i.setRolloutAttr,D=i.setRolloverAttr,E=i.rolloverProperties,F={},G=k.config.labelDrawingConfig;return(i instanceof PyramidPoint||(d=i,i=new x,i.configure(d),k.components.data[j]=i),l.prevIs2d&&l.prevIs2d!==l.is2d&&(r.setAnimation({el:u,attr:{opacity:1},component:k}),r.setAnimation({el:t,attr:{opacity:1},component:k})),g=A&&A.color||B&&B.color||k._chartLevelAttr.color,a=p?1:i.isSliced,f={text:o,direction:BLANK,cursor:w?POINTER:BLANK,x:0,y:0,fill:g,"text-anchor":textHAlign[z]},null===n||n===UNDEF||!i.shapeArgs)?void(G[j]=h={args:f,css:A,point:i}):(c=i.getGraphicalElement('graphic'),e=i.getGraphicalElement('trackerObj'),C||(i.setRolloutAttr=C={}),D||(i.setRolloverAttr=D={}),i.hoverEffects?(C.color=i.rawColor,C.opacity=i.rawAlpha,C['stroke-width']=i.borderWidth,C.stroke=i.borderColor,D.color=E.color,D.opacity=E.alpha,D['stroke-width']=E.borderWidth,D.stroke=E.borderColor):(C=i.setRolloutAttr={},D=i.setRolloverAttr={}),v?(i.shapeArgs.graphics=c,c=k.pyramidFunnelShape(i.shapeArgs),i.addGraphicalElement('graphic',c),r.setAnimation({el:c,attr:{fill:i.color,"stroke-width":i.borderWidth,stroke:i.borderColor},component:k}),c.show(),G[j]=h={args:f,css:A,point:i}):(i.shapeArgs.graphics=v,i.plot=v={},c=k.pyramidFunnelShape(i.shapeArgs),e=r.setAnimation({el:'path',container:s,component:k}).on('fc-click',k.plotMouseUp,F).hover(function(a){var b=this;c.attr(i.setRolloverAttr),q.plotEventHandler(b,a,ROLLOVER)},function(a){var b=this;c.attr(i.setRolloutAttr),q.plotEventHandler(b,a,ROLLOUT)}),r.setAnimation({el:c,attr:{fill:i.color,"stroke-width":i.borderWidth,stroke:i.borderColor},component:k}),i.addGraphicalElement('graphic',c),i.addGraphicalElement('trackerObj',e),G[j]=h={args:f,css:A,point:i}),l.showTooltip?m.enableToolTip(e,i.toolText):m.disableToolTip(e),v.value=n,v.displayValue=o,v.sliced=!!a,v.cursor=w?POINTER:BLANK,v.x=i.x,v.index=j,F.datasetStore=k,F.plotItem=v,e.off('fc-click',k.slice),i.doNotSlice||e.on('fc-click',k.slice,F),h.context=F,h.actions={click:k.slice,hover:[function(a){var b=this;c.attr(i.setRolloverAttr),q.plotEventHandler(b,a,ROLLOVER)},function(a){var b=this;c.attr(i.setRolloutAttr),q.plotEventHandler(b,a,ROLLOUT)}]},v.dy=0,l.noOfGap?(y&&(v._startTranslateY=b='t0,'+y,v.dy=v.distanceAvailed=y),l.slicingGapPosition[i.x]&&(l.distanceAvailed-=l.perGapDistance)):v._startTranslateY=b='t0,0',r.setAnimation({el:c,attr:{transform:b},component:k}),h.transform=b,v)}}export default PyramidPoint;