UNPKG

quoslibero

Version:

FusionCharts JavaScript charting framework

1 lines 2.97 kB
import ScatterBase from'../_internal/scatterbase';import ZoomScatterDataset from'../../dataset/zoomscatter';import{pluck,pluckNumber,_manageInteractiveSpace}from'../../../../fc-core/src/lib';import{symbolList}from'../_internal/utils/iconsymbol';import{getDep}from'../../../../fc-core/src/dependency-manager';import{priorityList}from'../../../../fc-core/src/schedular';let UNDEF,Raphael=getDep('redraphael','plugin');Raphael.addSymbol(symbolList);class ZoomScatter extends ScatterBase{static getName(){return'ZoomScatter'}constructor(){super(),this.highlightEnabled=!1,this.isXY=!0,this.zoom=!0,this.zoomX=!0,this.zoomY=!0,this.defaultZeroPlaneHighlighted=!1}getName(){return'ZoomScatter'}__setDefaultConfig(){super.__setDefaultConfig();let a=this.config;a.friendlyName='ZoomScatter Chart',a.defaultDatasetType='zoomscatter',a.enablemousetracking=!0,a.animation=0}configureAttributes(a){var b,c=this,d=c.config;super.configureAttributes(a),b=c.getFromEnv('dataSource').chart,d.stepZoom=400/(100-pluckNumber(b.stepzoom,25)),2>=d.stepZoom&&(d.stepZoom=1.9),d.showToolBarButtonTooltext=pluckNumber(b.showtoolbarbuttontooltext,1),d.btnResetChartToolText=d.showToolBarButtonTooltext?pluck(b.btnresetcharttooltext,'Reset Chart'):'',d.btnZoomOutToolText=d.showToolBarButtonTooltext?pluck(b.btnzoomouttooltext,'Zoom out to previous level'):'',d.btnZoomInToolText=d.showToolBarButtonTooltext?pluck(b.btnzoomintooltext,'<strong>Zoom in</strong><br/>Or double-click on plot to zoom-in'):'',d.btnSelectZoomToolText=d.showToolBarButtonTooltext?pluck(b.btnselectzoomtooltext,'<strong>Select a region to zoom-in</strong><br/>Click to enable pan mode.'):'',d.btnPanToolText=d.showToolBarButtonTooltext?pluck(b.btnpantooltext,'<strong>Drag to move across chart</strong><br/>Click to enable select-zoom mode.'):''}static includeInputOptions(){return['DragPan','DragZoomIn','ZoomResetButton','ZoomOutButton','ZoomInButton','DbTapZoom','PinchZoom']}getInputConfigurations(){var a=this,b=a.config,c=function(){a.addJob('spaceManage',function(){a._manageInteractiveSpace()},priorityList.configure)},d={dragZoomIn:{scaleX:!0,scaleY:!0,boxStyle:{"stroke-width":1,stroke:'red',fill:'#00FF00',opacity:.2,cursor:'ne-resize'},dragendFn:c,tooltext:b.btnSelectZoomToolText,zoomDecimalLimit:2},zoomResetButton:{tooltext:b.btnResetChartToolText,hookFn:c},zoomOutButton:{tooltext:b.btnZoomOutToolText,hookFn:c},zoomInButton:{tooltext:b.btnZoomInToolText,stepzoom:b.stepZoom,zoomDecimalLimit:2,hookFn:c},dragPan:{tooltext:b.btnPanToolText},dbTapZoom:{stepzoom:b.stepZoom,zoomDecimalLimit:2,hookFn:c},pinchZoom:{zoomDecimalLimit:2}};return d}_checkInvalidSpecificData(){let a=this.getFromEnv('dataSource'),b=a.dataset;if(!b)return!0}getDatasets(){var a=this,b=[];return a.iterateComponents(a=>{a.getType&&'dataset'===a.getType()&&b.push(a)}),b}getDSdef(){return ZoomScatterDataset}getDSGroupdef(){return UNDEF}}ZoomScatter.prototype._manageInteractiveSpace=_manageInteractiveSpace;export default ZoomScatter;