taiga-front/app/modules/home/home.directive.coffee

38 lines
1.5 KiB
CoffeeScript

HomeDirective = ($q, homeService, projectsService) ->
link = (scope, el, attrs, ctrl) ->
scope.vm = {}
projectsPromise = projectsService.getCurrentUserProjects()
workInProgresPromise = homeService.getWorkInProgress()
$q.all([projectsPromise, workInProgresPromise]).then ->
homeService.attachProjectInfoToWorkInProgress(projectsService.currentUserProjectsById)
taiga.defineImmutableProperty(scope.vm, "projects", () -> projectsService.currentUserProjects)
taiga.defineImmutableProperty(scope.vm, "workInProgress", () -> homeService.workInProgress)
if scope.vm.workInProgress.size > 0
userStories = scope.vm.workInProgress.get("assignedTo").get("userStories")
tasks = scope.vm.workInProgress.get("assignedTo").get("tasks")
issues = scope.vm.workInProgress.get("assignedTo").get("issues")
scope.vm.assignedTo = userStories.concat(tasks).concat(issues)
userStories = scope.vm.workInProgress.get("watching").get("userStories")
tasks = scope.vm.workInProgress.get("watching").get("tasks")
issues = scope.vm.workInProgress.get("watching").get("issues")
scope.vm.watching = userStories.concat(tasks).concat(issues)
return {
templateUrl: "home/home.html"
scope: {}
link: link
}
HomeDirective.$inject = [
"$q",
"tgHomeService",
"tgProjectsService"
]
angular.module("taigaHome").directive("tgHome", HomeDirective)