Adding stats visualization to backlog
parent
41ad8e731d
commit
8f2835cebf
|
@ -31,6 +31,22 @@ class BacklogController extends mixOf(taiga.Controller, taiga.PageMixin)
|
||||||
|
|
||||||
@rootscope.$on("usform:bulk:success", @.loadUserstories)
|
@rootscope.$on("usform:bulk:success", @.loadUserstories)
|
||||||
|
|
||||||
|
initializeProjectStats: ->
|
||||||
|
@scope.stats = {
|
||||||
|
total_points: "--"
|
||||||
|
defined_points: "--"
|
||||||
|
assigned_points: "--"
|
||||||
|
closed_points: "--"
|
||||||
|
completedPercentage: "--%"
|
||||||
|
}
|
||||||
|
|
||||||
|
loadProjectStats: ->
|
||||||
|
return @rs.projects.stats(@scope.projectId).then (stats) =>
|
||||||
|
@scope.stats = stats
|
||||||
|
completedPercentage = Math.round(100 * stats.closed_points / stats.total_points)
|
||||||
|
@scope.stats.completedPercentage = "#{completedPercentage}%"
|
||||||
|
return stats
|
||||||
|
|
||||||
loadSprints: ->
|
loadSprints: ->
|
||||||
return @rs.sprints.list(@scope.projectId).then (sprints) =>
|
return @rs.sprints.list(@scope.projectId).then (sprints) =>
|
||||||
@scope.sprints = sprints
|
@scope.sprints = sprints
|
||||||
|
@ -46,6 +62,7 @@ class BacklogController extends mixOf(taiga.Controller, taiga.PageMixin)
|
||||||
|
|
||||||
loadBacklog: ->
|
loadBacklog: ->
|
||||||
return @q.all([
|
return @q.all([
|
||||||
|
@.loadProjectStats(),
|
||||||
@.loadSprints(),
|
@.loadSprints(),
|
||||||
@.loadUserstories()
|
@.loadUserstories()
|
||||||
])
|
])
|
||||||
|
@ -58,6 +75,9 @@ class BacklogController extends mixOf(taiga.Controller, taiga.PageMixin)
|
||||||
return project
|
return project
|
||||||
|
|
||||||
loadInitialData: ->
|
loadInitialData: ->
|
||||||
|
# Set stats initial values
|
||||||
|
@.initializeProjectStats()
|
||||||
|
|
||||||
# Resolve project slug
|
# Resolve project slug
|
||||||
promise = @repo.resolve({pslug: @params.pslug}).then (data) =>
|
promise = @repo.resolve({pslug: @params.pslug}).then (data) =>
|
||||||
@scope.projectId = data.project
|
@scope.projectId = data.project
|
||||||
|
|
|
@ -39,10 +39,12 @@ resourceProvider = ($repo) ->
|
||||||
params = {"project": projectId}
|
params = {"project": projectId}
|
||||||
return $repo.queryMany("roles", params)
|
return $repo.queryMany("roles", params)
|
||||||
|
|
||||||
|
service.stats = (projectId) ->
|
||||||
|
return $repo.queryOneRaw("projects", "#{projectId}/stats")
|
||||||
|
|
||||||
return (instance) ->
|
return (instance) ->
|
||||||
instance.projects = service
|
instance.projects = service
|
||||||
|
|
||||||
|
|
||||||
module = angular.module("taigaResources")
|
module = angular.module("taigaResources")
|
||||||
module.factory("$tgProjectsResourcesProvider", ["$tgRepo", resourceProvider])
|
module.factory("$tgProjectsResourcesProvider", ["$tgRepo", resourceProvider])
|
||||||
|
|
||||||
|
|
|
@ -2,18 +2,18 @@ div.summary(tg-backlog-summary)
|
||||||
div.summary-progress-bar
|
div.summary-progress-bar
|
||||||
div.current-progress
|
div.current-progress
|
||||||
div.data
|
div.data
|
||||||
span.number 30%
|
span.number(ng-bind="stats.completedPercentage")
|
||||||
span.description completed
|
span.description completed
|
||||||
ul
|
ul
|
||||||
li
|
li
|
||||||
span.number 12
|
span.number(ng-bind="stats.total_points")
|
||||||
span.description project<br />points
|
span.description project<br />points
|
||||||
li
|
li
|
||||||
span.number 23
|
span.number(ng-bind="stats.defined_points")
|
||||||
span.description defined<br />points
|
span.description defined<br />points
|
||||||
li
|
li
|
||||||
span.number 12
|
span.number(ng-bind="stats.assigned_points")
|
||||||
span.description assigned<br />points
|
span.description assigned<br />points
|
||||||
li
|
li
|
||||||
span.number 23
|
span.number(ng-bind="stats.closed_points")
|
||||||
span.description closed<br />points
|
span.description closed<br />points
|
||||||
|
|
Loading…
Reference in New Issue