UNPKG

@fusioncharts/charts

Version:

JavaScript Data Visualisation Library

1 lines 14 kB
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");var _extends=require("@babel/runtime/helpers/extends");exports.__esModule=true;exports.ParetoColumnDataset=void 0;var _inheritsLoose2=_interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _lib=require("@fusioncharts/core/src/lib");var _column=_interopRequireWildcard(require("../column"));var _dependencyManager=require("@fusioncharts/core/src/dependency-manager");var _index=_interopRequireDefault(require("./index.animation"));function _interopRequireWildcard(e,t){if("function"==typeof WeakMap)var r=new WeakMap,n=new WeakMap;return(_interopRequireWildcard=function _interopRequireWildcard(e,t){if(!t&&e&&e.__esModule)return e;var o,i,f=_extends({},null,{default:e});if(null===e||"object"!=typeof e&&"function"!=typeof e)return f;if(o=t?n:r){if(o.has(e))return o.get(e);o.set(e,f)}for(var _t in e)"default"!==_t&&{}.hasOwnProperty.call(e,_t)&&((i=(o=Object.defineProperty)&&Object.getOwnPropertyDescriptor(e,_t))&&(i.get||i.set)?o(f,_t,i):f[_t]=e[_t]);return f})(e,t)}var PLOTBORDERCOLOR="plotBorderColor",PLOTGRADIENTCOLOR="plotGradientColor",SHOWSHADOW="showShadow",UNDEF,math=Math,mathMin=math.min,mathMax=math.max,mathAbs=math.abs,HUNDREDSTRING="100";(0,_dependencyManager.addDep)({name:"paretoAnimation",type:"animationRule",extension:_index.default});var ParetoColumnDataset=exports.ParetoColumnDataset=function(_ColumnDataset){function ParetoColumnDataset(){return _ColumnDataset.apply(this,arguments)||this}(0,_inheritsLoose2.default)(ParetoColumnDataset,_ColumnDataset);var _proto=ParetoColumnDataset.prototype;_proto.getType=function getType(){return"dataset"};_proto.getName=function getName(){return"paretoColumn"};_proto.configureAttributes=function configureAttributes(datasetJSON){if(!datasetJSON){return false}this.trimData(datasetJSON);this.config.JSONData=datasetJSON;var dataSet=this,chart=dataSet.getFromEnv("chart"),conf=dataSet.config,xAxis=dataSet.getFromEnv("xAxis"),JSONData=conf.JSONData,setDataArr=JSONData.data,setDataLen=setDataArr&&setDataArr.length,len=setDataLen,chartAttr=dataSet.getFromEnv("chart-attrib"),colorM=dataSet.getFromEnv("color-manager"),index=dataSet.index||dataSet.positionIndex,showplotborder,plotColor=colorM.getPlotColor(index),plotBorderDash=(0,_lib.pluckNumber)(JSONData.dashed,chartAttr.plotborderdashed),chartConfig=chart.config,usePlotGradientColor=chartConfig.useplotgradientcolor,showTooltip=(0,_lib.pluckNumber)(chartAttr.showtooltip,1),yAxisName=(0,_lib.parseUnsafeString)(chartAttr.yaxisname),xAxisName=(0,_lib.parseUnsafeString)(chartAttr.xaxisname),formatedVal,parserConfig,setTooltext,macroIndices,tempPlotfillAngle,toolText,plotDashLen,plotDashGap,plotBorderThickness,isRoundEdges,showHoverEffect,plotfillAngle,plotFillAlpha,plotFillRatio,plotgradientcolor,plotBorderAlpha,plotBorderColor,plotBorderDashStyle,initailPlotBorderDashStyle,setData,setValue,dataObj,config,colorArr,dataStore=dataSet.components.data,numberFormatter=dataSet.getFromEnv("number-formatter"),setDisplayValue,is3D=chartConfig.is3D,hoverColor,hoverAlpha,hoverGradientColor,hoverRatio,hoverAngle,hoverBorderColor,hoverBorderAlpha,hoverBorderThickness,hoverBorderDashed,hoverBorderDashGap,hoverBorderDashLen,hoverDashStyle,hoverColorArr,enableAnimation,setDataDashed,setDataPlotDashLen,setDataPlotDashGap,i,maxValue=-Infinity,minValue=+Infinity,displayValue,displayValuePercent,sumValue=0,value,catObj,cleanArr=[],cumulativeSumValue=0,useDataPlotColorForLabels,tooltipSepChar=conf.tootipSepChar=(0,_lib.pluck)(chartAttr.tooltipsepchar,", ");conf.minAbsNonZeroValue=Infinity;conf.minAbsNonZeroData={};conf.defaultPadding={left:.5,right:.5};conf.enableAnimation=enableAnimation=(0,_lib.pluckNumber)(chartAttr.animation,chartAttr.defaultanimation,1);conf.animation=!enableAnimation?false:{duration:(0,_lib.pluckNumber)(chartAttr.animationduration,1)*1e3};conf.showTooltip=(0,_lib.pluckNumber)(chartAttr.showtooltip,1);conf.showTextOutline=(0,_lib.pluckNumber)(chartAttr.textoutline,0);conf.valuePadding=(0,_lib.pluckNumber)(chartAttr.valuepadding,2);conf.rotateValues=(0,_lib.pluckNumber)(chartAttr.rotatevalues)?270:0;conf.usePattern=(0,_lib.pluckNumber)(chartConfig.usePattern,0);conf.patternType=_column.PATTERN_TYPES.includes(JSONData.patterntype)?JSONData.patterntype:chartConfig.patternType;conf.patternDensity=(0,_lib.pluckNumber)(JSONData.patterndensity,chartConfig.patternDensity);conf.patternAlpha=(0,_lib.pluckNumber)(JSONData.patternalpha,chartConfig.patternAlpha);conf.patternBgColor=(0,_lib.pluck)(JSONData.patternbgcolor,conf.patternBgColor);conf.showHoverEffect=showHoverEffect=(0,_lib.pluckNumber)(chartAttr.plothovereffect,chartAttr.showhovereffect,UNDEF);conf.usePattern&&(conf.showHoverEffect=showHoverEffect=0);conf.showShadow=isRoundEdges||is3D?(0,_lib.pluckNumber)(chartAttr.showshadow,1):(0,_lib.pluckNumber)(chartAttr.showshadow,colorM.getColor(SHOWSHADOW));conf.useDataPlotColorForLabels=useDataPlotColorForLabels=(0,_lib.pluckNumber)(chartAttr.usedataplotcolorforlabels,0);conf.use3dlineshift=(0,_lib.pluckNumber)(chartAttr.use3dlineshift,chart.use3dlineshift);showplotborder=conf.showplotborder=(0,_lib.pluckNumber)(chartAttr.showplotborder,is3D?0:1);conf.plotDashLen=plotDashLen=(0,_lib.pluckNumber)(chartAttr.plotborderdashlen,5);conf.plotDashGap=plotDashGap=(0,_lib.pluckNumber)(chartAttr.plotborderdashgap,4);conf.plotfillangle=plotfillAngle=(0,_lib.pluckNumber)(360-chartAttr.plotfillangle,90);conf.plotfillalpha=plotFillAlpha=(0,_lib.pluck)(chartAttr.plotfillalpha,HUNDREDSTRING);conf.plotColor=plotColor;conf.isRoundEdges=isRoundEdges=(0,_lib.pluckNumber)(chartAttr.useroundedges,0);conf.plotRadius=(0,_lib.pluckNumber)(chartAttr.useRoundEdges,conf.isRoundEdges?1:0);conf.plotfillratio=plotFillRatio=(0,_lib.pluck)(chartAttr.plotfillratio);conf.plotgradientcolor=plotgradientcolor=(0,_lib.getDefinedColor)(chartAttr.plotgradientcolor,colorM.getColor(PLOTGRADIENTCOLOR));!usePlotGradientColor&&(plotgradientcolor="");conf.plotborderalpha=plotBorderAlpha=showplotborder&&!is3D?(0,_lib.pluck)(chartAttr.plotborderalpha,plotFillAlpha,HUNDREDSTRING):0;conf.plotbordercolor=plotBorderColor=(0,_lib.pluck)(chartAttr.plotbordercolor,is3D?"#ffffff":colorM.getColor(PLOTBORDERCOLOR));conf.plotborderthickness=plotBorderThickness=(0,_lib.pluckNumber)(chartAttr.plotborderthickness,1);conf.plotBorderDashStyle=initailPlotBorderDashStyle=plotBorderDash?(0,_lib.getDashStyle)(plotDashLen,plotDashGap):"none";conf.showValues=(0,_lib.pluckNumber)(chartAttr.showvalues,1);conf.definedGroupPadding=mathMax((0,_lib.pluckNumber)(chartAttr.plotspacepercent),0);conf.plotSpacePercent=mathMax((0,_lib.pluckNumber)(chartAttr.plotspacepercent,20)%100,0);conf.maxcolwidth=(0,_lib.pluckNumber)(chartAttr.maxcolwidth,50);conf.plotpaddingpercent=(0,_lib.pluckNumber)(chartAttr.plotpaddingpercent);conf.placevaluesinside=(0,_lib.pluckNumber)(chartAttr.placevaluesinside,0);conf.use3dlighting=(0,_lib.pluckNumber)(chartAttr.use3dlighting,1);conf.parentYAxis=0;dataSet.setState("visible",(0,_lib.pluckNumber)(JSONData.visible,1)===1);dataSet.setState("dirty",true);if(!dataStore){dataStore=dataSet.components.data=[]}for(i=0;i<len;i++){value=mathAbs(numberFormatter.getCleanValue(setDataArr[i].value));sumValue+=value;cleanArr[i]=(0,_lib.extend2)({},setDataArr[i]);cleanArr[i].value=value}cleanArr.sort((function(a,b){return b.value-a.value}));conf.imageCount=0;for(i=0;i<len;i++){setData=cleanArr[i];dataObj=dataStore[i];if(!dataObj){dataObj=dataStore[i]={graphics:{}}}if(!dataObj.config){config=dataStore[i].config={}}setValue=mathAbs(numberFormatter.getCleanValue(setData.value));if(setValue===null){continue}config=dataObj&&dataObj.config;catObj=xAxis.getLabel(i);config.label=(0,_lib.getValidValue)((0,_lib.parseUnsafeString)((0,_lib.pluck)(catObj.label)));config.showValue=(0,_lib.pluckNumber)(setData.showvalue,conf.showValues);config.setValue=setValue;config.setLink=(0,_lib.pluck)(setData.link);config.setDisplayValue=setDisplayValue=(0,_lib.parseUnsafeString)(setData.displayvalue);cumulativeSumValue+=config.setValue;displayValue=numberFormatter.dataLabels(setValue);config.id=setData.id?(0,_lib.getValidValue)((0,_lib.parseUnsafeString)((0,_lib.pluck)(setData.id))):config.label;config.valuePadding=(0,_lib.pluckNumber)(setData.valuepadding,JSONData.valuepadding,chartConfig.valuepadding);config.patternType=_column.PATTERN_TYPES.includes(setData.patterntype)?setData.patterntype:conf.patternType;config.patternAngle=(0,_lib.pluckNumber)(setData.patternangle,JSONData.patternangle,chartAttr.patternangle,config.patternType===_column.PATTERN_TYPES[0]?40:0);config.patternDensity=(0,_lib.pluckNumber)(setData.patterndensity,conf.patternDensity);config.patternSize=(0,_lib.pluckNumber)(setData.patternsize,JSONData.patternsize,config.patternType===_column.PATTERN_TYPES[0]?2:4);config.patternAlpha=(0,_lib.pluckNumber)(setData.patternalpha,conf.patternAlpha);config.patternBgColor=(0,_lib.pluck)(setData.patternbgcolor,conf.patternBgColor);config.dataLabelStyle=dataSet._configureDataLabelStyle(setData);config.shadow={opacity:conf.showShadow?plotFillAlpha/100:0};setDataDashed=(0,_lib.pluckNumber)(setData.dashed);setDataPlotDashLen=(0,_lib.pluckNumber)(setData.dashlen,plotDashLen);setDataPlotDashGap=plotDashGap=(0,_lib.pluckNumber)(setData.dashgap,plotDashGap);config.plotBorderDashStyle=plotBorderDashStyle=setDataDashed===1?(0,_lib.getDashStyle)(setDataPlotDashLen,setDataPlotDashGap):setDataDashed===0?"none":initailPlotBorderDashStyle;plotColor=colorM.getPlotColor(i);plotColor=(0,_lib.pluck)(setData.color,plotColor);plotFillRatio=(0,_lib.pluck)(setData.ratio,conf.plotfillratio);plotFillAlpha=(0,_lib.pluck)(setData.alpha,conf.plotfillalpha);plotBorderAlpha=(0,_lib.pluck)(setData.alpha,conf.plotborderalpha);if(setValue<0&&!isRoundEdges){tempPlotfillAngle=plotfillAngle;plotfillAngle=360-plotfillAngle}config.colorArr=colorArr=(0,_lib.getColumnColor)(plotColor+","+plotgradientcolor,plotFillAlpha,plotFillRatio,plotfillAngle,isRoundEdges,plotBorderColor,plotBorderAlpha.toString(),0,!!is3D);if(showHoverEffect!==0){hoverColor=(0,_lib.pluck)(setData.hovercolor,chartAttr.plotfillhovercolor,chartAttr.columnhovercolor,plotColor);hoverAlpha=(0,_lib.pluck)(setData.hoveralpha,chartAttr.plotfillhoveralpha,chartAttr.columnhoveralpha,plotFillAlpha);hoverGradientColor=(0,_lib.pluck)(setData.hovergradientcolor,chartAttr.plothovergradientcolor,plotgradientcolor);!hoverGradientColor&&(hoverGradientColor="");hoverRatio=(0,_lib.pluck)(setData.hoverratio,chartAttr.plothoverratio,plotFillRatio);hoverAngle=(0,_lib.pluckNumber)(360-setData.hoverangle,360-JSONData.hoverangle,360-chartAttr.plothoverangle,plotfillAngle);hoverBorderColor=(0,_lib.pluck)(setData.borderhovercolor,chartAttr.plotborderhovercolor,plotBorderColor);hoverBorderAlpha=(0,_lib.pluck)(setData.borderhoveralpha,JSONData.borderhoveralpha,chartAttr.plotborderhoveralpha,chartAttr.plotfillhoveralpha,plotBorderAlpha,plotFillAlpha);hoverBorderThickness=(0,_lib.pluckNumber)(setData.borderhoverthickness,JSONData.borderhoverthickness,chartAttr.plotborderhoverthickness,plotBorderThickness);hoverBorderDashed=(0,_lib.pluckNumber)(setData.borderhoverdashed,chartAttr.plotborderhoverdashed);hoverBorderDashGap=(0,_lib.pluckNumber)(setData.borderhoverdashgap,chartAttr.plotborderhoverdashgap,plotDashLen);hoverBorderDashLen=(0,_lib.pluckNumber)(setData.borderhoverdashlen,chartAttr.plotborderhoverdashlen,plotDashGap);hoverDashStyle=hoverBorderDashed?(0,_lib.getDashStyle)(hoverBorderDashLen,hoverBorderDashGap):plotBorderDashStyle;if(showHoverEffect===1&&hoverColor===plotColor){hoverColor=(0,_lib.getLightColor)(hoverColor,70)}hoverColorArr=(0,_lib.getColumnColor)(hoverColor+","+hoverGradientColor,hoverAlpha,hoverRatio,hoverAngle,isRoundEdges,hoverBorderColor,hoverBorderAlpha.toString(),0,!!is3D);config.setRolloutAttr={fill:!is3D?(0,_lib.toRaphaelColor)(colorArr[0]):[(0,_lib.toRaphaelColor)(colorArr[0]),!conf.use3dlighting],stroke:showplotborder&&(0,_lib.toRaphaelColor)(colorArr[1]),"stroke-width":plotBorderThickness,"stroke-dasharray":plotBorderDashStyle};config.setRolloverAttr={fill:!is3D?(0,_lib.toRaphaelColor)(hoverColorArr[0]):[(0,_lib.toRaphaelColor)(hoverColorArr[0]),!conf.use3dlighting],stroke:showplotborder&&(0,_lib.toRaphaelColor)(hoverColorArr[1]),"stroke-width":hoverBorderThickness,"stroke-dasharray":hoverDashStyle}}useDataPlotColorForLabels&&xAxis.updateTicksValues(i,{labelfontcolor:(0,_lib.convertColor)(plotColor)});config.originalPlotColor=(0,_lib.hashify)(plotColor);config.displayValue=(0,_lib.pluck)(setDisplayValue,displayValue);setTooltext=config.setTooltext=config.origToolText=(0,_lib.getValidValue)((0,_lib.parseUnsafeString)((0,_lib.pluck)(setData.tooltext,chartAttr.plottooltext),false));config.toolTipValue=numberFormatter.dataLabels(setValue,conf.parentYAxis);config._x=i;config._y=setValue;formatedVal=config.toolTipValue;maxValue=mathMax(maxValue,setValue);minValue=mathMin(minValue,setValue);if(setValue!==0&&conf.minAbsNonZeroValue>Math.abs(setValue)){conf.minAbsNonZeroValue=Math.abs(setValue);conf.minAbsNonZeroData=config}if(!showTooltip){toolText=false}else{if(!conf.showTooltip){toolText=false}else if(setTooltext!==UNDEF){parserConfig={formattedValue:formatedVal,label:config.label,yaxisName:yAxisName,xaxisName:xAxisName,cumulativeValue:cumulativeSumValue,cumulativeDataValue:numberFormatter.dataLabels(cumulativeSumValue),cumulativePercentValue:displayValuePercent,sum:numberFormatter.dataLabels(sumValue),unformattedSum:sumValue};macroIndices=[1,2,3,5,6,7,20,21,22,23,24,25];toolText=(0,_lib.parseTooltext)(setTooltext,macroIndices,parserConfig,setData,chartAttr)}else{toolText=config.label?config.label+tooltipSepChar:""}config.toolText=toolText}config.toolText=toolText;config.tooltext=setTooltext;config.setTooltext=toolText;tempPlotfillAngle&&(plotfillAngle=tempPlotfillAngle)}conf.maxValue=maxValue;conf.minValue=minValue};return ParetoColumnDataset}(_column.default);