quoslibero
Version:
FusionCharts JavaScript charting framework
1 lines • 2.98 kB
JavaScript
import WaterFall2D from'../waterfall2d';import KagiDataset from'../../dataset/kagi';import{pluckNumber,pluck,toPrecision}from'../../../../fc-core/src/lib';let UNDEF,HUNDREDSTRING='100',SEVENTYSTRING='70';class Kagi extends WaterFall2D{static getName(){return'Kagi'}getName(){return'Kagi'}__setDefaultConfig(){super.__setDefaultConfig();let a=this.config;a.friendlyName='Kagi Chart',a.singleseries=!0,a.hasLegend=!1,a.defaultDatasetType='kagi',a.setAdaptiveMin=!0,a.anchorborderthickness=1,a.anchorimageurl=UNDEF,a.anchorimagepadding=1,a.anchorsides=1,a.anchoralpha=UNDEF,a.anchorbgalpha=HUNDREDSTRING,a.anchorimagealpha=HUNDREDSTRING,a.anchorimagescale=100,a.anchorstartangle=90,a.anchorshadow=0,a.anchorbgcolor=UNDEF,a.anchorbordercolor=UNDEF,a.anchorradius=3,a.showvalues=1,a.plotfillalpha=SEVENTYSTRING,a.linedashlen=5,a.linedashgap=4,a.linedashed=UNDEF,a.linealpha=HUNDREDSTRING,a.linethickness=2,a.drawfullareaborder=1,a.connectnulldata=0,a.zeroplanethickness=1,a.enablemousetracking=!0,a.zeroplanealpha=40,a.showzeroplaneontop=0}_getDataset(){var a=this,b=[];return a.iterateComponents(a=>{a.getType&&'dataset'===a.getType()&&b.push(a)}),b}_postSpaceManagement(){var a,b=Math.max,c=this,d=c.config,e=c.getChildren('xAxis')[0],f=c.getChildren('yAxis')[0],g=c.getChildren('canvas')[0],h=g.config,i=h.canvasBorderWidth,j=pluckNumber(h.canvasPadding,15),k=h.canvasPaddingTop,l=h.canvasPaddingBottom,m=h.canvasPaddingLeft,n=h.canvasPaddingRight,o=c.getFromEnv('dataSource').chart,p=c._getDataset(),q=p[0].config,r=q&&q.shiftCount,s=pluckNumber(e.getAxisConfig('axisMinValue'),0),t=pluckNumber(e.getAxisConfig('axisMaxValue'),r-1),u=c.config.canvasWidth,v=pluckNumber(o.maxhshiftpercent,10),w=u-2*j;f&&f.setAxisDimention({x:d.canvasLeft-i,y:d.canvasTop+k,opposite:d.canvasRight+i,axisLength:d.canvasHeight-k-l}),c._setPosition(),q&&(v=0>=v?10:v,a=q.xShiftLength=Math.min(w/r,v*w/100),t=b(t,1)),g.setCanvasPadding(),e&&e.setAxisConfig({canvasPaddingLeft:b(m,j)+a/2,canvasPaddingRight:b(n,j)+a/2}),e&&e.setAxisDimention({x:c.config.canvasLeft+j+a/2,axisLength:a*(t-s),y:d.canvasBottom+(d.shift||0)+i,opposite:d.canvasTop-i}),c.allocateDimensionOfChartMenuBar()}_setPosition(){var a,b,c,d,e,f,g,h,j=this,k=j.getFromEnv('dataSource'),l=j._getDataset()[0],m=k.data||l&&l[0]&&l[0].data,n=l.components.data,o=n&&n.length,p=j.getChildren('yAxis')[0],q=0,r=q,s=[];for(a=0;a<o;a++)b=n[a].config,c=b.setValue,k=n[a],k||(k=n[a]={graphics:{}}),b.isDefined||(c=b.plotValue),c=pluck(b.plotValue,c),b.plotY=toPrecision(p.getPixel(b.setValue),2),b.graphY=c&&toPrecision(p.getPixel(c),2),b.plotX=r,b.isShift?(q+=1,r=q,m&&s.push(m[a])):a===o-1&&m&&s.push(m[a]),a&&(h=n[a-1].config,d=b&&b.objParams&&b.objParams.isRally,e=b&&b.objParams&&b.objParams.lastHigh,f=b&&b.objParams&&b.objParams.lastLow,g=b&&b.objParams&&b.objParams.isRallyInitialised,h&&g&&h.isRally!==b.isRally?(b.isChanged=!0,b.ty=toPrecision(p.getPixel(d?e:f),2)):b.isChanged=!1)}getDSdef(){return KagiDataset}}export default Kagi;