quoslibero
Version:
FusionCharts JavaScript charting framework
1 lines • 1.86 kB
JavaScript
import DataSkipping from'./data-skipping-ext';import{allowedCharts}from'./data-skipping-charts';function dataSkip(a){a.addEventListener('preconfigure',function(a){let b=a.sender,c=b.getFromEnv('chart');allowedCharts[c&&c.getName()]&&('dataset'===b.getType()&&'cartesianStackGroup'!==b.getLinkedParent().getName()?(b.setState('applySkippingOnConf',!0),DataSkipping.dataSkipping({component:b,datasetType:b.getName(),compType:'dataset'})):'cartesianStackGroup'===b.getName()&&(b.setState('applySkippingOnConf',!0),DataSkipping.dataSkipping({component:b,datasetType:b.getName(),compType:'group'})))}),a.addEventListener('preattributeprepared',function(a){let b=a.sender.getFromEnv&&a.sender.getFromEnv('chart');if(allowedCharts[b&&b.getName()])if('dataset'===a.sender.getType()){let b=a.sender,c=b.getFromEnv('canvasConfig'),d=b.getFromEnv('chart').isBar?c.canvasHeight:c.canvasWidth;'cartesianStackGroup'!==b.getLinkedParent().getName()&&(b.getState('applySkippingOnConf')?b.setState('applySkippingOnConf',!1):DataSkipping.dataSkipping({component:b,compType:'dataset',datasetType:b.getName(),width:d}))}else if('cartesianStackGroup'===a.sender.getName()){let b=a.sender,c=b.getFromEnv('canvasConfig'),d=b.getFromEnv('chart').isBar?c.canvasHeight:c.canvasWidth,e=Object.keys(b.getChildren())[0];b.getState('applySkippingOnConf')?b.setState('applySkippingOnConf',!1):DataSkipping.dataSkipping({component:b,compType:'group',datasetType:b.getChildren(e)[0].getName(),width:d})}}),a.addEventListener('dataplotdragend',function(a,b){if(a.sender.getType&&'dataset'===a.sender.getType()){let c=a.sender,d=c.getSkippingInfo&&c.getSkippingInfo(),e=d&&d.skippingApplied;e&&DataSkipping.updateDragMap({component:c,compType:'dataset',evenType:'dataplotdragend',eventArgs:b})}})}export default{extension:dataSkip,name:'DataSkipping',type:'extension',requiresFusionCharts:!0};