Merge pull request #255 from taigaio/issue/1877/drag-from-backlog-to-sprint-using-the-entire-box

When dragging a User Story to a Sprint, use the entire Sprint box to accept drag
stable
Jesús Espino 2015-01-22 12:40:53 +01:00
commit 5b8da33b79
4 changed files with 11 additions and 6 deletions

View File

@ -159,6 +159,9 @@ class BacklogController extends mixOf(taiga.Controller, taiga.PageMixin, taiga.F
@scope.sprints = sprints @scope.sprints = sprints
@scope.openSprints = _.filter(sprints, (sprint) => not sprint.closed).reverse() @scope.openSprints = _.filter(sprints, (sprint) => not sprint.closed).reverse()
@scope.closedSprints = _.filter(sprints, (sprint) => sprint.closed) @scope.closedSprints = _.filter(sprints, (sprint) => sprint.closed)
if not @excludeClosedSprints
@scope.totalClosedMilestones = @scope.closedSprints.length
@scope.sprintsCounter = sprints.length @scope.sprintsCounter = sprints.length
@scope.sprintsById = groupBy(sprints, (x) -> x.id) @scope.sprintsById = groupBy(sprints, (x) -> x.id)
@rootscope.$broadcast("sprints:loaded", sprints) @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) => return @rs.projects.getBySlug(@params.pslug).then (project) =>
@scope.projectId = project.id @scope.projectId = project.id
@scope.project = project @scope.project = project
@scope.totalClosedMilestones = project.total_closed_milestones
@scope.$emit('project:loaded', project) @scope.$emit('project:loaded', project)
@scope.points = _.sortBy(project.points, "order") @scope.points = _.sortBy(project.points, "order")
@scope.pointsById = groupBy(project.points, (x) -> x.id) @scope.pointsById = groupBy(project.points, (x) -> x.id)

View File

@ -54,7 +54,7 @@ BacklogSortableDirective = ($repo, $rs, $rootscope, $tgConfirm) ->
$tgConfirm.notify("error", "You can't drop on backlog when filters are open") #TODO: i18n $tgConfirm.notify("error", "You can't drop on backlog when filters are open") #TODO: i18n
$el.sortable({ $el.sortable({
connectWith: ".sprint-table" connectWith: ".sprint"
containment: ".wrapper" containment: ".wrapper"
dropOnEmpty: true dropOnEmpty: true
placeholder: "row us-item-row us-item-drag sortable-placeholder" placeholder: "row us-item-row us-item-drag sortable-placeholder"
@ -158,7 +158,8 @@ SprintSortableDirective = ($repo, $rs, $rootscope) ->
$el.sortable({ $el.sortable({
scroll: true scroll: true
dropOnEmpty: 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) -> $el.on "multiplesortreceive", (event, ui) ->

View File

@ -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-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.row.milestone-us-item-row(ng-repeat="us in sprint.user_stories track by us.id")
div.column-us div.column-us
a.us-name.clickable(tg-nav="project-userstories-detail:project=project.slug,ref=us.ref", a.us-name.clickable(tg-nav="project-userstories-detail:project=project.slug,ref=us.ref",

View File

@ -12,13 +12,13 @@ section.sprints
tg-check-permission="add_milestone") tg-check-permission="add_milestone")
span.text + New sprint 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 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.icon.icon-archive
span(tg-backlog-toggle-closed-sprints-visualization="ctrl.excludeClosedSprints") Show closed sprints span(tg-backlog-toggle-closed-sprints-visualization="ctrl.excludeClosedSprints") Show closed sprints
span.load 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 include sprint