@fusioncharts/fusiontime
Version:
FusionCharts JavaScript time-series charting framework
1 lines • 4.85 kB
JavaScript
"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 _mouseTracker=_interopRequireDefault(require("@fusioncharts/core/src/mouse-tracker"));var _lib=require("@fusioncharts/core/src/lib");var UNDEF,_helperFn=function _helperFn(mouseTracker){return function(){mouseTracker.deactivate();mouseTracker.fireEvent("canvasHovered",{hoveredInfo:{},e:{}});clearTimeout(mouseTracker.domainValidationTimer);mouseTracker.domainValidationTimer=setTimeout((function(){mouseTracker.activate()}),100)}};var MouseTracker=function(_CoreMouseTracker){function MouseTracker(){var _this2;_this2=_CoreMouseTracker.call(this)||this;_this2.handler=function(_this){return function(e){_this.mouseEvtHandler(e)}}(_this2);_this2.eventsList.push("fc-mouseout");_this2.active=true;return _this2}(0,_inheritsLoose2.default)(MouseTracker,_CoreMouseTracker);var _proto=MouseTracker.prototype;_proto.mouseEvtHandler=function mouseEvtHandler(e){if(!this.active){return}var mouseTracker=this,oriEvent=e.originalEvent,parent=mouseTracker.getLinkedParent(),datasets=parent.getChild(UNDEF,"dataset")||[],timeInstanceMarker=parent.getChild(UNDEF,"timeInstanceMarker")[0],timeSpanMinMarker=parent.getChild(UNDEF,"timeSpanMinMarker")[0],timeSpanFullMarker=parent.getChild(UNDEF,"timeSpanFullMarker")[0],coordinate,chartX,chartY,dataset,hoveredInfo,hoveredInfoMarker,hoveredInfoTemp,hoveredIndexTemp,i=datasets.length;if(!i){return}coordinate=(0,_lib.getMouseCoordinate)(mouseTracker.getFromEnv("chart-container"),oriEvent,mouseTracker.getFromEnv("chart"));chartX=coordinate.chartX;chartY=coordinate.chartY;hoveredInfoMarker=timeInstanceMarker.getHoveredMarker(chartX,chartY);if(hoveredInfoMarker&&hoveredInfoMarker.hovered){mouseTracker.fireEvent("canvasHovered",{hoveredInfo:hoveredInfoMarker,e:e,i:i,chartX:chartX,chartY:chartY});return}else if(hoveredInfoMarker&&hoveredInfoMarker.previouslyHoveredIndex!==UNDEF){mouseTracker.fireEvent("canvasHovered",{hoveredInfo:hoveredInfoMarker,e:e,i:i,chartX:chartX,chartY:chartY});timeInstanceMarker.config.previouslyHoveredIndex=UNDEF}hoveredInfoMarker=timeSpanMinMarker.getHoveredMarker(chartX,chartY);if(hoveredInfoMarker&&hoveredInfoMarker.hovered){mouseTracker.fireEvent("canvasHovered",{hoveredInfo:hoveredInfoMarker,e:e,i:i,chartX:chartX,chartY:chartY});return}else if(hoveredInfoMarker&&hoveredInfoMarker.previouslyHoveredIndex!==UNDEF){mouseTracker.fireEvent("canvasHovered",{hoveredInfo:hoveredInfoMarker,e:e,i:i,chartX:chartX,chartY:chartY});timeSpanMinMarker.config.previouslyHoveredIndex=UNDEF}while(i--){dataset=datasets[i];hoveredInfo=dataset._getHoveredPlot&&dataset._getHoveredPlot(chartX,chartY);if(hoveredInfo&&hoveredInfo.hovered){hoveredInfoTemp=hoveredInfo;hoveredIndexTemp=i}}if(!hoveredInfoTemp){hoveredInfoMarker=timeSpanFullMarker.getHoveredMarker(chartX,chartY);if(hoveredInfoMarker&&hoveredInfoMarker.hovered){mouseTracker.fireEvent("canvasHovered",{hoveredInfo:hoveredInfoMarker,e:e,i:i,chartX:chartX,chartY:chartY});return}else if(hoveredInfoMarker&&hoveredInfoMarker.previouslyHoveredIndex!==UNDEF){mouseTracker.fireEvent("canvasHovered",{hoveredInfo:hoveredInfoMarker,e:e,i:i,chartX:chartX,chartY:chartY});timeSpanFullMarker.config.previouslyHoveredIndex=UNDEF}}mouseTracker.fireEvent("canvasHovered",{hoveredInfo:hoveredInfoTemp||hoveredInfo,e:e,i:hoveredIndexTemp,chartX:chartX,chartY:chartY})};_proto.addEvents=function addEvents(){var mouseTracker=this,canvas=mouseTracker.getLinkedParent(),eventsList=mouseTracker.eventsList,eventIndex;mouseTracker._removeListners();for(eventIndex in eventsList){canvas.addEventListener(eventsList[eventIndex],mouseTracker.handler)}this.config.onDomainValidated=_helperFn(mouseTracker);mouseTracker.addExtEventListener("focusLimitChanged",this.config.onDomainValidated,mouseTracker.getFromEnv("chart"))};_proto._removeListners=function _removeListners(){var mouseTracker=this,canvas=mouseTracker.getLinkedParent(),eventsList=mouseTracker.eventsList,eventIndex;for(eventIndex in eventsList){canvas.removeEventListener(eventsList[eventIndex],mouseTracker.handler)}mouseTracker.removeExtEventListener("domainValidated",this.config.onDomainValidated,mouseTracker.getFromEnv("chart"))};_proto.remove=function remove(){var _CoreMouseTracker$pro;this._removeListners();for(var _len=arguments.length,params=new Array(_len),_key=0;_key<_len;_key++){params[_key]=arguments[_key]}(_CoreMouseTracker$pro=_CoreMouseTracker.prototype.remove).call.apply(_CoreMouseTracker$pro,[this].concat(params))};_proto.activate=function activate(){this.active=true};_proto.deactivate=function deactivate(){this.active=false;_helperFn()};return MouseTracker}(_mouseTracker.default);var _default=exports.default=MouseTracker;