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) -> DeleteButtonDirective = ($repo, $confirm, $navurls, $location) ->
template = _.template(""" template = """
<a href="" class="button button-red">Delete</a> <a href="" class="button button-red">Delete</a>
""") """
link = ($scope, $el, $attrs, $model) -> 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", -> $scope.$on "$destroy", ->
$el.off() $el.off()
@ -419,7 +412,8 @@ DeleteButtonDirective = ($repo, $confirm, $navurls, $location) ->
promise = $repo.remove($model.$modelValue) promise = $repo.remove($model.$modelValue)
promise.then => promise.then =>
finish() finish()
$location.path($navurls.resolve($attrs.onDeleteGoToUrl, {project: $attrs.projectSlug})) url = $navurls.resolve($attrs.onDeleteGoToUrl, {project: $attrs.projectSlug})
$location.path(url)
promise.then null, => promise.then null, =>
finish(false) finish(false)
$confirm.notify("error") $confirm.notify("error")
@ -428,6 +422,7 @@ DeleteButtonDirective = ($repo, $confirm, $navurls, $location) ->
link: link link: link
restrict: "EA" restrict: "EA"
require: "ngModel" require: "ngModel"
template: template
} }
module.directive("tgDeleteButton", ["$tgRepo", "$tgConfirm", "$tgNavUrls", "$tgLocation", DeleteButtonDirective]) module.directive("tgDeleteButton", ["$tgRepo", "$tgConfirm", "$tgNavUrls", "$tgLocation", DeleteButtonDirective])

View File

@ -55,9 +55,10 @@ block content
section.us-detail-settings section.us-detail-settings
tg-promote-issue-to-us-button(tg-check-permission="add_us", ng-model="issue") 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="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", 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-block.hidden(tg-lb-block, title="Blocking issue", ng-model="issue")
div.lightbox.lightbox-select-user(tg-lb-assignedto) div.lightbox.lightbox-select-user(tg-lb-assignedto)

View File

@ -54,9 +54,10 @@ block content
section.us-detail-settings section.us-detail-settings
fieldset(tg-task-is-iocaine-button, tg-check-permission="modify_task", ng-model="task") 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="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", 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-block.hidden(tg-lb-block, title="Blocking task", ng-model="task")
div.lightbox.lightbox-select-user(tg-lb-assignedto) 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-team-requirement-button(ng-model="us")
tg-us-client-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="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", 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-block.hidden(tg-lb-block, title="Blocking us", ng-model="us")
div.lightbox.lightbox-select-user.hidden(tg-lb-assignedto) div.lightbox.lightbox-select-user.hidden(tg-lb-assignedto)