quoslibero
Version:
FusionCharts JavaScript charting framework
1 lines • 1.83 kB
JavaScript
import{componentFactory}from'../../../fc-core/src/lib';import NumericAxis from'../../../fc-core/src/axis/numeric';import CategoryAxis from'../../../fc-core/src/axis/category';export default function(a){let b,c,d,e=a.getChildren('canvas')[0],f=(a,b)=>JSON.stringify(a)!==JSON.stringify(b),g={zoomable:!0,pannable:!0},h=!!+a.config.syncaxislimits,i=e.getChildren('axisRefVisualCartesian')[0],j=a._feedAxesRawData(),k=a=>{let b=a.sender;i.addexplicitDrawItems(b.getId(),b),i.asyncDraw()},l=a=>{let b=d[1].config.dependentInfo;a.sender.getId()===b.id&&(b.numDivLines=a.data)},m=a=>{let b=d[1].config.dependentInfo;a.sender.getId()===b.id&&f(b.dataLimit,a.data)&&(b.dataLimit=a.data,d[1].config.isDataLimitSet&&d[1].setDataLimit())},n=a=>{let b=d[0].config.dependentInfo;a.sender.getId()===b.id&&f(b.dataLimit,a.data)&&(b.dataLimit=a.data,d[0].setDataLimit())};componentFactory(a,CategoryAxis,'xAxis',1,j.xAxisConf),componentFactory(a,NumericAxis,'yAxis',2,j.yAxisConf),b=a.getChildren(),c=b.xAxis[0],d=b.yAxis,d.forEach(b=>{b.setLinkedItem('canvas',e),i.setLinkedItem(b.getId(),b),i.addExtEventListener('visiblerangeset',k,b),e.attachAxis(b,!0,a.zoomY?g:{})}),c.setLinkedItem('canvas',e),i.setLinkedItem(c.getId(),c),d[1].setAxisConfig({dependentInfo:{id:d[0].getId(),count:!0,limit:h}}),d[1].getState('divlineEventAdded')||(d[1].addExtEventListener('divlinesSet',l,d[0]),d[1].setState('divlineEventAdded',!0)),h&&(!d[1].getState('dataLimitEventAdded')&&(d[1].addExtEventListener('dataLimitSet',m,d[0]),d[1].setState('dataLimitEventAdded',!0)),d[0].setAxisConfig({dependentInfo:{id:d[1].getId(),limit:!0}}),!d[0].getState('dataLimitEventAdded')&&(d[0].addExtEventListener('dataLimitSet',n,d[1]),d[0].setState('dataLimitEventAdded',!0))),i.addExtEventListener('visiblerangeset',k,c),e.attachAxis(c,!1,a.zoomX?g:{}),a._setCategories()}