From 7c70ef8218a593d1fc9f6cdd845b753047a82457 Mon Sep 17 00:00:00 2001 From: Rubik-W Date: Thu, 16 Apr 2020 15:07:13 +0800 Subject: [PATCH] fix: Gantt chart bug --- .../pages/instance/pages/gantt/_source/gantt.js | 14 +++++++++----- 1 file changed, 9 insertions(+), 5 deletions(-) diff --git a/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/instance/pages/gantt/_source/gantt.js b/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/instance/pages/gantt/_source/gantt.js index a5fdc96023..e808c94627 100644 --- a/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/instance/pages/gantt/_source/gantt.js +++ b/dolphinscheduler-ui/src/js/conf/home/pages/projects/pages/instance/pages/gantt/_source/gantt.js @@ -24,7 +24,7 @@ let Gantt = function () { this.tasks = [] this.width = null this.height = null - this.tasksName = [] + this.taskNames = [] this.tickFormat = `%H:%M:%S` this.margin = { top: 10, @@ -39,8 +39,12 @@ let Gantt = function () { Gantt.prototype.init = function ({ el, tasks }) { this.el = el this.tasks = tasks - this.tasksName = _.map(_.cloneDeep(tasks), v => v.taskName) - this.height = parseInt(this.tasksName.length * 30) + this.taskNames = _.map(_.cloneDeep(tasks), v => v.taskName) + this.taskNames = this.taskNames.reduce(function (prev, cur) { + prev.indexOf(cur) === -1 && prev.push(cur); + return prev; + },[]) + this.height = parseInt(this.taskNames.length * 30) this.width = $(this.el).width() - this.margin.right - this.margin.left - 5 this.x = d3.time.scale() @@ -49,7 +53,7 @@ Gantt.prototype.init = function ({ el, tasks }) { .clamp(true) this.y = d3.scale.ordinal() - .domain(this.tasksName) + .domain(this.taskNames) .rangeRoundBands([ 0, this.height - this.margin.top - this.margin.bottom ], 0.1) this.xAxis = d3.svg.axis() @@ -98,7 +102,7 @@ Gantt.prototype.initializeXAxis = function () { .clamp(true) this.y = d3.scale.ordinal() - .domain(this.tasksName) + .domain(this.taskNames) .rangeRoundBands([ 0, this.height - this.margin.top - this.margin.bottom ], 0.1) this.xAxis = d3.svg.axis()