quoslibero
Version:
FusionCharts JavaScript charting framework
1 lines • 1.04 kB
JavaScript
import{datasetFactory,pluckNumber,pluck}from'../../../fc-core/src/lib';let PIPE='|',removeDataset=a=>{a&&a.iterateComponents(a=>{'dataset'===a.getType()&&a.remove()})};export default function(a){let b,c,d,e,f,g,h,k,l,m,n=a.getFromEnv('dataSource'),o=n.chart||{},p=a.config,q=n.dataset,r=a.getChildren(),s=r.canvas[0],t=[],u=[],v=[],w=[],x=s.getChildren('vCanvas');for(p.cdm=b=pluckNumber(o.compactdatamode,0),p.cdmchar=c=pluck(o.dataseparator,PIPE),q||a.setChartMessage(),e=0;e<q.length;e++)if(d=q[e],b&&d.data&&d.data.split){for(h=d.data.split(c),f=[],(g=0,k=h.length);g<k;g++)f.push({value:h[g]});d.data=f}for(e=0;e<q.length;e++)l=q[e],m=l.parentyaxis||'','s'===m.toLowerCase()?(w.push(l),u.push(e)):(v.push(l),t.push(e));v.length?datasetFactory(x[0],a.getDSdef(),'dataset_line',v.length,v,t):removeDataset(x[0]),w.length?datasetFactory(x[1],a.getDSdef(),'dataset_line',w.length,w,u):removeDataset(x[1]),a.iterateComponents(a=>{a.getType&&'dataset'===a.getType()&&a.createPinElem&&a.addEventListener('createpinelements',a.createPinElem)})}