quoslibero
Version:
FusionCharts JavaScript charting framework
1 lines • 6.42 kB
JavaScript
import Area from'../../../../fc-charts/src/chart/msarea';import RadarDataset from'../../dataset/radar';import axisFactory from'../../factories/radar-axis';import canvasFactory from'../../factories/polar-canvas';import{pluckNumber,pluck,pluckFontSize,chartPaletteStr,preDefStr}from'../../../../fc-core/src/lib';class Radar extends Area{constructor(){super(),this.registerFactory('canvas',canvasFactory),this.registerFactory('axis',axisFactory,['canvas'])}__setDefaultConfig(){super.__setDefaultConfig();let a=this.config;a.axisType='polar',a.axisValuePadding=10,a.gridLineWidth=1,a.showRadarBorder=1,a.showvalues=0,a.radarBorderThickness=2,a.skipCanvasDrawing=!0,a.useplotgradientcolor=0,a.plotfillalpha=50}setAxisDimention(){let a=this,b=a.getChildren('yAxis')&&a.getChildren('yAxis')[0],c=a.config;b&&b.setAxisDimention({x:c.canvasLeft+c.canvasWidth/2,y:c.canvasTop,axisLength:c.canvasHeight/2})}_feedAxesRawData(){var a,b,c=this,d=c.getFromEnv('dataSource');return a=c.getSpecificxAxisConf(),b=c.getSpecificyAxisConf(),a.vtrendlines=d.vtrendlines,b.trendlines=d.trendlines,{xAxisConf:[a],yAxisConf:[b]}}getSpecificxAxisConf(){var a=this,b=a.getFromEnv('chart-attrib'),c=a.config,d=this.getBasexAxisConf();return d.isReverse=c.reverseXAxis,d.axisLineColor=pluck(b.xaxislinecolor,b.axislinecolor,'#000000'),d.showAlternateGridColor=pluckNumber(b.showalternatevgridcolor,1),d.numDivLines=b.numvdivlines,d.axisName=b.xaxisname,d.setAdaptiveMin=b.setadaptivexmin,d.showLimits=b.showvlimits,d.showDivLineValues=pluckNumber(b.showvdivlinevalues,b.showvdivlinevalues),d.zeroPlaneThickness=b.vzeroplanethickness,d.zeroPlaneAlpha=b.vzeroplanealpha,d.showZeroPlaneValue=b.showvzeroplanevalue,d.showAxisLine=pluckNumber(b.showxaxisline,b.showaxislines,b.drawAxisLines,0),d.showRadarBorder=b.showradarborder,d.radarBorderColor=b.radarbordercolor,d.radarBorderThickness=b.radarborderthickness,d.radarBorderAlpha=b.radarborderalpha,d.radarFillColor=b.radarfillcolor,d.radarFillAlpha=b.radarfillalpha,d.radarSpikeColor=b.radarspikecolor,d.radarSpikeThickness=b.radarspikethickness,d.radarSpikeAlpha=b.radarspikealpha,d.radarInLineAlpha=b.radarinlinealpha,d.showTooltip=pluckNumber(b.showtooltip,1),d}getSpecificyAxisConf(){var a=this,b=a.getFromEnv('chart-attrib'),c=a.config,d=a.config.is3D,e=d?chartPaletteStr.chart3D:chartPaletteStr.chart2D,f=c.isInverse,g=a.getFromEnv('color-manager');return{isVertical:!0,isReverse:!f,isOpposit:!1,outCanfontFamily:pluck(b.outcnvbasefont,b.basefont,'Verdana,sans'),outCanfontSize:pluckFontSize(b.outcnvbasefontsize,b.basefontsize,10),outCancolor:pluck(b.outcnvbasefontcolor,b.basefontcolor,g.getColor(e.baseFontColor)).replace(/^#? ([a-f0-9]+)/ig,'#$1'),axisNamePadding:b.yaxisnamepadding,axisValuePadding:b.yaxisvaluespadding,axisNameFont:b.yaxisnamefont,axisNameFontSize:b.yaxisnamefontsize,axisNameFontColor:b.yaxisnamefontcolor,axisNameFontBold:b.yaxisnamefontbold,axisNameFontItalic:b.yaxisnamefontitalic,axisNameBgColor:b.yaxisnamebgcolor,axisNameBorderColor:b.yaxisnamebordercolor,axisNameAlpha:b.yaxisnamealpha,axisNameFontAlpha:b.yaxisnamefontalpha,axisNameBgAlpha:b.yaxisnamebgalpha,axisNameBorderAlpha:b.yaxisnameborderalpha,axisNameBorderPadding:b.yaxisnameborderpadding,axisNameBorderRadius:b.yaxisnameborderradius,axisNameBorderThickness:b.yaxisnameborderthickness,axisNameBorderDashed:b.yaxisnameborderdashed,axisNameBorderDashLen:b.yaxisnameborderdashlen,axisNameBorderDashGap:b.yaxisnameborderdashgap,axisNameWidth:b.yaxisnamewidth,useEllipsesWhenOverflow:b.useellipseswhenoverflow,rotateAxisName:pluckNumber(b.rotateyaxisname,1),divLineColor:pluck(b.divlinecolor,g.getColor(e.divLineColor)),divLineAlpha:pluck(b.divlinealpha,g.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,g.getColor('altHGridColor')),alternateGridAlpha:pluck(b.alternatehgridalpha,g.getColor('altHGridAlpha')),numDivLines:b.numdivlines,axisMinValue:b.yaxisminvalue,axisMaxValue:b.yaxismaxvalue,setAdaptiveMin:b.setadaptiveymin,adjustDiv:b.adjustvdiv,labelStep:b.yaxisvaluesstep,showAxisValues:pluckNumber(b.showyaxisvalues,b.showyaxisvalue),showLimits:pluckNumber(b.showyaxislimits,b.showlimits,a.showLimits),showDivLineValues:pluckNumber(b.showdivlinevalues,b.showdivlinevalue),zeroPlaneColor:b.zeroplanecolor,zeroPlaneThickness:pluckNumber(b.zeroplanethickness,b.divlinethickness,2),zeroPlaneAlpha:b.zeroplanealpha,showZeroPlaneValue:b.showzeroplanevalue,trendlineColor:b.trendlinecolor,trendlineToolText:b.trendlinetooltext,trendlineThickness:b.trendlinethickness,trendlineAlpha:b.trendlinealpha,showTrendlinesOnTop:b.showtrendlinesontop,axisLineThickness:pluckNumber(b.yaxislinethickness,b.axislinethickness,1),axisLineAlpha:pluckNumber(b.yaxislinealpha,b.axislinealpha,100),axisLineColor:pluck(b.yaxislinecolor,b.axislinecolor,'#000000'),showTooltip:pluckNumber(b.showtooltip,1)}}_spaceManager(){var a,b,c,d,e,f,g,h=this,i=h.config,j=i.radarBorderThickness,k=i.legendposition,l=h.getChildren('xAxis')&&h.getChildren('xAxis')[0],m=h.getChildren('yAxis')&&h.getChildren('yAxis')||[],n=m[0],o=i.hasLegend,p=h.getChildren('legend')&&h.getChildren('legend')[0],q=preDefStr.POSITION_BOTTOM,r=Math,s=r.min,t=r.abs;e=k===q?.3*i.canvasHeight:.3*i.canvasWidth,!1!==o&&l&&i.showLegend&&h._allocateSpace(p._manageLegendPosition(e)),d=.7*i.canvasHeight,c=.7*i.canvasWidth,l&&h._allocateSpace(l.placeAxis(c,d)),c=.7*i.canvasWidth,n&&n.placeAxis(c),a=.225*i.availableHeight,b=h._manageActionBarSpace&&(h._manageActionBarSpace(a)||{}),h._allocateSpace(b),f=0<i.radarradius?2*i.radarradius:s(i.canvasHeight,i.canvasWidth),i.canvasHeight>f&&(g=t((i.canvasHeight-f)/2),h._allocateSpace({top:g,bottom:g})),i.canvasWidth>f&&(g=t((i.canvasWidth-f)/2),h._allocateSpace({left:g,right:g})),d=k===q?.6*i.availableHeight:.6*i.availableWidth,h._manageChartMenuBar(d),n.setAxisDimention({x:i.canvasLeft+i.canvasWidth/2-j/2,y:i.canvasTop,axisLength:i.canvasHeight/2}),l.setAxisConfig({radius:s(i.canvasWidth/2,i.canvasHeight/2)-j/2}),l.setAxisDimention({x:i.canvasLeft+i.canvasWidth/2,y:i.canvasTop+i.canvasHeight/2})}static getName(){return'Radar'}getName(){return'Radar'}getDSdef(){return RadarDataset}}export default Radar;