UNPKG

@fusioncharts/features

Version:

FusionCharts JavaScript charting framework

1 lines 2.92 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 _componentInterface=require("@fusioncharts/core/src/component-interface");var _index=require("@fusioncharts/core/src/toolbox/index");var InputBase=function(_ComponentInterface){function InputBase(){return _ComponentInterface.apply(this,arguments)||this}(0,_inheritsLoose2.default)(InputBase,_ComponentInterface);var _proto=InputBase.prototype;_proto.configure=function configure(){var input=this,config=input.config={},allInputOptions=input.getFromEnv("inputOptions")||{};Object.assign(config,allInputOptions[input.getName()])};_proto._checkStackLen=function _checkStackLen(){var axesObArr=this.getFromEnv("axesObArr"),stackLength=0;axesObArr&&axesObArr.forEach((function(axisOb){stackLength+=axisOb.stack.length}));return stackLength};InputBase._getZoomInfo=function _getZoomInfo(startX,endX,axis){var returnObj={startIndex:Math.ceil(startX),endIndex:Math.floor(endX)};if(axis.getLabel){returnObj.startLabel=axis.getLabel(returnObj.startIndex).label;returnObj.endLabel=axis.getLabel(returnObj.endIndex).label}return returnObj};_proto._raiseZoomEvents=function _raiseZoomEvents(internalEvent,externalEvent,eventArgs,event){var input=this,chart=input.getFromEnv("chart");internalEvent&&input.fireEvent(internalEvent);externalEvent&&chart.fireChartInstanceEvent(externalEvent,eventArgs,event);externalEvent&&chart.fireChartInstanceEvent("zoomed",eventArgs,event)};_proto.getType=function getType(){return"canvasInput"};_proto.enable=function enable(event){var input=this;if(input.config.enabled!==true){input.config.enabled=true;event&&input.fireEvent(event);input.setControl()}};_proto.disable=function disable(event){var input=this;if(input.config.enabled!==false){input.config.enabled=false;event&&input.fireEvent(event);input.setControl()}};_proto.toggle=function toggle(event){this.isEnabled()?this.disable(event):this.enable(event)};_proto.isEnabled=function isEnabled(){return this.config.enabled};_proto.setControl=function setControl(){var button=this.getLinkedItem("button");button&&button.setCurrentState(this.isEnabled()?this.config.state:"disabled")};_proto.createButton=function createButton(options){var input=this,button,chart=input.getLinkedParent().getFromEnv("chart");button=chart.getFromEnv("toolbar").attachChild(_index.Tool,"tool",input.getId());button.configure(Object.assign({},chart.getFromEnv("tool-config"),{name:options.icon,tooltext:options.tooltext}));for(var eventType in options.handlers){if(options.handlers.hasOwnProperty(eventType)){button.addEventListener("fc-"+eventType,options.handlers[eventType])}}button.setLinkedItem("input",input);return button};return InputBase}(_componentInterface.ComponentInterface);var _default=exports.default=InputBase;