UNPKG

quoslibero

Version:

FusionCharts JavaScript charting framework

1 lines 1.57 kB
import{ComponentInterface}from'../../../fc-core/src/component-interface';import{Tool}from'../../../fc-core/src/toolbox/index';class InputBase extends ComponentInterface{configure(){var a=this,b=a.config={},c=a.getFromEnv('inputOptions')||{};Object.assign(b,c[a.getName()])}_checkStackLen(){var a=this.getFromEnv('axesObArr'),b=0;return a&&a.forEach(function(a){b+=a.stack.length}),b}static _getZoomInfo(a,b,c){var d={startIndex:Math.ceil(a),endIndex:Math.floor(b)};return c.getLabel&&(d.startLabel=c.getLabel(d.startIndex).label,d.endLabel=c.getLabel(d.endIndex).label),d}_raiseZoomEvents(a,b,c,d){var e=this,f=e.getFromEnv('chart');a&&e.fireEvent(a),b&&f.fireChartInstanceEvent(b,c,d),b&&f.fireChartInstanceEvent('zoomed',c,d)}getType(){return'canvasInput'}enable(a){var b=this;!0!==b.config.enabled&&(b.config.enabled=!0,a&&b.fireEvent(a),b.setControl())}disable(a){var b=this;!1!==b.config.enabled&&(b.config.enabled=!1,a&&b.fireEvent(a),b.setControl())}toggle(a){this.isEnabled()?this.disable(a):this.enable(a)}isEnabled(){return this.config.enabled}setControl(){var a=this.getLinkedItem('button');a&&a.setCurrentState(this.isEnabled()?this.config.state:'disabled')}createButton(a){var b,c,d=this,e=d.getLinkedParent(),f=e.getFromEnv('chart'),g=f.getFromEnv('tool-config');for(let e in b=f.getFromEnv('toolbar'),c=b.attachChild(Tool,'tool',d.getId()),c.configure(Object.assign({},g,{name:a.icon,tooltext:a.tooltext})),a.handlers)a.handlers.hasOwnProperty(e)&&c.addEventListener(`fc-${e}`,a.handlers[e]);return c.setLinkedItem('input',d),c}}export default InputBase;