UNPKG

@fusioncharts/fusiontime

Version:

FusionCharts JavaScript time-series charting framework

1 lines 2.86 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 _tools=require("@fusioncharts/core/src/toolbox/tools");var HOVER="hover",NORMAL="normal",VISIBLE="visible",PRESSED="pressed";function mouseOver(){this.setData({hoveredState:HOVER},true)}function mouseOut(){this.setData({hoveredState:NORMAL},true)}var SRSTool=function(_Tool){function SRSTool(id){var _this;_this=_Tool.call(this,id)||this;_this.addEventListener("fc-mouseover",mouseOver.bind(_this));_this.addEventListener("fc-mouseout",mouseOut.bind(_this));return _this}(0,_inheritsLoose2.default)(SRSTool,_Tool);var _proto=SRSTool.prototype;_proto.__setDefaultConfig=function __setDefaultConfig(){_Tool.prototype.__setDefaultConfig.call(this);var toolConfig=this.config;toolConfig.containerInfo={id:"group",label:"group",isParent:true};toolConfig.spaceNotHardCoded=true;toolConfig.hoveredState=NORMAL};_proto.configureAttributes=function configureAttributes(inputConfig){if(inputConfig===void 0){inputConfig={}}var tool=this,toolConfig=tool.config,prop;for(prop in inputConfig){toolConfig[prop]=inputConfig[prop]}for(prop in toolConfig.listener){tool.addEventListener(prop,toolConfig.listener[prop])}tool.setState(VISIBLE,toolConfig.isHidden!==true);toolConfig.symbolName=toolConfig.name};_proto.getHoveredState=function getHoveredState(){return this.config.hoveredState};_proto.draw=function draw(){var tool=this,toolConfig=tool.config,x=toolConfig.x+toolConfig.width/2,y=toolConfig.y+toolConfig.height/2,width=toolConfig.width,height=toolConfig.height,css=toolConfig.css,state=tool.getCurrentState(),hoveredState=tool.getHoveredState(),textCss=css[state].config[hoveredState],backgroundCss=css[state].config[hoveredState+"Background"];if(!tool.getState(VISIBLE)){return}tool.addGraphicalElement({el:"group",attr:{name:"srs-tool"},container:toolConfig.containerInfo,component:tool,id:"group",label:"group"});tool.addGraphicalElement({el:"rect",attr:{x:x-width/2-2,y:y-height/2-2,width:width+4,height:height+4,opacity:backgroundCss.opacity},css:backgroundCss,container:{id:"group",label:"group"},component:tool,id:"rect",label:"rect"},true);tool.addGraphicalElement({el:"text",attr:{x:x,y:y,text:toolConfig.text,opacity:textCss.opacity},container:{id:"group",label:"group"},css:textCss,component:tool,id:"text",label:"text"},true);state===PRESSED&&tool.addGraphicalElement({el:"path",attr:{path:"M"+(x-width/2-1)+", "+(y+height/2+1.5)+" h "+(width+1),opacity:textCss.opacity},container:{id:"group",label:"group"},css:{stroke:textCss.fill,"stroke-linecap":"round","stroke-opacity":textCss["fill-opacity"]},component:tool,id:"path",label:"path"},true)};return SRSTool}(_tools.Tool);var _default=exports.default=SRSTool;