UNPKG

quoslibero

Version:

FusionCharts JavaScript charting framework

1 lines 804 B
import{getMouseCoordinate}from'../../../../../fc-core/src/lib';let wheelHandler=function(a){return function(b){var c=Math.abs;let d,e,f,g,h,i,j,k,l,m,n,o=a.getLinkedParent(),p=a.config.xConfigs[0].scale,q=o.getContextLimit(),[r,s]=p.getRange(),t=b.originalEvent;c(t.deltaY)>c(t.deltaX)?(d='vertical',e=t.deltaY):(d='horizontal',e=t.deltaX),'vertical'===d?(g=getMouseCoordinate(a.getFromEnv('chart-container'),b.originalEvent,o),h=a.getTranslation(),i=h?h.x:0,j=g.chartX-i,k=j-r,l=s-j,m=k+l,r-=2*e*k/m,s+=2*e*l/m):(0<e?p.getDomainValue(s)<q[1]:p.getDomainValue(r)>q[0])&&(s+=e,r+=e),f=p.getDomainValue(r),n=p.getDomainValue(s),o.setFocusLimit([f,n])}};export default function(a){let b=a.config;b.enableInteraction&&!b.wheelEventAdded&&(a.addEventListener('fc-wheel',wheelHandler(a)),b.wheelEventAdded=!0)}