@fusioncharts/widgets
Version:
FusionCharts JavaScript charting framework
1 lines • 6.46 kB
JavaScript
"use strict";var _interopRequireDefault=require("@babel/runtime/helpers/interopRequireDefault");exports.__esModule=true;exports.default=void 0;var _inheritsLoose2=_interopRequireDefault(require("@babel/runtime/helpers/inheritsLoose"));var _canvas=_interopRequireDefault(require("@fusioncharts/charts/src/_internal/components/canvases/canvas"));var _lib=require("@fusioncharts/core/src/lib");var MAX_MITER_LINEJOIN=2;var CanvasGantt=function(_Canvas){function CanvasGantt(){return _Canvas.apply(this,arguments)||this}(0,_inheritsLoose2.default)(CanvasGantt,_Canvas);var _proto=CanvasGantt.prototype;_proto.createGroup=function createGroup(){_Canvas.prototype.createGroup.call(this);var chart=this.getFromEnv("chart"),chartConfig=chart.config,inCanStyle=chartConfig.style.inCanvasStyle,animationManager=this.getFromEnv("animationManager"),canvas=this,plotGroup=chart.getChildContainer("plotGroup"),labelStyle;!this.getChildContainer("taskGroup")&&this.addChildContainer("taskGroup",animationManager.setAnimation({el:"group",attr:{name:"task"},container:plotGroup,component:canvas}));!this.getChildContainer("connectorGroup")&&this.addChildContainer("connectorGroup",animationManager.setAnimation({el:"group",attr:{name:"connector"},container:plotGroup,component:canvas}));!this.getChildContainer("milestoneGroup")&&this.addChildContainer("milestoneGroup",animationManager.setAnimation({el:"group",attr:{name:"milestone"},container:plotGroup,component:canvas}));labelStyle=chartConfig.milestoneLabelStyle={fontSize:(0,_lib.pluckNumber)(chartConfig.milestonefontsize,this.computeFontSize(inCanStyle.fontSizeWithUnit))+"px",fontFamily:(0,_lib.pluck)(chartConfig.milestonefont,inCanStyle.fontFamily),fontWeight:(0,_lib.pluckNumber)(chartConfig.milestonefontbold,0)&&"bold"||"normal",fontStyle:(0,_lib.pluckNumber)(chartConfig.milestonefontitalic,0)&&"italic"||"normal"};(0,_lib.setLineHeight)(labelStyle);this.getChildContainer("milestoneGroup").css(labelStyle)};_proto.draw=function draw(){_Canvas.prototype.draw.call(this);this.setClipping()};_proto.setClipping=function setClipping(){var chart=this.getFromEnv("chart"),config=chart.config,taskGroup=this.getChildContainer("taskGroup"),connectorGroup=this.getChildContainer("connectorGroup"),childContainer=chart.getChildContainer(),datasetLayer=childContainer.plotGroup,dataLabelsLayer=childContainer.datalabelsGroup,trackerLayer=childContainer.trackerGroup,viewPortConfig=config.viewPortConfig,scaleX=viewPortConfig.scaleX,xOffset,x=viewPortConfig.x,animationManager=this.getFromEnv("animationManager"),clipCanvas=chart.getChildren("canvas")[0].config.clip["clip-canvas"].slice(0);animationManager.setAnimation({el:datasetLayer,attr:{"clip-rect":clipCanvas},state:!chart.config.clipSet?"appearing":"updating",component:this});animationManager.setAnimation({el:dataLabelsLayer,attr:{"clip-rect":clipCanvas},state:!chart.config.clipSet?"appearing":"updating",component:this});animationManager.setAnimation({el:trackerLayer,attr:{"clip-rect":clipCanvas},state:!chart.config.clipSet?"appearing":"updating",component:this});config.xOffset=xOffset=x*scaleX;animationManager.setAnimation({el:datasetLayer,attr:{transform:"T"+-xOffset+",0"},component:this});animationManager.setAnimation({el:taskGroup,attr:{transform:"T"+-xOffset+",0"},component:this});animationManager.setAnimation({el:connectorGroup,attr:{transform:"T"+-xOffset+",0"},component:this});animationManager.setAnimation({el:dataLabelsLayer,attr:{transform:"T"+-xOffset+",0"},component:this});animationManager.setAnimation({el:trackerLayer,attr:{transform:"T"+-xOffset+",0"},component:this});chart.config.clipSet=true};_proto.drawCanvas=function drawCanvas(){var canvas=this,iapi=canvas.getFromEnv("chart"),jsonData=iapi.getFromEnv("dataSource"),chartAttrs=jsonData.chart,chartConfig=iapi.config,animationManager=canvas.getFromEnv("animationManager"),config=canvas.config,clip=config.clip={},canvasBorderElementDummy=canvas.getGraphicalElement("canvasBorderElement"),canvasBorderElement,canvasElementDummy=canvas.getGraphicalElement("canvasElement"),canvasElement,canvasLeft=chartConfig.actualCanvasLeft,canvasTop=chartConfig.actualCanvasTop,actualCanvasWidth=chartConfig.canvasWidth,actualCanvasHeight=chartConfig.canvasHeight,actualCanvasLeft=chartConfig.canvasLeft,actualCanvasTop=chartConfig.canvasTop,canvasWidth=chartConfig.canvasWidth+chartConfig.totalWidth,canvasHeight=chartConfig.canvasHeight+chartConfig.totalHeight,canvasGroup=canvas.getContainer("canvasGroup"),canvasBorderRadius=config.canvasBorderRadius,canvasBorderWidth=config.canvasBorderWidth,borderWHlf=canvasBorderWidth*.5,canvasBorderColor=config.canvasBorderColor,canBGColor=config.canBGColor,shadow=config.shadow,canvasBgColor,attr,showCanvasBg=config.showCanvasBG=Boolean((0,_lib.pluckNumber)(chartAttrs.showcanvasbg,1)),shadowOnCanvasFill=config.shadowOnCanvasFill,showCanvasBorder=config.showCanvasBorder;canvasBgColor=canBGColor;attr={x:canvasLeft-borderWHlf,y:canvasTop-borderWHlf,width:canvasWidth+canvasBorderWidth,height:canvasHeight+canvasBorderWidth,r:canvasBorderRadius,"stroke-width":canvasBorderWidth,stroke:canvasBorderColor,"stroke-linejoin":canvasBorderWidth>MAX_MITER_LINEJOIN?"round":"miter"};if(showCanvasBorder){canvasBorderElement=animationManager.setAnimation({el:canvasBorderElementDummy||"rect",attr:attr,container:canvasGroup,component:canvas});if(!canvasBorderElementDummy){canvasBorderElement=canvas.addGraphicalElement("canvasBorderElement",canvasBorderElement)}else{canvasBorderElement.show()}canvasBorderElement.shadow(shadow)}else{canvasBorderElementDummy&&canvasBorderElementDummy.hide()}clip["clip-canvas"]=[Math.max(0,actualCanvasLeft),Math.max(0,actualCanvasTop),Math.max(1,actualCanvasWidth),Math.max(1,actualCanvasHeight)];clip["clip-canvas-init"]=[Math.max(0,actualCanvasLeft),Math.max(0,actualCanvasTop),1,Math.max(1,actualCanvasHeight)];if(showCanvasBg){attr={x:canvasLeft,y:canvasTop,width:canvasWidth,height:canvasHeight,r:canvasBorderRadius,"stroke-width":0,stroke:"none",fill:(0,_lib.toRaphaelColor)(canvasBgColor)};canvasElement=animationManager.setAnimation({el:canvasElementDummy||"rect",attr:attr,component:canvas,container:canvasGroup});if(!canvasElementDummy){canvasElement=canvas.addGraphicalElement("canvasElement",canvasElement)}else{canvasElement.show()}canvasElement.shadow(shadowOnCanvasFill)}else{canvasElementDummy&&canvasElementDummy.hide()}};return CanvasGantt}(_canvas.default);var _default=exports.default=CanvasGantt;