quoslibero
Version:
FusionCharts JavaScript charting framework
1 lines • 1.09 kB
JavaScript
import ColumnMultiSeriesgroup from'../column-multiseries';import{pluckNumber}from'../../../../../fc-core/src/lib';var UNDEF;class ColumnOverlappedgroup extends ColumnMultiSeriesgroup{getType(){return'group'}getName(){return'columnOverlappedGroup'}setColumnPosition(){var a=Math.max;let b,c,d,e,f,g=this,h=g.getFromEnv('chart-attrib'),i=g.getFromEnv('xAxis'),j=g.getFromEnv('chart'),k=g.getFromEnv('numOfColumns'),l=a(pluckNumber(h.plotspacepercent),0),m=a(pluckNumber(l,20)%100,0),n=i.getPixel(0),o=i.getPixel(1),p=j.isBar?j.config.maxBarHeight:j.config.maxColWidth,q=Math.abs(o-n),r=!0,s=0,t=0;g.addToEnv('groupMaxWidth',q),g._mapChildren(a=>{a.getState('removed')||!1===a.getState('visible')||t++}),g.addToEnv('numOfColumns',t),g.addToEnv('numColDiff',pluckNumber(k-t,0)),(c=g.getFromEnv('plotWidth'))===UNDEF&&(c=(1-.01*l)*q||Math.min(q*(1-2*(m/200)),p*(t||1))),g._mapChildren(a=>{a.getState('removed')||!1===a.getState('visible')||(a.addToEnv('plotWidth',c-c/t*s),s++)}),f=b/2,d=n-f,e=o-f,e-(d+b)<4&&(r=!1),0===m&&(r=!0),g.addToEnv('isCrisp',r)}}export default ColumnOverlappedgroup;