@fusioncharts/charts
Version:
JavaScript Data Visualisation Library
1 lines • 2.93 kB
JavaScript
;var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule=true;exports.default=_default;var _lib=require("@fusioncharts/core/src/lib");var _numeric=_interopRequireDefault(require("@fusioncharts/core/src/axis/numeric"));var _category=_interopRequireDefault(require("@fusioncharts/core/src/axis/category"));function _default(chart){var children,canvas=chart.getChildren("canvas")[0],dataChanged=function dataChanged(obj1,obj2){return JSON.stringify(obj1)!==JSON.stringify(obj2)},zoomObj={zoomable:true,pannable:true},xAxis,syncAxisLimits=!!Number(chart.config.syncaxislimits),yAxes,axisRefVisualCartesian=canvas.getChildren("axisRefVisualCartesian")[0],config=chart._feedAxesRawData(),redraw=function redraw(e){var sender=e.sender;axisRefVisualCartesian.addexplicitDrawItems(sender.getId(),sender);axisRefVisualCartesian.asyncDraw()},addCountInfo=function addCountInfo(e){var dependentInfo=yAxes[1].config.dependentInfo;if(e.sender.getId()===dependentInfo.id){dependentInfo.numDivLines=e.data}},addLimitInfo=function addLimitInfo(e){var dependentInfo=yAxes[1].config.dependentInfo;if(e.sender.getId()===dependentInfo.id&&dataChanged(dependentInfo.dataLimit,e.data)){dependentInfo.dataLimit=e.data;if(yAxes[1].config.isDataLimitSet){yAxes[1].setDataLimit()}}},addLimitInfoP=function addLimitInfoP(e){var dependentInfo=yAxes[0].config.dependentInfo;if(e.sender.getId()===dependentInfo.id&&dataChanged(dependentInfo.dataLimit,e.data)){dependentInfo.dataLimit=e.data;yAxes[0].setDataLimit()}};(0,_lib.componentFactory)(chart,_category.default,"xAxis",1,config.xAxisConf);(0,_lib.componentFactory)(chart,_numeric.default,"yAxis",2,config.yAxisConf);children=chart.getChildren();xAxis=children.xAxis[0];yAxes=children.yAxis;yAxes.forEach((function(axis){axis.setLinkedItem("canvas",canvas);axisRefVisualCartesian.setLinkedItem(axis.getId(),axis);axisRefVisualCartesian.addExtEventListener("visiblerangeset",redraw,axis);canvas.attachAxis(axis,true,chart.zoomY?zoomObj:{})}));xAxis.setLinkedItem("canvas",canvas);axisRefVisualCartesian.setLinkedItem(xAxis.getId(),xAxis);yAxes[1].setAxisConfig({dependentInfo:{id:yAxes[0].getId(),count:true,limit:syncAxisLimits}});if(!yAxes[1].getState("divlineEventAdded")){yAxes[1].addExtEventListener("divlinesSet",addCountInfo,yAxes[0]);yAxes[1].setState("divlineEventAdded",true)}if(syncAxisLimits){if(!yAxes[1].getState("dataLimitEventAdded")){yAxes[1].addExtEventListener("dataLimitSet",addLimitInfo,yAxes[0]);yAxes[1].setState("dataLimitEventAdded",true)}yAxes[0].setAxisConfig({dependentInfo:{id:yAxes[1].getId(),limit:true}});if(!yAxes[0].getState("dataLimitEventAdded")){yAxes[0].addExtEventListener("dataLimitSet",addLimitInfoP,yAxes[1]);yAxes[0].setState("dataLimitEventAdded",true)}}axisRefVisualCartesian.addExtEventListener("visiblerangeset",redraw,xAxis);canvas.attachAxis(xAxis,false,chart.zoomX?zoomObj:{});chart._setCategories()}