Refactored the delete button

stable
Jesús Espino 2014-10-21 09:36:14 +02:00 committed by David Barragán Merino
parent b308f6f4eb
commit c4c439d305
4 changed files with 17 additions and 19 deletions

View File

@ -395,18 +395,11 @@ module.directive("tgBlockButton", ["$rootScope", "$tgLoading", BlockButtonDirect
#############################################################################
DeleteButtonDirective = ($repo, $confirm, $navurls, $location) ->
template = _.template("""
template = """
<a href="" class="button button-red">Delete</a>
""")
"""
link = ($scope, $el, $attrs, $model) ->
render = _.once (item) ->
$el.html(template())
$scope.$watch $attrs.ngModel, (item) ->
return if not item
render(item)
$scope.$on "$destroy", ->
$el.off()
@ -419,7 +412,8 @@ DeleteButtonDirective = ($repo, $confirm, $navurls, $location) ->
promise = $repo.remove($model.$modelValue)
promise.then =>
finish()
$location.path($navurls.resolve($attrs.onDeleteGoToUrl, {project: $attrs.projectSlug}))
url = $navurls.resolve($attrs.onDeleteGoToUrl, {project: $attrs.projectSlug})
$location.path(url)
promise.then null, =>
finish(false)
$confirm.notify("error")
@ -428,6 +422,7 @@ DeleteButtonDirective = ($repo, $confirm, $navurls, $location) ->
link: link
restrict: "EA"
require: "ngModel"
template: template
}
module.directive("tgDeleteButton", ["$tgRepo", "$tgConfirm", "$tgNavUrls", "$tgLocation", DeleteButtonDirective])

View File

@ -55,9 +55,10 @@ block content
section.us-detail-settings
tg-promote-issue-to-us-button(tg-check-permission="add_us", ng-model="issue")
div(tg-check-permission="modify_issue", tg-block-button, ng-model="issue")
div(tg-check-permission="delete_issue", tg-delete-button,
tg-delete-button(tg-check-permission="delete_issue",
on-delete-go-to-url="project-issues",
project-slug="{{ project.slug }}" ng-model="issue")
project-slug="{{ project.slug }}",
ng-model="issue")
div.lightbox.lightbox-block.hidden(tg-lb-block, title="Blocking issue", ng-model="issue")
div.lightbox.lightbox-select-user(tg-lb-assignedto)

View File

@ -54,9 +54,10 @@ block content
section.us-detail-settings
fieldset(tg-task-is-iocaine-button, tg-check-permission="modify_task", ng-model="task")
div(tg-check-permission="modify_task", tg-block-button, ng-model="task")
div(tg-check-permission="delete_task", tg-delete-button,
tg-delete-button(tg-check-permission="delete_task",
on-delete-go-to-url="project-backlog",
project-slug="{{ project.slug }}" ng-model="task")
project-slug="{{ project.slug }}",
ng-model="task")
div.lightbox.lightbox-block.hidden(tg-lb-block, title="Blocking task", ng-model="task")
div.lightbox.lightbox-select-user(tg-lb-assignedto)

View File

@ -61,9 +61,10 @@ block content
tg-us-team-requirement-button(ng-model="us")
tg-us-client-requirement-button(ng-model="us")
div(tg-check-permission="modify_us", tg-block-button, ng-model="us")
div(tg-check-permission="delete_us", tg-delete-button,
tg-delete-button(tg-check-permission="delete_us",
on-delete-go-to-url="project-backlog",
project-slug="{{ project.slug }}" ng-model="us")
project-slug="{{ project.slug }}",
ng-model="us")
div.lightbox.lightbox-block.hidden(tg-lb-block, title="Blocking us", ng-model="us")
div.lightbox.lightbox-select-user.hidden(tg-lb-assignedto)