quoslibero
Version:
FusionCharts JavaScript charting framework
1 lines • 1.66 kB
JavaScript
import Column3dGroup from'../dataset/groups/column3d';import{pluck,componentFactory,datasetFactory}from'../../../fc-core/src/lib';import{removeComponents}from'./dataset.helper';let MULTISERIESCOLUMNMANAGER='multiseriesColumnManager',MULTISERIESCOLUMNMANAGER3D='multiseriesColumnManager3D';export default function(a){let b,c,d,e,f,g,h,j,k,l,m=a.getFromEnv('dataSource'),n=m.dataset,o=a.getChildren(),p=o.canvas[0],q=p.getChildren('vCanvas'),r=q[0],s=q[1],t=a.getFromEnv('chartConfig').isdual,u={vCanvasDatasetsDef0:{},vCanvasDatasetsDef1:{}},v={vCanvas0:{},vCanvas1:{}};for(n||a.setChartMessage(),c=0;c<n.length;c++)b=n[c],j=b.parentyaxis||'','s'===j.toLowerCase()&&t?(h=pluck(b.renderas,a.config.sDefaultDatasetType),k=s,l=v.vCanvas1,e=u.vCanvasDatasetsDef1):(h=pluck(b.renderas,a.config.defaultDatasetType),k=r,l=v.vCanvas0,e=u.vCanvasDatasetsDef0),h=a.getDSType(h,'s'===j.toLowerCase()),g=a.getDSGroupdef(h,j),g&&(componentFactory(k,Column3dGroup,MULTISERIESCOLUMNMANAGER3D),d=k.getChildren(MULTISERIESCOLUMNMANAGER3D)[0],l[d.getName()]=!0,componentFactory(d,g,MULTISERIESCOLUMNMANAGER),l[g.getName().toLowerCase()]=!0),l[h.toLowerCase()]=!0,e[h]?(e[h].conf.push(b),e[h].indices.push(c)):(e[h]={},e[h].indices=[c],e[h].classDef=a.getDSdef(h),e[h].conf=[b],e[h].pYAxis=j.toLowerCase(),e[h].parent=g?d.getChildren(MULTISERIESCOLUMNMANAGER)[0]:k);for(let b in u)if(u.hasOwnProperty(b))for(h in e=u[b],e)e.hasOwnProperty(h)&&(f=e[h],'group'===f.parent.getType()&&f.parent.configure(f.conf),datasetFactory(f.parent,f.classDef,'dataset_'+h,f.conf.length,f.conf,f.indices));removeComponents(q[0],Object.keys(v.vCanvas0)),removeComponents(q[1],Object.keys(v.vCanvas1))}