quoslibero
Version:
FusionCharts JavaScript charting framework
1 lines • 10.7 kB
JavaScript
import MSCartesian from'./mscartesian';import axisFactory from'../../factories/cartesian-axis-dual-y';import{pluck,pluckFontSize,pluckNumber,UNDEF,chartPaletteStr,extend2}from'../../../../fc-core/src/lib';import datasetFactory from'../../factories/combi-dual-y-dataset';var _feedAxesRawData,getSpecificxAxisConf,getSpecificyAxisConf,setAxisDimention,mathMax=Math.max;class MSDyBaseCartesian extends MSCartesian{constructor(){super(),this.registerFactory('axis',axisFactory,['canvas']),this.registerFactory('dataset',datasetFactory,['vCanvas'])}static getName(){return'MSDyBaseCartesian'}__setDefaultConfig(){super.__setDefaultConfig(),this.config.syncaxislimits=0}_feedAxesRawData(){var a,b,c,d,e,f,g,h,k,l=this,m=l.config,n=l.getFromEnv('color-manager'),o=l.getFromEnv('dataSource'),p=l.getFromEnv('chart-attrib'),q=l.config.is3D,r=q?chartPaletteStr.chart3D:chartPaletteStr.chart2D,s=m.primaryAxisOnleft=pluckNumber(p.primaryaxisonleft,1),t=pluckNumber(p.syncaxislimits,0),u=[{line:[]}],v=[{line:[]}],w=o.trendlines||[],x=pluckNumber(p.showzeroplane,1),y=pluckNumber(p.showzeroplanevalue);for(x||y!==UNDEF||(y=0),a=l.getSpecificxAxisConf(),b=l.getSpecificyAxisConf(),c={isActive:!1,isPercent:l.isPercentage,axisIndex:1,uniqueClassName:1,outCanfontFamily:pluck(p.outcnvbasefont,p.basefont,'Verdana,sans'),outCanfontSize:pluckFontSize(p.outcnvbasefontsize,p.basefontsize,10),outCancolor:pluck(p.outcnvbasefontcolor,p.basefontcolor,n.getColor(r.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,'#$1'),axisNamePadding:p.yaxisnamepadding,axisValuePadding:p.yaxisvaluespadding,axisNameFont:p.syaxisnamefont,axisNameFontSize:p.syaxisnamefontsize,axisNameFontColor:p.syaxisnamefontcolor,axisNameFontBold:p.syaxisnamefontbold,axisNameFontItalic:p.syaxisnamefontitalic,axisNameBgColor:p.syaxisnamebgcolor,axisNameBorderColor:p.syaxisnamebordercolor,axisNameAlpha:p.syaxisnamealpha,axisNameFontAlpha:p.syaxisnamefontalpha,axisNameBgAlpha:p.syaxisnamebgalpha,axisNameBorderAlpha:p.syaxisnameborderalpha,axisNameBorderPadding:p.syaxisnameborderpadding,axisNameBorderRadius:p.syaxisnameborderradius,axisNameBorderThickness:p.syaxisnameborderthickness,axisNameBorderDashed:p.syaxisnameborderdashed,axisNameBorderDashLen:p.syaxisnameborderdashlen,axisNameBorderDashGap:p.syaxisnameborderdashgap,axisNameWidth:p.syaxisnamewidth,useEllipsesWhenOverflow:p.useellipseswhenoverflow,rotateAxisName:pluckNumber(p.rotateyaxisname,1),axisName:p.syaxisname,divLineColor:pluck(p.divlinecolor,n.getColor(r.divLineColor)),divLineAlpha:pluck(p.divlinealpha,n.getColor('divLineAlpha')),divLineThickness:pluckNumber(p.divlinethickness,1),divLineIsDashed:!!pluckNumber(p.divlinedashed,p.divlineisdashed,0),divLineDashLen:pluckNumber(p.divlinedashlen,4),divLineDashGap:pluckNumber(p.divlinedashgap,2),showAlternateGridColor:pluckNumber(p.showalternatehgridcolor,1),alternateGridColor:pluck(p.alternatehgridcolor,n.getColor('altHGridColor')),alternateGridAlpha:pluck(p.alternatehgridalpha,n.getColor('altHGridAlpha')),numDivLines:p.numdivlines,axisMinValue:t?pluckNumber(p.syaxisminvalue,p.pyaxisminvalue,p.yaxisminvalue):p.syaxisminvalue,axisMaxValue:t?pluckNumber(p.syaxismaxvalue,p.pyaxismaxvalue,p.yaxismaxvalue):p.syaxismaxvalue,setAdaptiveMin:p.setadaptivesymin||p.setadaptiveymin,adjustDiv:p.adjustdiv,labelStep:p.yaxisvaluesstep,showAxisValues:pluckNumber(p.showsyaxisvalues,p.showsyaxisvalue,p.showyaxisvalues,p.showyaxisvalue),showLimits:pluckNumber(p.showsecondarylimits,p.showyaxislimits,p.showlimits),showDivLineValues:pluckNumber(p.showdivlinesecondaryvalue,p.showyaxisvalues,p.showyaxisvalue,1),showZeroPlane:x,zeroPlaneColor:p.zeroplanecolor,zeroPlaneThickness:pluckNumber(p.zeroplanethickness,p.divlinethickness,2),zeroPlaneAlpha:p.zeroplanealpha,showZeroPlaneValue:y,trendlineColor:p.trendlinecolor,trendlineToolText:p.trendlinetooltext,trendlineThickness:p.trendlinethickness,trendlineAlpha:p.trendlinealpha,showTrendlinesOnTop:p.showtrendlinesontop,showAxisLine:q?0:pluckNumber(p.showsyaxisline,p.showaxislines,p.drawAxisLines,0),axisLineThickness:pluckNumber(p.syaxislinethickness,p.axislinethickness,1),axisLineAlpha:pluckNumber(p.syaxislinealpha,p.axislinealpha,100),axisLineColor:pluck(p.syaxislinecolor,p.axislinecolor,'#000000')},a.vtrendlines=extend2([],o.vtrendlines),(h=0,g=w.length);h<g;h++)for(d=w[h]&&w[h].line||[],f=d.length,k=0;k<f;k++)e=d[k]||{},'s'===e.parentyaxis?u[0].line.push(e):v[0].line.push(e);return b.trendlines=extend2([],v),c.trendlines=extend2([],u),1===s?(b.isVertical=!0,b.isReverse=!0,b.isOpposit=!1,c.isVertical=!0,c.isReverse=!0,c.isOpposit=!0):(b.isVertical=!0,b.isReverse=!0,b.isOpposit=!0,c.isVertical=!0,c.isReverse=!0,c.isOpposit=!1),{yAxisConf:[b,c],xAxisConf:[a]}}getSpecificxAxisConf(){var a=this,b=a.getFromEnv('chart-attrib'),c=a.config.is3D,d=a.getBasexAxisConf(),e=a.config;return d.zeroPlaneThickness=pluckNumber(b.vzeroplanethickness,b.vdivlinethickness,2),d.zeroPlaneAlpha=pluckNumber(b.vzeroplanealpha,b.vdivlinealpha,e.zeroplanealpha),d.showZeroPlaneValue=b.showvzeroplanevalue,d.showAxisLine=c?0:pluckNumber(b.showxaxisline,b.showaxislines,b.drawAxisLines,0),d.axisLineColor=pluck(b.xaxislinecolor,b.axislinecolor,'#000000'),d.isReverse=!1,d.showAlternateGridColor=pluckNumber(b.showalternatevgridcolor,0),d.numDivLines=b.numvdivlines,d.maxLabelHeight=b.maxlabelheight,d.axisName=b.xaxisname,d.setAdaptiveMin=b.setadaptivexmin,d.showLimits=b.showvlimits,d.showDivLineValues=pluckNumber(b.showvdivlinevalues,b.showvdivlinevalues),d}getSpecificyAxisConf(){var a=this,b=a.getFromEnv('chart-attrib'),c=a.config.is3D,d=c?chartPaletteStr.chart3D:chartPaletteStr.chart2D,e=a.config,f=a.getFromEnv('color-manager'),g=pluckNumber(b.syncaxislimits,0),h=pluckNumber(b.showzeroplane,1),i=pluckNumber(b.showzeroplanevalue);return h||i!==UNDEF||(i=0),{outCanfontFamily:pluck(b.outcnvbasefont,b.basefont,'Verdana,sans'),outCanfontSize:pluckFontSize(b.outcnvbasefontsize,b.basefontsize,10),outCancolor:pluck(b.outcnvbasefontcolor,b.basefontcolor,f.getColor(d.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,'#$1'),axisNamePadding:pluckNumber(b.pyaxisnamepadding,b.yaxisnamepadding),axisValuePadding:pluckNumber(b.pyaxisvaluespadding,b.yaxisvaluespadding),axisNameFont:pluck(b.pyaxisnamefont,b.yaxisnamefont),axisNameFontSize:pluckNumber(b.pyaxisnamefontsize,b.yaxisnamefontsize),axisNameFontColor:pluck(b.pyaxisnamefontcolor,b.yaxisnamefontcolor),axisNameFontBold:pluckNumber(b.pyaxisnamefontbold,b.yaxisnamefontbold),axisNameFontItalic:pluckNumber(b.pyaxisnamefontitalic,b.yaxisnamefontitalic),axisNameBgColor:pluck(b.pyaxisnamebgcolor,b.yaxisnamebgcolor),axisNameBorderColor:pluck(b.pyaxisnamebordercolor,b.yaxisnamebordercolor),axisNameAlpha:pluckNumber(b.pyaxisnamealpha,b.yaxisnamealpha),axisNameFontAlpha:pluckNumber(b.pyaxisnamefontalpha,b.yaxisnamefontalpha),axisNameBgAlpha:pluckNumber(b.pyaxisnamebgalpha,b.yaxisnamebgalpha),axisNameBorderAlpha:pluckNumber(b.pyaxisnameborderalpha,b.yaxisnameborderalpha),axisNameBorderPadding:pluckNumber(b.pyaxisnameborderpadding,b.yaxisnameborderpadding),axisNameBorderRadius:pluckNumber(b.pyaxisnameborderradius,b.yaxisnameborderradius),axisNameBorderThickness:pluckNumber(b.pyaxisnameborderthickness,b.yaxisnameborderthickness),axisNameBorderDashed:pluckNumber(b.pyaxisnameborderdashed,b.yaxisnameborderdashed),axisNameBorderDashLen:pluckNumber(b.pyaxisnameborderdashlen,b.yaxisnameborderdashlen),axisNameBorderDashGap:pluckNumber(b.pyaxisnameborderdashgap,b.yaxisnameborderdashgap),axisNameWidth:pluckNumber(b.pyaxisnamewidth,b.yaxisnamewidth),useEllipsesWhenOverflow:b.useellipseswhenoverflow,rotateAxisName:pluckNumber(b.rotateyaxisname,1),axisName:pluck(b.pyaxisname,b.yaxisname),divLineColor:pluck(b.divlinecolor,f.getColor(d.divLineColor)),divLineAlpha:pluck(b.divlinealpha,f.getColor('divLineAlpha')),divLineThickness:pluckNumber(b.divlinethickness,1),divLineIsDashed:!!pluckNumber(b.divlinedashed,b.divlineisdashed,0),divLineDashLen:pluckNumber(b.divlinedashlen,4),divLineDashGap:pluckNumber(b.divlinedashgap,2),showAlternateGridColor:pluckNumber(b.showalternatehgridcolor,1),alternateGridColor:pluck(b.alternatehgridcolor,f.getColor('altHGridColor')),alternateGridAlpha:pluck(b.alternatehgridalpha,f.getColor('altHGridAlpha')),numDivLines:b.numdivlines,axisMinValue:g?pluckNumber(b.syaxisminvalue,b.pyaxisminvalue,b.yaxisminvalue):pluckNumber(b.pyaxisminvalue,b.yaxisminvalue),axisMaxValue:g?pluckNumber(b.syaxismaxvalue,b.pyaxismaxvalue,b.yaxismaxvalue):pluckNumber(b.pyaxismaxvalue,b.yaxismaxvalue),setAdaptiveMin:b.setadaptiveymin,adjustDiv:b.adjustdiv,labelStep:b.yaxisvaluesstep,showAxisValues:pluckNumber(b.showyaxisvalues,b.showyaxisvalue),showLimits:pluckNumber(b.showyaxislimits,b.showlimits,a.showLimits),showDivLineValues:pluckNumber(b.showdivlinevalues,b.showdivlinevalue),showZeroPlane:h,zeroPlaneColor:b.zeroplanecolor,zeroPlaneThickness:pluckNumber(b.zeroplanethickness,b.divlinethickness,e.zeroplanethickness,2),zeroPlaneAlpha:pluckNumber(b.zeroplanealpha,b.divlinealpha,e.zeroplanealpha),showZeroPlaneValue:i,showZeroPlaneOnTop:e.showzeroplaneontop,trendlineColor:b.trendlinecolor,trendlineToolText:b.trendlinetooltext,trendlineThickness:b.trendlinethickness,trendlineAlpha:b.trendlinealpha,showTrendlinesOnTop:b.showtrendlinesontop,showAxisLine:c?0:pluckNumber(b.showyaxisline,b.showaxislines,b.drawAxisLines,0),axisLineThickness:pluckNumber(b.yaxislinethickness,b.axislinethickness,1),axisLineAlpha:pluckNumber(b.yaxislinealpha,b.axislinealpha,100),axisLineColor:pluck(b.yaxislinecolor,b.axislinecolor,'#000000'),forceTrendBelow:!!e.is3D}}setAxisDimention(){var a,b,c=this,d=c.config,e=c.getChildren(),f=e.yAxis,g=e.xAxis&&e.xAxis[0],h=f[0],i=f[1],j=d.xDepth,k=e.canvas[0],l=k.config,m=l.canvasBorderWidth,n=l.canvasPadding,o=l.canvasPaddingLeft,p=l.canvasPaddingRight,q=l.canvasPaddingTop,r=d.primaryAxisOnleft,s=l.canvasPaddingBottom;g&&g.setAxisDimention({x:d.canvasLeft+(j||0)+mathMax(o,n),y:d.canvasBottom+(d.shift||0)+m,opposite:d.canvasTop-m,axisLength:d.canvasWidth-(j||0)-mathMax(o,n)-mathMax(p,n)}),r?(d.yAxisStartXPos=d.canvasLeft-m,d.sYAxisStartXPos=d.canvasRight+m):(d.yAxisStartXPos=d.canvasRight+m,d.sYAxisStartXPos=d.canvasLeft-m),a=d.yAxisStartXPos,b=d.sYAxisStartXPos,h&&h.setAxisDimention({x:a,y:d.canvasTop+q,opposite:b,axisLength:d.canvasHeight-q-s}),i&&i.setAxisDimention({x:b,y:d.canvasTop+q,opposite:a,axisLength:d.canvasHeight-q-s})}}_feedAxesRawData=MSDyBaseCartesian.prototype._feedAxesRawData,getSpecificxAxisConf=MSDyBaseCartesian.prototype.getSpecificxAxisConf,getSpecificyAxisConf=MSDyBaseCartesian.prototype.getSpecificyAxisConf,setAxisDimention=MSDyBaseCartesian.prototype.setAxisDimention;export{_feedAxesRawData,getSpecificxAxisConf,getSpecificyAxisConf,setAxisDimention};export default MSDyBaseCartesian;