@fusioncharts/features
Version:
FusionCharts JavaScript charting framework
1 lines • 2.87 kB
JavaScript
;var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule=true;exports.default=void 0;var _inheritsLoose2=_interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _componentInterface=require("@fusioncharts/core/src/component-interface");var _lib=require("@fusioncharts/core/src/lib");var _dependencyManager=require("@fusioncharts/core/src/dependency-manager");var _crossline=_interopRequireDefault(require("./crossline.animation"));var M="M",L="L",DEFAULTCOLOR="#EEEEEE",DEFAULTALPHA=50,BAND="band";var CrossLine=function(_ComponentInterface){function CrossLine(){var _this;_this=_ComponentInterface.call(this)||this;(0,_dependencyManager.addDep)({name:"crosslineAnimation",type:"animationRule",extension:_crossline.default});return _this}(0,_inheritsLoose2.default)(CrossLine,_ComponentInterface);var _proto=CrossLine.prototype;_proto.getName=function getName(){return"crossline"};_proto.getType=function getType(){return"crossline"};_proto.show=function show(config){if(config===void 0){config={}}var crossline=this,onTop=!!config.onTop,type=config.type;!(onTop===crossline.config.prevRenderedOnTop)&&crossline.hide();!crossline[type]&&(type=BAND);crossline[type](config);crossline.config.prevRenderedOnTop=onTop};_proto.band=function band(config){if(config===void 0){config={}}var crossline=this,managerId=config.managerId,x1=config.x1,y1=config.y1,x2=config.x2,y2=config.y2,fcColor=(0,_lib.toRaphaelColor)({color:(0,_lib.pluck)(config.fillcolor,DEFAULTCOLOR),alpha:(0,_lib.pluckNumber)(config.alpha,DEFAULTALPHA)}),crosslineElem,canvasDimensions=crossline.getLinkedParent().getLinkedParent().getEffectiveDimensions(),clipPath=[canvasDimensions.left,canvasDimensions.top,canvasDimensions.width,canvasDimensions.height].toString(),containerBellow=crossline.getLinkedParent().getChildContainer("crosslineBottom"),containerTop=crossline.getLinkedParent().getChildContainer("crosslineTop"),container;container=config.onTop?containerTop:containerBellow;crosslineElem=crossline.getGraphicalElement("crosslineBand"+managerId);if(!crosslineElem){crossline.addGraphicalElement("crosslineBand"+managerId,crossline.getFromEnv("paper").path({path:[M,x1,y1,L,x2,y2],"clip-rect":clipPath,stroke:fcColor,fill:fcColor,"stroke-width":config.thickness,"stroke-linecap":"butt"},container))}else{config.animDuration?crosslineElem.animate({path:[M,x1,y1,L,x2,y2]},config.animDuration,"ease-in"):crosslineElem.attr({path:[M,x1,y1,L,x2,y2],"clip-rect":clipPath})}};_proto.hide=function hide(){var graphicElems=this.getGraphicalElement(),keys=Object.keys(graphicElems);for(var i=keys.length-1;i>-1;i--){graphicElems[keys[i]].stop(_lib.UNDEF,true,true);graphicElems[keys[i]].remove();delete graphicElems[keys[i]]}};return CrossLine}(_componentInterface.ComponentInterface);var _default=exports.default=CrossLine;