@fusioncharts/features
Version:
FusionCharts JavaScript charting framework
1 lines • 2.32 kB
JavaScript
;var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule=true;exports.default=void 0;var _centerLabelExtension=_interopRequireDefault(require("./center-label-extension"));var _lib=require("@fusioncharts/core/src/lib");var _schedular=require("@fusioncharts/core/src/schedular");var isValidChart=function isValidChart(component){var componentName=component.getName().toLowerCase();return(componentName==="doughnut2d"||componentName==="multilevelpie")&&component.getType()==="dataset"},count=0,UNDEF;function centerLabel(_labelText,_options){var chart=this.apiInstance,labelText=_labelText||UNDEF,options=_options||UNDEF,dataset=chart.getChildren("dataset")[0],children=dataset.getChildren(),centerLabelComp=children.centerLabel&&children.centerLabel[0],chartConfig=chart.config,_helperFn=function _helperFn(){var seriesData=chart.getDatasets()[0],innerSize=seriesData.config.piePlotOptions.innerSize,centerLabelConfig,key;centerLabelConfig=centerLabelComp.config;if(typeof options!=="object"){options=centerLabelConfig}else{for(key in centerLabelConfig){options[key]===UNDEF&&(options[key]=centerLabelConfig[key])}centerLabelConfig=Object.assign(centerLabelConfig,options)}options.label=labelText;centerLabelConfig.label=labelText;seriesData.centerLabelConfig=centerLabelConfig;innerSize&¢erLabelComp&¢erLabelComp.draw(labelText||"")};if(centerLabelComp===UNDEF){(0,_lib.componentFactory)(dataset,_centerLabelExtension.default,"centerLabel",1,[chartConfig]);centerLabelComp=children.centerLabel&&children.centerLabel[0]}chart.addJob("eiMethods-center-lebel"+count++,_helperFn,_schedular.priorityList.postRender)}var _default=exports.default={extension:function extension(FusionCharts){FusionCharts.addEventListener("instantiated",(function onFcInstantiated(event){var component=event.sender;if(isValidChart(component)){component.registerFactory("centerLabel",(function(){var chartConfig=component.getFromEnv("chartConfig"),hasCenterLabel=!!(chartConfig.centerlabel||chartConfig.defaultcenterlabel);component.getFromEnv("chartInstance").centerLabel=centerLabel;(0,_lib.componentFactory)(component,_centerLabelExtension.default,"centerLabel",hasCenterLabel?1:0,[chartConfig])}))}}))},name:"CenterLabelExtension",type:"extension",requiresFusionCharts:true};