@fusioncharts/features
Version:
FusionCharts JavaScript charting framework
1 lines • 2.62 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 _inputBase=_interopRequireDefault(require("./input-base"));var STATE_ACTIVATED="activated";var ZoomReset=function(_Base){function ZoomReset(){var _this;_this=_Base.call(this)||this;var input=_this;input._toggle=function(){input.isEnabled()&&input.zoomOut()};return _this}(0,_inheritsLoose2.default)(ZoomReset,_Base);var _proto=ZoomReset.prototype;_proto.getName=function getName(){return"zoomResetButton"};_proto.configure=function configure(){_Base.prototype.configure.call(this);var input=this,manager=input.getLinkedParent();input.configureButton();input.disable();manager.registerDependancy([{derivedInteraction:["zoomin","zoomout"],callback:input.dependancyFn,component:input}])};_proto.configureButton=function configureButton(){var input=this;!input.config.skipGraphics&&input.setLinkedItem("button",input.createButton({icon:"resetIcon",handlers:{click:input._toggle},tooltext:input.config.tooltext,state:"disabled"}));input.disable()};_proto.enable=function enable(){this.config.state=STATE_ACTIVATED;_Base.prototype.enable.call(this)};_proto.zoomOut=function zoomOut(){var input=this,chart,scrollBar,hookFn=input.config.hookFn,startX,endX,startY,endY,level=1,eventArgs={},visiblerange;input.getFromEnv("axesObArr").forEach((function(axisOb){chart=input.getFromEnv("chart");scrollBar=chart.getChildren("scrollBar")&&chart.getChildren("scrollBar")[0];visiblerange=axisOb.stack[0];if(!visiblerange){return}input.getFromEnv("chart").getFromEnv("animationManager").setAnimationState("zoomOut");hookFn&&hookFn(visiblerange.minValue,visiblerange.maxValue);if(axisOb.isY){startY=visiblerange.minValue;endY=visiblerange.maxValue}else{startX=visiblerange.minValue;endX=visiblerange.maxValue;eventArgs=input.constructor._getZoomInfo(startX,endX,axisOb.axis)}axisOb.axis.setVisibleConfig(visiblerange.minValue,visiblerange.maxValue);chart.setScrollBarDimension&&chart.setScrollBarDimension();scrollBar&&!scrollBar.getState("removed")&&scrollBar.asyncDraw();axisOb.stack.length=0}));input._raiseZoomEvents("zoomout","zoomreset",Object.assign(eventArgs,{level:level,startX:startX,endX:endX,startY:startY,endY:endY}));input.disable()};_proto.dependancyFn=function dependancyFn(eventOb){if(eventOb.type==="zoomin"){this.enable()}else if(eventOb.type==="zoomout"){if(!this._checkStackLen()){this.disable()}}};return ZoomReset}(_inputBase.default);var _default=exports.default=ZoomReset;