UNPKG

@fusioncharts/widgets

Version:

FusionCharts JavaScript charting framework

1 lines 9.9 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 _mscartesian=_interopRequireDefault(require("@fusioncharts/charts/src/chart/_internal/mscartesian"));var _lib=require("@fusioncharts/core/src/lib");var _realtimecolumn=_interopRequireDefault(require("../../dataset/realtimecolumn"));var _columnMultiseries=_interopRequireDefault(require("@fusioncharts/charts/src/dataset/groups/column-multiseries"));var _messagelogger=_interopRequireDefault(require("@fusioncharts/features/src/messagelogger"));var _alertmanager=_interopRequireDefault(require("@fusioncharts/features/src/alertmanager"));var _constructor=_interopRequireDefault(require("@fusioncharts/constructor/src/constructor"));var _dependencyManager=require("@fusioncharts/core/src/dependency-manager");var _index=_interopRequireDefault(require("./index.animation"));var _realtime=require("../_internal/realtime");var _fetchData=_interopRequireDefault(require("@fusioncharts/core/src/_internal/misc/fetch-data"));var _schedular=require("@fusioncharts/core/src/schedular");var _datastreamer=_interopRequireDefault(require("../_internal/datastreamer"));var UNDEF,visibleStr=_lib.preDefStr.visibleStr,DS_TYPE="realtimecolumn";function _setData(value,label,id){var stream=_lib.BLANKSTRING;if(value&&value.toString||value===_lib.BLANKSTRING||value===0){stream="value="+value.toString()}if(label&&label.toString||label===_lib.BLANKSTRING){stream=stream+"&label="+label.toString()}if(id&&id.toString||id===_lib.BLANKSTRING){stream=stream+"&id="+id.toString()}if(stream){this.feedData(stream)}}(0,_dependencyManager.addDep)({name:"realtimeColumnChartAnimation",type:"animationRule",extension:_index.default});_constructor.default.addDep(_datastreamer.default);var RealtimeColumn=function(_MSCartesian){function RealtimeColumn(){var _this;_this=_MSCartesian.call(this)||this;var iapi=_this;_constructor.default.addDep(_messagelogger.default);_constructor.default.addDep(_alertmanager.default);_this.showRTvalue=true;_this.canvasPadding=true;_this.isRealTime=true;_this.rtManageSpace=true;_this.transposeAxis=true;_this._setData=_setData;_this.eiMethods=_realtime.eiMethods;_this._drawRTValue=function(){iapi._drawRealTimeValue()};return _this}(0,_inheritsLoose2.default)(RealtimeColumn,_MSCartesian);RealtimeColumn.getName=function getName(){return"RealtimeColumn"};var _proto=RealtimeColumn.prototype;_proto.getName=function getName(){return"RealtimeColumn"};_proto.__setDefaultConfig=function __setDefaultConfig(){_MSCartesian.prototype.__setDefaultConfig.call(this);var config=this.config;config.defaultDatasetType=DS_TYPE;config.enablemousetracking=true};_proto.asyncRealTimeValueDraw=function asyncRealTimeValueDraw(){this.addJob("realtimevaluedraw",this._drawRTValue,_schedular.priorityList&&_schedular.priorityList.draw)};_proto.parseChartAttr=function parseChartAttr(dataObj){_MSCartesian.prototype.parseChartAttr.call(this,dataObj);this.config.drawTrendRegion=0};_proto._setCategories=function _setCategories(){var iapi=this,xAxis=iapi.getChildren("xAxis")[0],tempArr=[],tempCategories,realTimeConfig=iapi.config.realTimeConfig,clear=realTimeConfig&&realTimeConfig.clear,categories=clear?UNDEF:iapi.getFromEnv("dataSource").categories&&iapi.getFromEnv("dataSource").categories[0]&&iapi.getFromEnv("dataSource").categories[0].category,catLen=categories&&Array.isArray(categories)&&categories.filter((function(data){return!data.vline})).length||0,numDisplaySets=realTimeConfig.numDisplaySets;if(catLen<numDisplaySets){tempArr.length=numDisplaySets-catLen;tempCategories=categories?tempArr.concat(categories):tempArr}else if(catLen>numDisplaySets&&numDisplaySets>=0){tempCategories=numDisplaySets?categories.slice(-numDisplaySets):[]}else{tempCategories=categories.slice(0)}xAxis.setTickValues(tempCategories)};_proto._realTimeValuePositioning=function _realTimeValuePositioning(availableHeight){var iapi=this,components=iapi.getChildren(),smartLabel=iapi.getFromEnv("smartLabel"),height,space,config=iapi.config,realTimeConfig=config.realTimeConfig||(config.realTimeConfig={}),padding=realTimeConfig.realTimeValuePadding,axisConfig=components.xAxis[0].config,style=axisConfig.trend.trendStyle,attr=realTimeConfig.style={color:(0,_lib.convertColor)((0,_lib.pluck)(realTimeConfig.realtimeValueFontColor,style.color),(0,_lib.pluck)(axisConfig.trendlineAlpha,99)),fontFamily:(0,_lib.pluck)(realTimeConfig.realtimeValueFont,style.fontFamily),fontSize:(0,_lib.pluck)(realTimeConfig.realtimeValueFontSize,style.fontSize),fontWeight:(0,_lib.pluck)(realTimeConfig.fontWeight,style.fontWeight),lineHeight:(0,_lib.pluckNumber)(style.lineHeight)};smartLabel.useEllipsesOnOverflow(config.useEllipsesWhenOverflow);smartLabel.setStyle(attr);realTimeConfig.height=height=smartLabel.getOriSize(_lib.TESTSTR).height;realTimeConfig.canvasBottom=config.canvasBottom;space=height+padding;if(space>availableHeight){space=availableHeight}return{bottom:space}};_proto.draw=function draw(){_MSCartesian.prototype.draw.call(this);if(this.showRTvalue&&this.config.realTimeConfig.showRTValue){this._drawRealTimeValue()}};_proto._drawRealTimeValue=function _drawRealTimeValue(){var iapi=this,chart=iapi.getFromEnv("chart"),config=iapi.config,dataset=chart.getDatasets(),animationManager=chart.getFromEnv("animationManager"),smartLabel=iapi.getFromEnv("smartLabel"),realTimeConfig=config.realTimeConfig,realtimeValueSeparator=realTimeConfig.realtimeValueSeparator,len=dataset.length,displayValue=_lib.BLANKSTRING,canvasBottom=realTimeConfig.canvasBottom,height=realTimeConfig.height,canvasLeft=config.canvasLeft,canvasRight=config.canvasRight,style=realTimeConfig.style||{},positionX,positionY,realTimeValueGraphics,realTimeValueGraphicsCheck=iapi.getGraphicalElement("realTimeValue"),chartChildContainer=iapi.getChildContainer(),attr,parentLayer=chart.getContainer().parentGroup,realTimeValueGroup=chartChildContainer.realTimeValueGroup,datasetStore,drawn,prevData,dataDisplayValue,i;iapi.removeJob("realtimevaluedraw");if(realTimeConfig.clear&&realTimeValueGraphics){animationManager.setAnimation({el:realTimeValueGraphics,attr:{text:_lib.BLANKSTRING},component:iapi,label:"label"})}if(!realTimeValueGroup){realTimeValueGroup=chart.addChildContainer("realTimeValueGroup",animationManager.setAnimation({el:"group",attr:{name:"realTimeValue"},container:parentLayer,label:"group",component:chart}).insertBefore(chartChildContainer.datalabelsGroup))}else{for(i=0;i<len;i++){datasetStore=dataset[i].components.data;prevData=datasetStore[datasetStore.length-1];dataDisplayValue=prevData&&prevData.config.displayValue;displayValue+=dataDisplayValue?dataDisplayValue===UNDEF?_lib.BLANKSTRING:dataDisplayValue+realtimeValueSeparator:_lib.BLANKSTRING}displayValue=displayValue.substring(0,displayValue.length-realtimeValueSeparator.length);smartLabel.useEllipsesOnOverflow(config.useEllipsesWhenOverflow);smartLabel.setStyle(style);positionX=(canvasLeft+canvasRight)/2;positionY=canvasBottom-height/2;attr={x:positionX||0,y:positionY||0,"font-size":style.fontSize,"font-weight":style.fontWeight,"font-family":style.fontFamily,"line-height":style.lineHeight,text:displayValue,fill:style.color,visibility:visibleStr};realTimeValueGraphics=animationManager.setAnimation({el:realTimeValueGraphicsCheck||"text",attr:attr,container:realTimeValueGroup,label:"rtValue",component:chart});drawn=true;if(!realTimeValueGraphicsCheck){iapi.addGraphicalElement("realTimeValue",realTimeValueGraphics)}realTimeValueGraphics&&!drawn&&realTimeValueGraphics.show()}};_proto._hideRealTimeValue=function _hideRealTimeValue(){var iapi=this,graphics=iapi.getGraphicalElement("realTimeValue");graphics&&graphics.hide()};_proto._setRTmenu=function _setRTmenu(showRTmenuItem,useMessageLog){_realtime._setRTmenu.call(this,showRTmenuItem,useMessageLog)};_proto._getDataJSON=function _getDataJSON(){return this.config.realTimeConfig.legacyUpdateObj||{values:[]}};_proto._checkInvalidSpecificData=function _checkInvalidSpecificData(){var jsonData=this.getFromEnv("dataSource"),datasetsJSON=jsonData.dataset,dataStreamer=this.getChildren("dataStreamer")&&this.getChildren("dataStreamer")[0];if(!datasetsJSON){dataStreamer&&dataStreamer._stopUpdate();return true}};_proto._checkInvalidData=function _checkInvalidData(){var iapi=this,dataObj=iapi.getFromEnv("dataSource"),dataStreamer=iapi.getChildren("dataStreamer")&&this.getChildren("dataStreamer")[0];if(dataObj==={}){dataStreamer&&dataStreamer._stopUpdate();return true}};_proto.getDSGroupdef=function getDSGroupdef(){return _columnMultiseries.default};_proto.getDSdef=function getDSdef(){return _realtimecolumn.default};_proto._realTimeConfigure=function _realTimeConfigure(){_realtime._realTimeConfigure.call(this)};_proto._stopUpdate=function _stopUpdate(source){_realtime._stopUpdate.call(this,source)};_proto._restartUpdate=function _restartUpdate(){_realtime._restartUpdate.call(this)};_proto._isUpdateActive=function _isUpdateActive(){return _realtime._isUpdateActive.call(this)};_proto._getData=function _getData(){return _fetchData.default.call(this)};_proto.realTimeUpdate=function realTimeUpdate(dataObj){_realtime.realTimeUpdate.call(this,dataObj)};_proto._RTmanageSpace=function _RTmanageSpace(){_realtime._RTmanageSpace.call(this)};_proto.realTimeDraw=function realTimeDraw(eventArgs){if(eventArgs===void 0){eventArgs={}}_realtime.realTimeDraw.call(this,eventArgs)};_proto.feedData=function feedData(stream){return _realtime.feedData.call(this,stream)};_proto._linearDataParser=function _linearDataParser(responseText){return _realtime._linearDataParser.call(this,responseText)};_proto._clearChart=function _clearChart(_source){_realtime._clearChart.call(this,_source)};return RealtimeColumn}(_mscartesian.default);var _default=exports.default=RealtimeColumn;