diff --git a/app/coffee/modules/backlog/lightboxes.coffee b/app/coffee/modules/backlog/lightboxes.coffee index 6e129ec8..a0151a20 100644 --- a/app/coffee/modules/backlog/lightboxes.coffee +++ b/app/coffee/modules/backlog/lightboxes.coffee @@ -19,7 +19,7 @@ # File: modules/backlog/lightboxes.coffee ### -CreateEditUserstoryDirective = ($repo, $model, $rs) -> +CreateEditUserstoryDirective = ($repo, $model, $rs, $rootScope) -> editDescription = ($scope, $el) -> $el.find('.markdown-preview a').removeClass("active") @@ -40,7 +40,6 @@ CreateEditUserstoryDirective = ($repo, $model, $rs) -> descriptionPreviewDOM.show() link = ($scope, $el, attrs) -> - $ctrl = $el.closest("div.wrapper").controller() isNew = true $scope.$on "usform:new", -> @@ -96,12 +95,14 @@ CreateEditUserstoryDirective = ($repo, $model, $rs) -> event.preventDefault() if isNew promise = $repo.create("userstories", $scope.us) + broadcastEvent = "usform:new:success" else promise = $repo.save($scope.us) + broadcastEvent = "usform:edit:success" promise.then (data) -> $el.addClass("hidden") - $ctrl.loadUserstories() + $rootScope.$broadcast(broadcastEvent, data) $el.on "click", "label.blocked", (event) -> event.preventDefault() @@ -180,6 +181,6 @@ CreateSprint = ($repo, $rs, $rootscope) -> module = angular.module("taigaBacklog") -module.directive("tgLbCreateEditUserstory", ["$tgRepo", "$tgModel", "$tgResources", CreateEditUserstoryDirective]) +module.directive("tgLbCreateEditUserstory", ["$tgRepo", "$tgModel", "$tgResources", "$rootScope", CreateEditUserstoryDirective]) module.directive("tgLbCreateBulkUserstories", ["$tgRepo", "$tgResources", "$rootScope", CreateBulkUserstroriesDirective]) module.directive("tgLbCreateSprint", ["$tgRepo", "$tgResources", "$rootScope", CreateSprint]) diff --git a/app/coffee/modules/backlog/main.coffee b/app/coffee/modules/backlog/main.coffee index 3cf742ce..89ecf403 100644 --- a/app/coffee/modules/backlog/main.coffee +++ b/app/coffee/modules/backlog/main.coffee @@ -22,6 +22,8 @@ taiga = @.taiga mixOf = @.taiga.mixOf toggleText = @.taiga.toggleText +scopeDefer = @.taiga.scopeDefer +bindOnce = @.taiga.bindOnce class BacklogController extends mixOf(taiga.Controller, taiga.PageMixin) constructor: (@scope, @rootscope, @repo, @confirm, @rs, @params, @q) -> @@ -30,8 +32,10 @@ class BacklogController extends mixOf(taiga.Controller, taiga.PageMixin) promise.then null, => console.log "FAIL" - @rootscope.$on("usform:bulk:success", @.loadUserstories) - @rootscope.$on("sprintform:create:success", @.loadSprints) + @scope.$on("usform:bulk:success", @.loadUserstories) + @scope.$on("sprintform:create:success", @.loadSprints) + @scope.$on("usform:new:success", @.loadUserstories) + @scope.$on("usform:edit:success", @.loadUserstories) loadProjectStats: -> return @rs.projects.stats(@scope.projectId).then (stats) => @@ -51,6 +55,9 @@ class BacklogController extends mixOf(taiga.Controller, taiga.PageMixin) @scope.filters = @.generateFilters() @.filterVisibleUserstories() + scopeDefer @scope, => + @scope.$broadcast("userstories:loaded") + return userstories loadBacklog: -> @@ -132,6 +139,48 @@ class BacklogController extends mixOf(taiga.Controller, taiga.PageMixin) ############################################################################# BacklogDirective = ($repo) -> + ######################### + ## Doom line Link + ######################### + + linkDoomLine = ($scope, $el, $attrs, $ctrl) -> + + removeDoomlineDom = -> + $el.find(".doom-line").remove() + + addDoomLineDom = (element) -> + element?.before($( "