diff --git a/app/coffee/modules/backlog/main.coffee b/app/coffee/modules/backlog/main.coffee index 789d2c59..26685d89 100644 --- a/app/coffee/modules/backlog/main.coffee +++ b/app/coffee/modules/backlog/main.coffee @@ -159,6 +159,9 @@ class BacklogController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.F @scope.sprints = sprints @scope.openSprints = _.filter(sprints, (sprint) => not sprint.closed) @scope.closedSprints = _.filter(sprints, (sprint) => sprint.closed) + if not @excludeClosedSprints + @scope.totalClosedMilestones = @scope.closedSprints.length + @scope.sprintsCounter = sprints.length @scope.sprintsById = groupBy(sprints, (x) -> x.id) @rootscope.$broadcast("sprints:loaded", sprints) @@ -213,6 +216,7 @@ class BacklogController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.F return @rs.projects.getBySlug(@params.pslug).then (project) => @scope.projectId = project.id @scope.project = project + @scope.totalClosedMilestones = project.total_closed_milestones @scope.$emit('project:loaded', project) @scope.points = _.sortBy(project.points, "order") @scope.pointsById = groupBy(project.points, (x) -> x.id) diff --git a/app/coffee/modules/backlog/sortable.coffee b/app/coffee/modules/backlog/sortable.coffee index 8e2794ca..7554a9f9 100644 --- a/app/coffee/modules/backlog/sortable.coffee +++ b/app/coffee/modules/backlog/sortable.coffee @@ -54,7 +54,7 @@ BacklogSortableDirective = ($repo, $rs, $rootscope, $tgConfirm) -> $tgConfirm.notify("error", "You can't drop on backlog when filters are open") #TODO: i18n $el.sortable({ - connectWith: ".sprint-table" + connectWith: ".sprint" containment: ".wrapper" dropOnEmpty: true placeholder: "row us-item-row us-item-drag sortable-placeholder" @@ -158,7 +158,8 @@ SprintSortableDirective = ($repo, $rs, $rootscope) -> $el.sortable({ scroll: true dropOnEmpty: true - connectWith: ".sprint-table,.backlog-table-body,.empty-backlog" + items: ".sprint-table .milestone-us-item-row", + connectWith: ".sprint,.backlog-table-body,.empty-backlog" }) $el.on "multiplesortreceive", (event, ui) -> diff --git a/app/partials/views/modules/sprint.jade b/app/partials/views/modules/sprint.jade index 95979f31..ab3f19f6 100644 --- a/app/partials/views/modules/sprint.jade +++ b/app/partials/views/modules/sprint.jade @@ -2,7 +2,7 @@ header(tg-backlog-sprint-header, ng-model="sprint") div.sprint-progress-bar(tg-progress-bar="100 * sprint.closed_points / sprint.total_points") -div.sprint-table(tg-sprint-sortable) +div.sprint-table div.row.milestone-us-item-row(ng-repeat="us in sprint.user_stories track by us.id") div.column-us a.us-name.clickable(tg-nav="project-userstories-detail:project=project.slug,ref=us.ref", diff --git a/app/partials/views/modules/sprints.jade b/app/partials/views/modules/sprints.jade index 1b0493f1..ac57261b 100644 --- a/app/partials/views/modules/sprints.jade +++ b/app/partials/views/modules/sprints.jade @@ -12,13 +12,13 @@ section.sprints tg-check-permission="add_milestone") span.text + New sprint - div.sprint.sprint-open(ng-repeat="sprint in openSprints track by sprint.id" tg-backlog-sprint="sprint") + div.sprint.sprint-open(ng-repeat="sprint in openSprints track by sprint.id", tg-backlog-sprint="sprint", tg-sprint-sortable) include sprint - a.filter-closed-sprints(href="", ng-show="project.total_closed_milestones") + a.filter-closed-sprints(href="", ng-show="totalClosedMilestones") span.icon.icon-archive span(tg-backlog-toggle-closed-sprints-visualization="ctrl.excludeClosedSprints") Show closed sprints span.load - div.sprint.sprint-closed(ng-repeat="sprint in closedSprints track by sprint.id" tg-backlog-sprint="sprint") + div.sprint.sprint-closed(ng-repeat="sprint in closedSprints track by sprint.id" tg-backlog-sprint="sprint", tg-sprint-sortable) include sprint