diff --git a/app/coffee/modules/backlog/main.coffee b/app/coffee/modules/backlog/main.coffee index 3092f27a..2c622baa 100644 --- a/app/coffee/modules/backlog/main.coffee +++ b/app/coffee/modules/backlog/main.coffee @@ -91,6 +91,8 @@ class BacklogController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.F @scope.$on("sprintform:remove:success", @.loadUserstories) @scope.$on("usform:new:success", @.loadUserstories) @scope.$on("usform:edit:success", @.loadUserstories) + @scope.$on("usform:new:success", @.loadProjectStats) + @scope.$on("usform:bulk:success", @.loadProjectStats) @scope.$on("sprint:us:move", @.moveUs) @scope.$on("sprint:us:moved", @.loadSprints) @scope.$on("sprint:us:moved", @.loadProjectStats) @@ -976,22 +978,40 @@ module.directive("tgGmBacklogGraph", tgBacklogGraphDirective) TgBacklogProgressBarDirective = -> template = _.template(""" -
- - - + + + """) - render = (el, percentage) -> - el.html(template({percentage: percentage})) + render = (el, projectPointsPercentaje, closedPointsPercentaje) -> + el.html(template({ + projectPointsPercentaje: projectPointsPercentaje, + closedPointsPercentaje:closedPointsPercentaje + })) + + adjustPercentaje = (percentage) -> + adjusted = _.max([0 , percentage]) + adjusted = _.min([100, adjusted]) + return Math.round(adjusted) link = ($scope, $el, $attrs) -> element = angular.element($el) - $scope.$watch $attrs.tgBacklogProgressBar, (percentage) -> - percentage = _.max([0 , percentage]) - percentage = _.min([100, percentage]) - render($el, percentage) + $scope.$watch $attrs.tgBacklogProgressBar, (stats) -> + if stats? + totalPoints = stats.total_points + definedPoints = stats.defined_points + closedPoints = stats.closed_points + if definedPoints > totalPoints + projectPointsPercentaje = totalPoints * 100 / definedPoints + closedPointsPercentaje = closedPoints * 100 / definedPoints + else + projectPointsPercentaje = 100 + closedPointsPercentaje = closedPoints * 100 / totalPoints + + projectPointsPercentaje = adjustPercentaje(projectPointsPercentaje) + closedPointsPercentaje = adjustPercentaje(closedPointsPercentaje) + render($el, projectPointsPercentaje, closedPointsPercentaje) $scope.$on "$destroy", -> $el.off() diff --git a/app/partials/views/components/summary.jade b/app/partials/views/components/summary.jade index f7cef2f4..b4c606d6 100644 --- a/app/partials/views/components/summary.jade +++ b/app/partials/views/components/summary.jade @@ -1,6 +1,6 @@ div.summary - div.summary-progress-bar(tg-backlog-progress-bar="stats.completedPercentage") - div.current-progress(style="width: {{stats.completedPercentage}}") + div.summary-progress-bar(tg-backlog-progress-bar="stats") + div.data span.number(tg-bind-html="stats.completedPercentage + '%'") ul diff --git a/app/styles/components/summary.scss b/app/styles/components/summary.scss index a00dd536..b6b556b2 100644 --- a/app/styles/components/summary.scss +++ b/app/styles/components/summary.scss @@ -59,6 +59,22 @@ height: 24px; width: calc(30% - 4px); } + .defined-points{ + width: 100%; + background: red; + height: 24px; + position: absolute; + } + .project-points-progress{ + background: gray; + height: 24px; + position: absolute; + } + .closed-points-progress{ + height: 24px; + position: absolute; + background: green; + } }