UNPKG

quoslibero

Version:

FusionCharts JavaScript charting framework

1 lines 2.18 kB
import{componentFactory}from'../../../fc-core/src/lib';import CrossLine from'./crossline';import CrosslineManagerBand from'./crossline-manager-band-category-axis';let CANVAS='canvas',CHARTAPI='chartAPI',CROSSLINEMANAGER='crossline-manager',chartExclusionList={dragnode:!0,hlineargauge:!0,column3d:!0,mscolumn3d:!0,bar3d:!0,pareto3d:!0,msbar3d:!0,stackedcolumn3d:!0,stackedbar3d:!0,mscombi3d:!0,mscolumnline3d:!0,stackedcolumn3dline:!0,mscolumn3dlinedy:!0,stackedcolumn3dlinedy:!0,realtimearea:!0,realtimecolumn:!0,realtimeline:!0,realtimestackedarea:!0,realtimestackedcolumn:!0,angulargauge:!0,realtimelinedy:!0,kagi:!0,treemap:!0,heatmap:!0,boxandwhisker2d:!0,scatter:!0,timeseries:!0,bubble:!0,errorscatter:!0,sparkwinloss:!0,zoomscatter:!0,zoomline:!0,zoomlinedy:!0};export default{extension:a=>{a.addEventListener('preconfigure',function(a){if(a.sender.getType()===CHARTAPI){let b=a.sender,c=b.getFromEnv('chartInstance');c.drawCrossline=function(a){c.drawConsolidatedToolTip(a),b.iterateComponents(b=>{b.getType()===CROSSLINEMANAGER&&(a===void 0?b.hide():b.show({value:a}))})}}}),a.addEventListener('scrollstart',function(a){var b,c,d,e=a.sender.apiInstance,f=e.getChildren('canvas');for(d=0;d<f.length;d++)b=f[d].getChildren('crosslineManagerBand'),(b=b&&b[0])&&(c=b._handlerAPI,b.config.axisScrolling=!0,c.onhoverout(a))}),a.addEventListener('scrollend',function(a){var b,c,d=a.sender.apiInstance,e=d.getChildren('canvas');for(c=0;c<e.length;c++)b=e[c].getChildren('crosslineManagerBand'),b&&b[0]&&(b[0].config.axisScrolling=!1)}),a.addEventListener('instantiated',function(a){if(a.sender.getName()===CANVAS){let b,c,d=a.sender;d.registerFactory('crossLineManager',function(){let e=a.sender.getFromEnv('chart'),f=e&&e.getName();f&&!chartExclusionList[f.toLowerCase()]&&(componentFactory(d,CrosslineManagerBand,'crosslineManagerBand'),b=d.getChildren('crosslineManagerBand')[0],c=b._handlerAPI,b.configure(),componentFactory(b,CrossLine,'crossline'),b.addExtEventListener('fc-mouseover',c.onhover,d),b.addExtEventListener('fc-mousemove',c.onhover,d),b.addExtEventListener('fc-mouseout',c.onhoverout,d))})}})},name:'crossline-manager',type:'extension',requiresFusionCharts:!0};