UNPKG

@fusioncharts/charts

Version:

JavaScript Data Visualisation Library

1 lines 3.61 kB
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule=true;exports.default=void 0;var _inheritsLoose2=_interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _line=_interopRequireDefault(require("../line"));var _lib=require("@fusioncharts/core/src/lib");var _spline=_interopRequireDefault(require("../_internal/spline.helper"));var _dependencyManager=require("@fusioncharts/core/src/dependency-manager");var _mssplinePath=require("../_internal/msspline-path");var _index=_interopRequireDefault(require("./index.animation"));var UNDEF,DEFAULT_STR="default";(0,_dependencyManager.addDep)({name:"mssplineAnimation",type:"animationRule",extension:_index.default});var MSSplineDataset=function(_LineDataset){function MSSplineDataset(){return _LineDataset.apply(this,arguments)||this}(0,_inheritsLoose2.default)(MSSplineDataset,_LineDataset);var _proto=MSSplineDataset.prototype;_proto.getType=function getType(){return"dataset"};_proto.getName=function getName(){return"spline"};_proto.configureAttributes=function configureAttributes(dataObj){_LineDataset.prototype.configureAttributes&&_LineDataset.prototype.configureAttributes.call(this,dataObj);_spline.default.call(this)};_proto.getDataLimits=function getDataLimits(){return{max:this.config.maxValue,min:this.config.minValue}};_proto.drawCommonElements=function drawCommonElements(){var dataset=this,dataStore=dataset.components.data,dsConfig=dataset.config,connectNullData=Number(dataset.getFromEnv("chartConfig").connectnulldata),xAxis=dataset.getFromEnv("xAxis"),yAxis=dataset.getFromEnv("yAxis"),lineDashStyle=dsConfig.lineDashStyle,lineThickness=dsConfig.linethickness,dataTemp=[],lastYPos=null,lastXPos,colorHash,lineColorObj={color:dsConfig.linecolor,alpha:dsConfig.alpha},lim={x:xAxis.getLimit(),y:yAxis.getLimit()},i,ii=dataset.getState("visible")?dataStore.length:0,lineOb=dsConfig.lineOb||{},dataObj,config,setValue,startIndex=0,endIndex,tempStore=[],chart=this.getFromEnv("chart"),isSplineArea=/area/gi.test(chart.defaultDatasetType);lim.x.minPixel=xAxis.getPixel(lim.x.min);lim.x.maxPixel=xAxis.getPixel(lim.x.max);lim.y.minPixel=yAxis.getPixel(lim.y.min);lim.y.maxPixel=yAxis.getPixel(lim.y.max);lim.y.base=yAxis.getPixel(0);lim.x.base=xAxis.getPixel(0);for(i=0;i<ii;++i){dataObj=dataStore[i];if(!dataObj){continue}config=dataObj.config||{};setValue=config.setValue;config._Pbx=UNDEF;config._Pby=UNDEF;tempStore[i]={config:{_Px:config._Px,_Py:config._Py,setValue:config.setValue}};if(setValue===null||setValue===UNDEF){if(!connectNullData){lastYPos=null}continue}dataTemp.push({x:config._Px,y:config._Py,lastYPos:lastYPos,lastXPos:lastXPos});lastYPos=config._Py;lastXPos=config._Px}dsConfig.pathStartIndex=startIndex;dsConfig.pathEndIndex=endIndex;colorHash=DEFAULT_STR;lineOb[colorHash]=lineOb[colorHash]||{};lineOb[colorHash].used=true;lineOb[colorHash].path=[{pathArr:(0,_mssplinePath.getSplinePath)(dataTemp,yAxis.getPixel(yAxis.getAxisBase()),chart.config.minimizetendency,isSplineArea).closedPath,path2Arr:[],getPathArr:function getPathArr(){var pathObj=this,pathArr=pathObj.pathArr,path2Arr=pathObj.path2Arr;if(pathArr.length||path2Arr.length){return pathArr.concat(path2Arr)}return[]}}];lineOb[colorHash].attr={"stroke-dasharray":lineDashStyle,"stroke-width":lineThickness,stroke:(0,_lib.toRaphaelColor)(lineColorObj),"stroke-linecap":"round"};dataset._drawCommonElementsHelper(lineOb);dataset.config.lineOb=lineOb;dsConfig.prevLim=lim;dsConfig.prevDataStore=tempStore};return MSSplineDataset}(_line.default);var _default=exports.default=MSSplineDataset;