UNPKG

quoslibero

Version:

FusionCharts JavaScript charting framework

2 lines 1.88 kB
import{SmartRenderer}from'../../../../../fc-core/src/component-interface';import{getTouchEvent}from'../../../../../fc-core/src/lib';class Handle extends SmartRenderer{constructor(){super(),this._dimensions={}}__setDefaultConfig(){super.__setDefaultConfig();let a=this.config;a._defaultHandleStyle={fill:'#dfdfdf',stroke:'none',cursor:'ew-resize'},a._defaultHandleGripStyle={cursor:'ew-resize',stroke:'#808080',"stroke-width":1,"stroke-linecap":'round'}}configureAttributes(a={}){super.configureAttributes(a);let b=this,c=b.config;c.style={handle:Object.assign({},c._defaultHandleStyle,a.style.handle),"handle-grip":Object.assign({},c._defaultHandleGripStyle,a.style['handle-grip'])},c.orientation=a.orientation,c.type=a.type}setDimension(a){this._dimensions=a}getDimension(){return this._dimensions}attachHandlers(){let a,b,c,d,f,g=this,h=g.getLinkedParent(),i=h.getFromEnv('timeNavigator');g.addEventListener('fc-dragstart',g.dragstartHandler||(g.dragstartHandler=function(c){b=getTouchEvent(c).clientX,a=h.getCurrentBrushDimensions()})),g.addEventListener('fc-dragmove',g.dragmoveHandler||(g.dragmoveHandler=function(h){c=getTouchEvent(h).clientX-b,'leftHandle'===g.config.type?(d=a.x+c,f=a.x+a.width):(d=a.x,f=a.x+a.width+c),g.getFromEnv('animationManager').setAnimationState('timenavSqueeze'),i.validateDomain([d,f],g.config.type)}))}draw(){let a=this,b=a.config,c=b.style.handle,d=b.style['handle-grip'],e=a.getDimension(),f=e.x,g=e.y,h=e.width,i=e.height;a.addGraphicalElement({el:'rect',attr:{x:f,y:g,width:h,height:i,opacity:c.opacity},css:c,label:'handleButton',component:a,container:{id:'brushGroup',label:'brushGroup',isParent:!0}}),a.addGraphicalElement({el:'path',attr:{path:`M ${f+3.5},${g+6} v ${i-12} M ${f+6.5},${g+6} v ${i-12}`},label:'handlePath',component:a,css:d,container:{id:'brushGroup',label:'brushGroup',isParent:!0}})}}export default Handle;